
void print_symbol_info_sysv(extended_symbol_info *info,bfd *abfd)

{
  uchar uVar1;
  int iVar2;
  uint uVar3;
  elf_symbol_type *peVar4;
  undefined4 uVar5;
  undefined4 *puVar6;
  bfd *abfd_00;
  int iVar7;
  uint uVar8;
  combined_entry_type *pcVar9;
  code *pcVar10;
  undefined1 *puVar11;
  undefined4 in_stack_ffffffec;
  
  puVar11 = &_gp;
  print_symname(PTR_DAT_0002a25c + -0x78b0,info->sinfo->name,abfd);
  iVar2 = (**(code **)(puVar11 + -0x7e28))((int)info->sinfo->type);
  if (iVar2 == 0) {
    print_value(*(bfd **)&info->sinfo->value,CONCAT44(puVar11,in_stack_ffffffec));
  }
  else if (*(int *)(*(int *)(puVar11 + -0x7fd8) + -0x5b78) == 0x20) {
    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a0);
  }
  else {
    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a8);
  }
  (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7894,(int)info->sinfo->type);
  if (info->sinfo->type == '-') {
    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7888,info->sinfo->stab_name);
    (**(code **)(puVar11 + -0x7e0c))
              (*(int *)(puVar11 + -0x7fd8) + -0x5ff0,(int)info->sinfo->stab_desc);
    goto LAB_0001458c;
  }
  if (info->elfinfo == (elf_symbol_type *)0x0) {
    if (info->coffinfo != (coff_symbol_type *)0x0) {
      pcVar9 = info->coffinfo->native;
      uVar1 = (pcVar9->u).syment.n_sclass;
      if (uVar1 == 'g') {
        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d0;
      }
      else if (uVar1 == 'h') {
        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78e0;
      }
      else if (uVar1 == 'd') {
        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d8;
      }
      else {
        uVar3 = (uint)(pcVar9->u).syment.n_type;
        uVar8 = (uVar3 << 0x1a) >> 0x1e;
        if (uVar3 == 0) {
          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c8;
        }
        else if (uVar8 == 2) {
          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78ec;
        }
        else if (uVar8 == 3) {
          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0;
        }
        else {
          iVar2 = *(int *)(puVar11 + -0x7fd8);
          if (uVar8 == 1) {
            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;
          }
          else {
            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));
            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);
            iVar7 = (**(code **)(puVar11 + -0x7ed8))
                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,
                               (pcVar9->u).syment.n_type);
            if (iVar7 < 0) goto LAB_00014800;
            iVar2 = *(int *)(iVar2 + -0x5b9c);
          }
        }
      }
      goto LAB_000145b8;
    }
    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x781c);
  }
  else {
    uVar8 = (info->elfinfo->internal_elf_sym).st_info & 0xf;
    if (uVar8 < 7) {
                    /* WARNING: Could not emulate address calculation at 0x00014468 */
                    /* WARNING: Treating indirect jump as call */
      (*(code *)(puVar11 + *(int *)(*(int *)(puVar11 + -0x7fc4) + -0x7498 + uVar8 * 4)))();
      return;
    }
    iVar2 = *(int *)(puVar11 + -0x7fd8);
    (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b98));
    if (uVar8 - 0xd < 3) {
      pcVar10 = *(code **)(puVar11 + -0x7e48);
      iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7878;
    }
    else {
      pcVar10 = *(code **)(puVar11 + -0x7e48);
      if (uVar8 - 10 < 3) {
        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x785c;
      }
      else {
        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7848;
      }
    }
    uVar5 = (*pcVar10)(0,iVar7,5);
    iVar7 = (**(code **)(puVar11 + -0x7ed8))(iVar2 + -0x5b98,uVar5,uVar8);
    if (iVar7 < 0) {
LAB_00014800:
      puVar6 = (undefined4 *)(**(code **)(puVar11 + -0x7ed4))();
      uVar5 = (**(code **)(puVar11 + -0x7f04))(*puVar6);
                    /* WARNING: Subroutine does not return */
      fatal((char *)(*(int *)(puVar11 + -0x7fc4) + -0x6f68),uVar5);
    }
    iVar2 = *(int *)(iVar2 + -0x5b98);
LAB_000145b8:
    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7838,iVar2);
  }
  peVar4 = info->elfinfo;
  if (peVar4 == (elf_symbol_type *)0x0) {
    abfd_00 = *(bfd **)&info->ssize;
    iVar2 = *(int *)(puVar11 + -0x7fd8);
    if (abfd_00 != (bfd *)0x0 || (int)info->ssize != 0) goto LAB_000145ec;
LAB_000146b4:
    if (*(int *)(iVar2 + -0x5b78) == 0x20) {
      (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a0);
      goto LAB_00014600;
    }
    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a8);
    peVar4 = info->elfinfo;
  }
  else {
    abfd_00 = *(bfd **)&(peVar4->internal_elf_sym).st_size;
    iVar2 = *(int *)(puVar11 + -0x7fd8);
    if (abfd_00 == (bfd *)0x0 && (int)(peVar4->internal_elf_sym).st_size == 0) goto LAB_000146b4;
LAB_000145ec:
    print_value(abfd_00,CONCAT44(puVar11,in_stack_ffffffec));
LAB_00014600:
    peVar4 = info->elfinfo;
  }
  if (peVar4 != (elf_symbol_type *)0x0) {
    (**(code **)(puVar11 + -0x7e0c))
              (*(int *)(puVar11 + -0x7fc4) + -0x7808,((peVar4->symbol).section)->name);
    return;
  }
  if (info->coffinfo != (coff_symbol_type *)0x0) {
    (**(code **)(puVar11 + -0x7e0c))
              (*(int *)(puVar11 + -0x7fc4) + -0x7808,((info->coffinfo->symbol).section)->name);
    return;
  }
LAB_0001458c:
  (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7880);
  return;
}



void FUN_0001438c(int *param_1,undefined4 param_2)

{
  char cVar1;
  int iVar2;
  undefined4 uVar3;
  undefined4 *puVar4;
  undefined *puVar5;
  undefined *puVar6;
  uint uVar7;
  
  FUN_00011fe4(PTR_DAT_0002a25c + -0x78b0,*(undefined4 *)(*param_1 + 0xc),param_2);
  iVar2 = (*(code *)PTR_bfd_is_undefined_symclass_0002a3f8)((int)*(char *)(*param_1 + 8));
  if (iVar2 == 0) {
    FUN_00013c08(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1]);
  }
  else if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {
    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);
  }
  else {
    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);
  }
  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7894,(int)*(char *)(*param_1 + 8));
  puVar6 = PTR_DAT_0002a248;
  if (*(char *)(*param_1 + 8) == '-') {
    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14));
    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12));
    goto LAB_0001458c;
  }
  if (param_1[4] == 0) {
    if (param_1[5] != 0) {
      iVar2 = *(int *)(param_1[5] + 0x20);
      cVar1 = *(char *)(iVar2 + 0x20);
      if (cVar1 == 'g') {
        puVar6 = PTR_DAT_0002a25c + -0x78d0;
      }
      else if (cVar1 == 'h') {
        puVar6 = PTR_DAT_0002a25c + -0x78e0;
      }
      else if (cVar1 == 'd') {
        puVar6 = PTR_DAT_0002a25c + -0x78d8;
      }
      else {
        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;
        if (*(ushort *)(iVar2 + 0x1e) == 0) {
          puVar6 = PTR_DAT_0002a25c + -0x78c8;
        }
        else if (uVar7 == 2) {
          puVar6 = PTR_DAT_0002a25c + -0x78ec;
        }
        else if (uVar7 == 3) {
          puVar6 = PTR_DAT_0002a25c + -0x78c0;
        }
        else if (uVar7 == 1) {
          puVar6 = PTR_DAT_0002a25c + -0x78b8;
        }
        else {
          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));
          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);
          iVar2 = (*(code *)PTR_asprintf_0002a348)
                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),
                             *(undefined2 *)(iVar2 + 0x1e));
          if (iVar2 < 0) goto LAB_00014800;
          puVar6 = *(undefined **)(puVar6 + -0x5b9c);
        }
      }
      goto LAB_000145b8;
    }
    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x781c);
  }
  else {
    uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf;
    if (uVar7 < 7) {
                    /* WARNING: Could not emulate address calculation at 0x00014468 */
                    /* WARNING: Treating indirect jump as call */
      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();
      return;
    }
    (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98));
    if (uVar7 - 0xd < 3) {
      puVar5 = PTR_DAT_0002a25c + -0x7878;
    }
    else if (uVar7 - 10 < 3) {
      puVar5 = PTR_DAT_0002a25c + -0x785c;
    }
    else {
      puVar5 = PTR_DAT_0002a25c + -0x7848;
    }
    uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5);
    iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7);
    if (iVar2 < 0) {
LAB_00014800:
      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();
      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);
                    /* WARNING: Subroutine does not return */
      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);
    }
    puVar6 = *(undefined **)(puVar6 + -0x5b98);
LAB_000145b8:
    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);
  }
  iVar2 = param_1[4];
  if (iVar2 == 0) {
    if (param_1[2] != 0 || param_1[3] != 0) goto LAB_000145ec;
LAB_000146b4:
    if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {
      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);
      goto LAB_00014600;
    }
    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);
    iVar2 = param_1[4];
  }
  else {
    if (*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0) goto LAB_000146b4;
LAB_000145ec:
    FUN_00013c08();
LAB_00014600:
    iVar2 = param_1[4];
  }
  if (iVar2 != 0) {
    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14));
    return;
  }
  if (param_1[5] != 0) {
    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14));
    return;
  }
LAB_0001458c:
  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7880);
  return;
}


lui gp,0x2
addiu gp,gp,-0x216c
addu gp,gp,t9
addiu sp,sp,-0x28
lw v0,0x0(a0)
lw t9,-0x7fcc(gp)
or a2,a1,zero
sw s0,0x18(sp)
or s0,a0,zero
sw gp,0x10(sp)
addiu t9,t9,0x1fe4
sw ra,0x24(sp)
sw s2,0x20(sp)
sw s1,0x1c(sp)
lw a0,-0x7fc4(gp)
lw a1,0xc(v0)
bal 0x00011fe4
_addiu a0,a0,-0x78b0
lw gp,0x10(sp)
lw v0,0x0(s0)
lw t9,-0x7e28(gp)
jalr t9
_lb a0,0x8(v0)
beq v0,zero,0x00014538
_lw gp,0x10(sp)
lw v1,-0x7fd8(gp)
li v0,0x20
lw v1,-0x5b78(v1)
beq v1,v0,0x0001447c
_lw t9,-0x7e0c(gp)
lw a0,-0x7fc4(gp)
jalr t9
_addiu a0,a0,-0x78a8
lw gp,0x10(sp)
lw v0,0x0(s0)
lw a0,-0x7fc4(gp)
lw t9,-0x7e0c(gp)
lb a1,0x8(v0)
jalr t9
_addiu a0,a0,-0x7894
li v1,0x2d
lw v0,0x0(s0)
lb a0,0x8(v0)
beq a0,v1,0x00014558
_lw gp,0x10(sp)
lw v0,0x10(s0)
beq v0,zero,0x00014490
_nop
lbu s1,0x34(v0)
andi s1,s1,0xf
sltiu v0,s1,0x7
beq v0,zero,0x0001473c
_lw v0,-0x7fc4(gp)
sll s1,s1,0x2
addiu v0,v0,-0x7498
addu s1,v0,s1
lw v0,0x0(s1)
addu v0,v0,gp
jr v0
_nop
lw a0,-0x7fc4(gp)
jalr t9
_addiu a0,a0,-0x78a0
b 0x00014414
_lw gp,0x10(sp)
lw v0,0x14(s0)
beq v0,zero,0x00014724
_li v1,0x67
lw s1,0x20(v0)
lbu v0,0x20(s1)
beq v0,v1,0x00014640
_li v1,0x68
beq v0,v1,0x000145b0
_li v1,0x64
beq v0,v1,0x00014638
_lw a1,-0x7fc4(gp)
lhu v0,0x1e(s1)
beq v0,zero,0x000147ac
_ext v0,v0,0x4,0x2
li v1,0x2
beq v0,v1,0x000147f4
_li v1,0x3
beq v0,v1,0x000147e8
_li v1,0x1
beq v0,v1,0x000147dc
_lw s2,-0x7fd8(gp)
lw t9,-0x7e2c(gp)
jalr t9
_lw a0,-0x5b9c(s2)
li a2,0x5
lw gp,0x10(sp)
or a0,zero,zero
lw a1,-0x7fc4(gp)
lw t9,-0x7e48(gp)
jalr t9
_addiu a1,a1,-0x7830
addiu a0,s2,-0x5b9c
lw gp,0x10(sp)
or a1,v0,zero
lhu a3,0x1e(s1)
lw t9,-0x7ed8(gp)
jalr t9
_lbu a2,0x20(s1)
bltz v0,0x00014800
_lw gp,0x10(sp)
b 0x000145b8
_lw a1,-0x5b9c(s2)
lw v0,0x0(s0)
lw t9,-0x7fcc(gp)
lw a1,0x4(v0)
addiu t9,t9,0x3c08
bal 0x00013c08
_lw a0,0x0(v0)
b 0x00014414
_lw gp,0x10(sp)
lw a0,-0x7fc4(gp)
lw t9,-0x7e0c(gp)
lw a1,0x14(v0)
jalr t9
_addiu a0,a0,-0x7888
lw gp,0x10(sp)
lw v0,0x0(s0)
lw a0,-0x7fd8(gp)
lw t9,-0x7e0c(gp)
lh a1,0x12(v0)
jalr t9
_addiu a0,a0,-0x5ff0
lw gp,0x10(sp)
lw a0,-0x7fc4(gp)
lw ra,0x24(sp)
lw s2,0x20(sp)
lw s1,0x1c(sp)
addiu a0,a0,-0x7880
lw s0,0x18(sp)
lw t9,-0x7e0c(gp)
jr t9
_addiu sp,sp,0x28
lw a1,-0x7fc4(gp)
addiu a1,a1,-0x78e0
lw a0,-0x7fc4(gp)
lw t9,-0x7e0c(gp)
jalr t9
_addiu a0,a0,-0x7838
lw gp,0x10(sp)
lw v0,0x10(s0)
beq v0,zero,0x000146a0
_nop
lw a0,0x28(v0)
lw a1,0x2c(v0)
or v0,a0,a1
beq v0,zero,0x000146b4
_lw v1,-0x7fd8(gp)
lw t9,-0x7fcc(gp)
addiu t9,t9,0x3c08
bal 0x00013c08
_nop
lw gp,0x10(sp)
lw v0,0x10(s0)
beq v0,zero,0x000146dc
_nop
lw v0,0x14(v0)
lw a0,-0x7fc4(gp)
lw ra,0x24(sp)
lw s2,0x20(sp)
lw s1,0x1c(sp)
addiu a0,a0,-0x7808
lw s0,0x18(sp)
lw a1,0x0(v0)
lw t9,-0x7e0c(gp)
jr t9
_addiu sp,sp,0x28
b 0x000145b8
_addiu a1,a1,-0x78d8
lw a1,-0x7fc4(gp)
b 0x000145b8
_addiu a1,a1,-0x78d0
lw a1,-0x7fc4(gp)
b 0x000145b8
_addiu a1,a1,-0x7920
lw a1,-0x7fc4(gp)
b 0x000145b8
_addiu a1,a1,-0x78f8
lw a1,-0x7fc4(gp)
b 0x000145b8
_addiu a1,a1,-0x7900
lw a1,-0x7fc4(gp)
b 0x000145b8
_addiu a1,a1,-0x7908
lw a1,-0x7fc4(gp)
b 0x000145b8
_addiu a1,a1,-0x7910
lw a1,-0x7fc4(gp)
b 0x000145b8
_addiu a1,a1,-0x7918
lw a1,-0x7fc4(gp)
b 0x000145b8
_addiu a1,a1,-0x78f4
lw a0,0x8(s0)
lw a1,0xc(s0)
or v0,a0,a1
bne v0,zero,0x000145ec
_lw v1,-0x7fd8(gp)
li v0,0x20
lw v1,-0x5b78(v1)
beq v1,v0,0x00014710
_lw t9,-0x7e0c(gp)
lw a0,-0x7fc4(gp)
jalr t9
_addiu a0,a0,-0x78a8
lw v0,0x10(s0)
bne v0,zero,0x0001460c
_lw gp,0x10(sp)
lw v0,0x14(s0)
beq v0,zero,0x0001458c
_lw ra,0x24(sp)
lw v0,0x14(v0)
lw a0,-0x7fc4(gp)
lw s2,0x20(sp)
lw s1,0x1c(sp)
addiu a0,a0,-0x7808
lw s0,0x18(sp)
lw a1,0x0(v0)
lw t9,-0x7e0c(gp)
jr t9
_addiu sp,sp,0x28
lw a0,-0x7fc4(gp)
jalr t9
_addiu a0,a0,-0x78a0
b 0x00014600
_lw gp,0x10(sp)
lw a0,-0x7fc4(gp)
lw t9,-0x7e0c(gp)
jalr t9
_addiu a0,a0,-0x781c
b 0x000145cc
_lw gp,0x10(sp)
lw s2,-0x7fd8(gp)
lw t9,-0x7e2c(gp)
jalr t9
_lw a0,-0x5b98(s2)
addiu v0,s1,-0xd
sltiu v0,v0,0x3
bne v0,zero,0x000147b8
_lw gp,0x10(sp)
addiu v0,s1,-0xa
lw t9,-0x7e48(gp)
li a2,0x5
sltiu v0,v0,0x3
beq v0,zero,0x000147d0
_or a0,zero,zero
lw a1,-0x7fc4(gp)
addiu a1,a1,-0x785c
jalr t9
_nop
addiu a0,s2,-0x5b98
lw gp,0x10(sp)
or a2,s1,zero
lw t9,-0x7ed8(gp)
jalr t9
_or a1,v0,zero
bltz v0,0x00014800
_lw gp,0x10(sp)
b 0x000145b8
_lw a1,-0x5b98(s2)
lw a1,-0x7fc4(gp)
b 0x000145b8
_addiu a1,a1,-0x78c8
lw a1,-0x7fc4(gp)
li a2,0x5
lw t9,-0x7e48(gp)
or a0,zero,zero
b 0x0001477c
_addiu a1,a1,-0x7878
lw a1,-0x7fc4(gp)
b 0x0001477c
_addiu a1,a1,-0x7848
lw a1,-0x7fc4(gp)
b 0x000145b8
_addiu a1,a1,-0x78b8
lw a1,-0x7fc4(gp)
b 0x000145b8
_addiu a1,a1,-0x78c0
lw a1,-0x7fc4(gp)
b 0x000145b8
_addiu a1,a1,-0x78ec
lw t9,-0x7ed4(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw t9,-0x7f04(gp)
jalr t9
_lw a0,0x0(v0)
lw gp,0x10(sp)
or a1,v0,zero
lw a0,-0x7fc4(gp)
lw t9,-0x7fb4(gp)
bal 0x000153a0
_addiu a0,a0,-0x6f68
(translation_unit "void FUN_0001438c(int *param_1,undefined4 param_2)\n\n{\n  char cVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  uint uVar7;\n  \n  FUN_00011fe4(PTR_DAT_0002a25c + -0x78b0,*(undefined4 *)(*param_1 + 0xc),param_2);\n  iVar2 = (*(code *)PTR_bfd_is_undefined_symclass_0002a3f8)((int)*(char *)(*param_1 + 8));\n  if (iVar2 == 0) {\n    FUN_00013c08(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1]);\n  }\n  else if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n  }\n  else {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }\n  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7894,(int)*(char *)(*param_1 + 8));\n  puVar6 = PTR_DAT_0002a248;\n  if (*(char *)(*param_1 + 8) == '-') {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14));\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12));\n    goto LAB_0001458c;\n  }\n  if (param_1[4] == 0) {\n    if (param_1[5] != 0) {\n      iVar2 = *(int *)(param_1[5] + 0x20);\n      cVar1 = *(char *)(iVar2 + 0x20);\n      if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }\n      goto LAB_000145b8;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x781c);\n  }\n  else {\n    uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf;\n    if (uVar7 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00014468 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }\n    (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98));\n    if (uVar7 - 0xd < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }\n    else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }\n    uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5);\n    iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7);\n    if (iVar2 < 0) {\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    /* WARNING: Subroutine does not return */\n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }\n    puVar6 = *(undefined **)(puVar6 + -0x5b98);\nLAB_000145b8:\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);\n  }\n  iVar2 = param_1[4];\n  if (iVar2 == 0) {\n    if (param_1[2] != 0 || param_1[3] != 0) goto LAB_000145ec;\nLAB_000146b4:\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n    iVar2 = param_1[4];\n  }\n  else {\n    if (*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0) goto LAB_000146b4;\nLAB_000145ec:\n    FUN_00013c08();\nLAB_00014600:\n    iVar2 = param_1[4];\n  }\n  if (iVar2 != 0) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14));\n    return;\n  }\n  if (param_1[5] != 0) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14));\n    return;\n  }\nLAB_0001458c:\n  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7880);\n  return;\n}\n\n" (function_definition "void FUN_0001438c(int *param_1,undefined4 param_2)\n\n{\n  char cVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  uint uVar7;\n  \n  FUN_00011fe4(PTR_DAT_0002a25c + -0x78b0,*(undefined4 *)(*param_1 + 0xc),param_2);\n  iVar2 = (*(code *)PTR_bfd_is_undefined_symclass_0002a3f8)((int)*(char *)(*param_1 + 8));\n  if (iVar2 == 0) {\n    FUN_00013c08(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1]);\n  }\n  else if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n  }\n  else {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }\n  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7894,(int)*(char *)(*param_1 + 8));\n  puVar6 = PTR_DAT_0002a248;\n  if (*(char *)(*param_1 + 8) == '-') {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14));\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12));\n    goto LAB_0001458c;\n  }\n  if (param_1[4] == 0) {\n    if (param_1[5] != 0) {\n      iVar2 = *(int *)(param_1[5] + 0x20);\n      cVar1 = *(char *)(iVar2 + 0x20);\n      if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }\n      goto LAB_000145b8;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x781c);\n  }\n  else {\n    uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf;\n    if (uVar7 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00014468 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }\n    (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98));\n    if (uVar7 - 0xd < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }\n    else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }\n    uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5);\n    iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7);\n    if (iVar2 < 0) {\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    /* WARNING: Subroutine does not return */\n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }\n    puVar6 = *(undefined **)(puVar6 + -0x5b98);\nLAB_000145b8:\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);\n  }\n  iVar2 = param_1[4];\n  if (iVar2 == 0) {\n    if (param_1[2] != 0 || param_1[3] != 0) goto LAB_000145ec;\nLAB_000146b4:\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n    iVar2 = param_1[4];\n  }\n  else {\n    if (*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0) goto LAB_000146b4;\nLAB_000145ec:\n    FUN_00013c08();\nLAB_00014600:\n    iVar2 = param_1[4];\n  }\n  if (iVar2 != 0) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14));\n    return;\n  }\n  if (param_1[5] != 0) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14));\n    return;\n  }\nLAB_0001458c:\n  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7880);\n  return;\n}" primitive_type (function_declarator "FUN_0001438c(int *param_1,undefined4 param_2)" identifier (parameter_list "(int *param_1,undefined4 param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  uint uVar7;\n  \n  FUN_00011fe4(PTR_DAT_0002a25c + -0x78b0,*(undefined4 *)(*param_1 + 0xc),param_2);\n  iVar2 = (*(code *)PTR_bfd_is_undefined_symclass_0002a3f8)((int)*(char *)(*param_1 + 8));\n  if (iVar2 == 0) {\n    FUN_00013c08(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1]);\n  }\n  else if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n  }\n  else {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }\n  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7894,(int)*(char *)(*param_1 + 8));\n  puVar6 = PTR_DAT_0002a248;\n  if (*(char *)(*param_1 + 8) == '-') {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14));\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12));\n    goto LAB_0001458c;\n  }\n  if (param_1[4] == 0) {\n    if (param_1[5] != 0) {\n      iVar2 = *(int *)(param_1[5] + 0x20);\n      cVar1 = *(char *)(iVar2 + 0x20);\n      if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }\n      goto LAB_000145b8;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x781c);\n  }\n  else {\n    uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf;\n    if (uVar7 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00014468 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }\n    (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98));\n    if (uVar7 - 0xd < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }\n    else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }\n    uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5);\n    iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7);\n    if (iVar2 < 0) {\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    /* WARNING: Subroutine does not return */\n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }\n    puVar6 = *(undefined **)(puVar6 + -0x5b98);\nLAB_000145b8:\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);\n  }\n  iVar2 = param_1[4];\n  if (iVar2 == 0) {\n    if (param_1[2] != 0 || param_1[3] != 0) goto LAB_000145ec;\nLAB_000146b4:\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n    iVar2 = param_1[4];\n  }\n  else {\n    if (*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0) goto LAB_000146b4;\nLAB_000145ec:\n    FUN_00013c08();\nLAB_00014600:\n    iVar2 = param_1[4];\n  }\n  if (iVar2 != 0) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14));\n    return;\n  }\n  if (param_1[5] != 0) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14));\n    return;\n  }\nLAB_0001458c:\n  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7880);\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (expression_statement "FUN_00011fe4(PTR_DAT_0002a25c + -0x78b0,*(undefined4 *)(*param_1 + 0xc),param_2);" (call_expression "FUN_00011fe4(PTR_DAT_0002a25c + -0x78b0,*(undefined4 *)(*param_1 + 0xc),param_2)" identifier (argument_list "(PTR_DAT_0002a25c + -0x78b0,*(undefined4 *)(*param_1 + 0xc),param_2)" ( (binary_expression "PTR_DAT_0002a25c + -0x78b0" identifier + number_literal) , (pointer_expression "*(undefined4 *)(*param_1 + 0xc)" * (cast_expression "(undefined4 *)(*param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0xc)" ( (binary_expression "*param_1 + 0xc" (pointer_expression "*param_1" * identifier) + number_literal) )))) , identifier ))) ;) (expression_statement "iVar2 = (*(code *)PTR_bfd_is_undefined_symclass_0002a3f8)((int)*(char *)(*param_1 + 8));" (assignment_expression "iVar2 = (*(code *)PTR_bfd_is_undefined_symclass_0002a3f8)((int)*(char *)(*param_1 + 8))" identifier = (call_expression "(*(code *)PTR_bfd_is_undefined_symclass_0002a3f8)((int)*(char *)(*param_1 + 8))" (parenthesized_expression "(*(code *)PTR_bfd_is_undefined_symclass_0002a3f8)" ( (pointer_expression "*(code *)PTR_bfd_is_undefined_symclass_0002a3f8" * (cast_expression "(code *)PTR_bfd_is_undefined_symclass_0002a3f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((int)*(char *)(*param_1 + 8))" ( (cast_expression "(int)*(char *)(*param_1 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)(*param_1 + 8)" * (cast_expression "(char *)(*param_1 + 8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )))) ;) (if_statement "if (iVar2 == 0) {\n    FUN_00013c08(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1]);\n  }\n  else if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n  }\n  else {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_00013c08(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1]);\n  }" { (expression_statement "FUN_00013c08(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1]);" (call_expression "FUN_00013c08(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1])" identifier (argument_list "(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1])" ( (pointer_expression "*(undefined4 *)*param_1" * (cast_expression "(undefined4 *)*param_1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) , (subscript_expression "((undefined4 *)*param_1)[1]" (parenthesized_expression "((undefined4 *)*param_1)" ( (cast_expression "(undefined4 *)*param_1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier)) )) [ number_literal ]) ))) ;) }) (else_clause "else if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n  }\n  else {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }" else (if_statement "if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n  }\n  else {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }" if (parenthesized_expression "(*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20)" ( (binary_expression "*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20" (pointer_expression "*(int *)(PTR_DAT_0002a248 + -0x5b78)" * (cast_expression "(int *)(PTR_DAT_0002a248 + -0x5b78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b78)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b78" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n  }" { (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a25c + -0x78a0)" ( (binary_expression "PTR_DAT_0002a25c + -0x78a0" identifier + number_literal) ))) ;) }) (else_clause "else {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }" else (compound_statement "{\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }" { (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a25c + -0x78a8)" ( (binary_expression "PTR_DAT_0002a25c + -0x78a8" identifier + number_literal) ))) ;) }))))) (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7894,(int)*(char *)(*param_1 + 8));" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7894,(int)*(char *)(*param_1 + 8))" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a25c + -0x7894,(int)*(char *)(*param_1 + 8))" ( (binary_expression "PTR_DAT_0002a25c + -0x7894" identifier + number_literal) , (cast_expression "(int)*(char *)(*param_1 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)(*param_1 + 8)" * (cast_expression "(char *)(*param_1 + 8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ))) ;) (expression_statement "puVar6 = PTR_DAT_0002a248;" (assignment_expression "puVar6 = PTR_DAT_0002a248" identifier = identifier) ;) (if_statement "if (*(char *)(*param_1 + 8) == '-') {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14));\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12));\n    goto LAB_0001458c;\n  }" if (parenthesized_expression "(*(char *)(*param_1 + 8) == '-')" ( (binary_expression "*(char *)(*param_1 + 8) == '-'" (pointer_expression "*(char *)(*param_1 + 8)" * (cast_expression "(char *)(*param_1 + 8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) )))) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14));\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12));\n    goto LAB_0001458c;\n  }" { (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14));" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14))" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14))" ( (binary_expression "PTR_DAT_0002a25c + -0x7888" identifier + number_literal) , (pointer_expression "*(undefined4 *)(*param_1 + 0x14)" * (cast_expression "(undefined4 *)(*param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x14)" ( (binary_expression "*param_1 + 0x14" (pointer_expression "*param_1" * identifier) + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12));" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12))" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12))" ( (binary_expression "PTR_DAT_0002a248 + -0x5ff0" identifier + number_literal) , (cast_expression "(int)*(short *)(*param_1 + 0x12)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(*param_1 + 0x12)" * (cast_expression "(short *)(*param_1 + 0x12)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x12)" ( (binary_expression "*param_1 + 0x12" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ))) ;) (goto_statement "goto LAB_0001458c;" goto statement_identifier ;) })) (if_statement "if (param_1[4] == 0) {\n    if (param_1[5] != 0) {\n      iVar2 = *(int *)(param_1[5] + 0x20);\n      cVar1 = *(char *)(iVar2 + 0x20);\n      if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }\n      goto LAB_000145b8;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x781c);\n  }\n  else {\n    uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf;\n    if (uVar7 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00014468 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }\n    (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98));\n    if (uVar7 - 0xd < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }\n    else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }\n    uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5);\n    iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7);\n    if (iVar2 < 0) {\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    /* WARNING: Subroutine does not return */\n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }\n    puVar6 = *(undefined **)(puVar6 + -0x5b98);\nLAB_000145b8:\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);\n  }" if (parenthesized_expression "(param_1[4] == 0)" ( (binary_expression "param_1[4] == 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    if (param_1[5] != 0) {\n      iVar2 = *(int *)(param_1[5] + 0x20);\n      cVar1 = *(char *)(iVar2 + 0x20);\n      if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }\n      goto LAB_000145b8;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x781c);\n  }" { (if_statement "if (param_1[5] != 0) {\n      iVar2 = *(int *)(param_1[5] + 0x20);\n      cVar1 = *(char *)(iVar2 + 0x20);\n      if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }\n      goto LAB_000145b8;\n    }" if (parenthesized_expression "(param_1[5] != 0)" ( (binary_expression "param_1[5] != 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      iVar2 = *(int *)(param_1[5] + 0x20);\n      cVar1 = *(char *)(iVar2 + 0x20);\n      if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }\n      goto LAB_000145b8;\n    }" { (expression_statement "iVar2 = *(int *)(param_1[5] + 0x20);" (assignment_expression "iVar2 = *(int *)(param_1[5] + 0x20)" identifier = (pointer_expression "*(int *)(param_1[5] + 0x20)" * (cast_expression "(int *)(param_1[5] + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[5] + 0x20)" ( (binary_expression "param_1[5] + 0x20" (subscript_expression "param_1[5]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "cVar1 = *(char *)(iVar2 + 0x20);" (assignment_expression "cVar1 = *(char *)(iVar2 + 0x20)" identifier = (pointer_expression "*(char *)(iVar2 + 0x20)" * (cast_expression "(char *)(iVar2 + 0x20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x20)" ( (binary_expression "iVar2 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }" if (parenthesized_expression "(cVar1 == 'g')" ( (binary_expression "cVar1 == 'g'" identifier == (char_literal "'g'" ' character ')) )) (compound_statement "{\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }" { (expression_statement "puVar6 = PTR_DAT_0002a25c + -0x78d0;" (assignment_expression "puVar6 = PTR_DAT_0002a25c + -0x78d0" identifier = (binary_expression "PTR_DAT_0002a25c + -0x78d0" identifier + number_literal)) ;) }) (else_clause "else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }" else (if_statement "if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }" if (parenthesized_expression "(cVar1 == 'h')" ( (binary_expression "cVar1 == 'h'" identifier == (char_literal "'h'" ' character ')) )) (compound_statement "{\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }" { (expression_statement "puVar6 = PTR_DAT_0002a25c + -0x78e0;" (assignment_expression "puVar6 = PTR_DAT_0002a25c + -0x78e0" identifier = (binary_expression "PTR_DAT_0002a25c + -0x78e0" identifier + number_literal)) ;) }) (else_clause "else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }" else (if_statement "if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }" if (parenthesized_expression "(cVar1 == 'd')" ( (binary_expression "cVar1 == 'd'" identifier == (char_literal "'d'" ' character ')) )) (compound_statement "{\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }" { (expression_statement "puVar6 = PTR_DAT_0002a25c + -0x78d8;" (assignment_expression "puVar6 = PTR_DAT_0002a25c + -0x78d8" identifier = (binary_expression "PTR_DAT_0002a25c + -0x78d8" identifier + number_literal)) ;) }) (else_clause "else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }" else (compound_statement "{\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }" { (expression_statement "uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;" (assignment_expression "uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e" identifier = (binary_expression "((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e" (parenthesized_expression "((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a)" ( (binary_expression "(uint)*(ushort *)(iVar2 + 0x1e) << 0x1a" (binary_expression "(uint)*(ushort *)(iVar2 + 0x1e)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(iVar2 + 0x1e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1e)" ( (binary_expression "iVar2 + 0x1e" identifier + number_literal) )))) << number_literal) )) >> number_literal)) ;) (if_statement "if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" if (parenthesized_expression "(*(ushort *)(iVar2 + 0x1e) == 0)" ( (binary_expression "*(ushort *)(iVar2 + 0x1e) == 0" (pointer_expression "*(ushort *)(iVar2 + 0x1e)" * (cast_expression "(ushort *)(iVar2 + 0x1e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1e)" ( (binary_expression "iVar2 + 0x1e" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }" { (expression_statement "puVar6 = PTR_DAT_0002a25c + -0x78c8;" (assignment_expression "puVar6 = PTR_DAT_0002a25c + -0x78c8" identifier = (binary_expression "PTR_DAT_0002a25c + -0x78c8" identifier + number_literal)) ;) }) (else_clause "else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" else (if_statement "if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" if (parenthesized_expression "(uVar7 == 2)" ( (binary_expression "uVar7 == 2" identifier == number_literal) )) (compound_statement "{\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }" { (expression_statement "puVar6 = PTR_DAT_0002a25c + -0x78ec;" (assignment_expression "puVar6 = PTR_DAT_0002a25c + -0x78ec" identifier = (binary_expression "PTR_DAT_0002a25c + -0x78ec" identifier + number_literal)) ;) }) (else_clause "else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" else (if_statement "if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" if (parenthesized_expression "(uVar7 == 3)" ( (binary_expression "uVar7 == 3" identifier == number_literal) )) (compound_statement "{\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }" { (expression_statement "puVar6 = PTR_DAT_0002a25c + -0x78c0;" (assignment_expression "puVar6 = PTR_DAT_0002a25c + -0x78c0" identifier = (binary_expression "PTR_DAT_0002a25c + -0x78c0" identifier + number_literal)) ;) }) (else_clause "else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" else (if_statement "if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" if (parenthesized_expression "(uVar7 == 1)" ( (binary_expression "uVar7 == 1" identifier == number_literal) )) (compound_statement "{\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }" { (expression_statement "puVar6 = PTR_DAT_0002a25c + -0x78b8;" (assignment_expression "puVar6 = PTR_DAT_0002a25c + -0x78b8" identifier = (binary_expression "PTR_DAT_0002a25c + -0x78b8" identifier + number_literal)) ;) }) (else_clause "else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" else (compound_statement "{\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" { (expression_statement "(*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));" (call_expression "(*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c))" (parenthesized_expression "(*(code *)PTR_free_0002a3f4)" ( (pointer_expression "*(code *)PTR_free_0002a3f4" * (cast_expression "(code *)PTR_free_0002a3f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c))" ( (pointer_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c)" * (cast_expression "(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b9c)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b9c" identifier + number_literal) )))) ))) ;) (expression_statement "uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);" (assignment_expression "uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0002a3d8)" ( (pointer_expression "*(code *)PTR_dcgettext_0002a3d8" * (cast_expression "(code *)PTR_dcgettext_0002a3d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0002a25c + -0x7830,5)" ( number_literal , (binary_expression "PTR_DAT_0002a25c + -0x7830" identifier + number_literal) , number_literal )))) ;) (expression_statement "iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));" (assignment_expression "iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e))" identifier = (call_expression "(*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e))" (parenthesized_expression "(*(code *)PTR_asprintf_0002a348)" ( (pointer_expression "*(code *)PTR_asprintf_0002a348" * (cast_expression "(code *)PTR_asprintf_0002a348" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e))" ( (binary_expression "puVar6 + -0x5b9c" identifier + number_literal) , identifier , (pointer_expression "*(undefined1 *)(iVar2 + 0x20)" * (cast_expression "(undefined1 *)(iVar2 + 0x20)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x20)" ( (binary_expression "iVar2 + 0x20" identifier + number_literal) )))) , (pointer_expression "*(undefined2 *)(iVar2 + 0x1e)" * (cast_expression "(undefined2 *)(iVar2 + 0x1e)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1e)" ( (binary_expression "iVar2 + 0x1e" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar2 < 0) goto LAB_00014800;" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00014800;" goto statement_identifier ;)) (expression_statement "puVar6 = *(undefined **)(puVar6 + -0x5b9c);" (assignment_expression "puVar6 = *(undefined **)(puVar6 + -0x5b9c)" identifier = (pointer_expression "*(undefined **)(puVar6 + -0x5b9c)" * (cast_expression "(undefined **)(puVar6 + -0x5b9c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + -0x5b9c)" ( (binary_expression "puVar6 + -0x5b9c" identifier + number_literal) ))))) ;) }))))))))) }))))))) (goto_statement "goto LAB_000145b8;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x781c);" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x781c)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a25c + -0x781c)" ( (binary_expression "PTR_DAT_0002a25c + -0x781c" identifier + number_literal) ))) ;) }) (else_clause "else {\n    uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf;\n    if (uVar7 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00014468 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }\n    (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98));\n    if (uVar7 - 0xd < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }\n    else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }\n    uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5);\n    iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7);\n    if (iVar2 < 0) {\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    /* WARNING: Subroutine does not return */\n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }\n    puVar6 = *(undefined **)(puVar6 + -0x5b98);\nLAB_000145b8:\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);\n  }" else (compound_statement "{\n    uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf;\n    if (uVar7 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00014468 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }\n    (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98));\n    if (uVar7 - 0xd < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }\n    else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }\n    uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5);\n    iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7);\n    if (iVar2 < 0) {\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    /* WARNING: Subroutine does not return */\n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }\n    puVar6 = *(undefined **)(puVar6 + -0x5b98);\nLAB_000145b8:\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);\n  }" { (expression_statement "uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf;" (assignment_expression "uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf" identifier = (binary_expression "*(byte *)(param_1[4] + 0x34) & 0xf" (pointer_expression "*(byte *)(param_1[4] + 0x34)" * (cast_expression "(byte *)(param_1[4] + 0x34)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[4] + 0x34)" ( (binary_expression "param_1[4] + 0x34" (subscript_expression "param_1[4]" identifier [ number_literal ]) + number_literal) )))) & number_literal)) ;) (if_statement "if (uVar7 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00014468 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }" if (parenthesized_expression "(uVar7 < 7)" ( (binary_expression "uVar7 < 7" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not emulate address calculation at 0x00014468 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }" { comment comment (expression_statement "(*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();" (call_expression "(*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))" ( (pointer_expression "*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498))" * (cast_expression "(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498))" ( (binary_expression "&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)" (pointer_expression "&_gp_1" & identifier) + (pointer_expression "*(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)" * (cast_expression "(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)" ( (binary_expression "PTR_DAT_0002a25c + uVar7 * 4 + -0x7498" (binary_expression "PTR_DAT_0002a25c + uVar7 * 4" identifier + (binary_expression "uVar7 * 4" identifier * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98));" (call_expression "(*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98))" (parenthesized_expression "(*(code *)PTR_free_0002a3f4)" ( (pointer_expression "*(code *)PTR_free_0002a3f4" * (cast_expression "(code *)PTR_free_0002a3f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98))" ( (pointer_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98)" * (cast_expression "(undefined4 *)(PTR_DAT_0002a248 + -0x5b98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b98)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b98" identifier + number_literal) )))) ))) ;) (if_statement "if (uVar7 - 0xd < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }\n    else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }" if (parenthesized_expression "(uVar7 - 0xd < 3)" ( (binary_expression "uVar7 - 0xd < 3" (binary_expression "uVar7 - 0xd" identifier - number_literal) < number_literal) )) (compound_statement "{\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }" { (expression_statement "puVar5 = PTR_DAT_0002a25c + -0x7878;" (assignment_expression "puVar5 = PTR_DAT_0002a25c + -0x7878" identifier = (binary_expression "PTR_DAT_0002a25c + -0x7878" identifier + number_literal)) ;) }) (else_clause "else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }" else (if_statement "if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }" if (parenthesized_expression "(uVar7 - 10 < 3)" ( (binary_expression "uVar7 - 10 < 3" (binary_expression "uVar7 - 10" identifier - number_literal) < number_literal) )) (compound_statement "{\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }" { (expression_statement "puVar5 = PTR_DAT_0002a25c + -0x785c;" (assignment_expression "puVar5 = PTR_DAT_0002a25c + -0x785c" identifier = (binary_expression "PTR_DAT_0002a25c + -0x785c" identifier + number_literal)) ;) }) (else_clause "else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }" else (compound_statement "{\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }" { (expression_statement "puVar5 = PTR_DAT_0002a25c + -0x7848;" (assignment_expression "puVar5 = PTR_DAT_0002a25c + -0x7848" identifier = (binary_expression "PTR_DAT_0002a25c + -0x7848" identifier + number_literal)) ;) }))))) (expression_statement "uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5);" (assignment_expression "uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0002a3d8)" ( (pointer_expression "*(code *)PTR_dcgettext_0002a3d8" * (cast_expression "(code *)PTR_dcgettext_0002a3d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar5,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7);" (assignment_expression "iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7)" identifier = (call_expression "(*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7)" (parenthesized_expression "(*(code *)PTR_asprintf_0002a348)" ( (pointer_expression "*(code *)PTR_asprintf_0002a348" * (cast_expression "(code *)PTR_asprintf_0002a348" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6 + -0x5b98,uVar3,uVar7)" ( (binary_expression "puVar6 + -0x5b98" identifier + number_literal) , identifier , identifier )))) ;) (if_statement "if (iVar2 < 0) {\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    /* WARNING: Subroutine does not return */\n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    /* WARNING: Subroutine does not return */\n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }" { (labeled_statement "LAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();" statement_identifier : (expression_statement "puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();" (assignment_expression "puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0002a34c)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0002a34c)()" (parenthesized_expression "(*(code *)PTR___errno_location_0002a34c)" ( (pointer_expression "*(code *)PTR___errno_location_0002a34c" * (cast_expression "(code *)PTR___errno_location_0002a34c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;)) (expression_statement "uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);" (assignment_expression "uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4)" identifier = (call_expression "(*(code *)PTR_xstrerror_0002a31c)(*puVar4)" (parenthesized_expression "(*(code *)PTR_xstrerror_0002a31c)" ( (pointer_expression "*(code *)PTR_xstrerror_0002a31c" * (cast_expression "(code *)PTR_xstrerror_0002a31c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar4)" ( (pointer_expression "*puVar4" * identifier) )))) ;) comment (expression_statement "fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);" (call_expression "fatal(PTR_DAT_0002a25c + -0x6f68,uVar3)" identifier (argument_list "(PTR_DAT_0002a25c + -0x6f68,uVar3)" ( (binary_expression "PTR_DAT_0002a25c + -0x6f68" identifier + number_literal) , identifier ))) ;) })) (expression_statement "puVar6 = *(undefined **)(puVar6 + -0x5b98);" (assignment_expression "puVar6 = *(undefined **)(puVar6 + -0x5b98)" identifier = (pointer_expression "*(undefined **)(puVar6 + -0x5b98)" * (cast_expression "(undefined **)(puVar6 + -0x5b98)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + -0x5b98)" ( (binary_expression "puVar6 + -0x5b98" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000145b8:\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);" statement_identifier : (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a25c + -0x7838,puVar6)" ( (binary_expression "PTR_DAT_0002a25c + -0x7838" identifier + number_literal) , identifier ))) ;)) }))) (expression_statement "iVar2 = param_1[4];" (assignment_expression "iVar2 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (if_statement "if (iVar2 == 0) {\n    if (param_1[2] != 0 || param_1[3] != 0) goto LAB_000145ec;\nLAB_000146b4:\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n    iVar2 = param_1[4];\n  }\n  else {\n    if (*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0) goto LAB_000146b4;\nLAB_000145ec:\n    FUN_00013c08();\nLAB_00014600:\n    iVar2 = param_1[4];\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    if (param_1[2] != 0 || param_1[3] != 0) goto LAB_000145ec;\nLAB_000146b4:\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n    iVar2 = param_1[4];\n  }" { (if_statement "if (param_1[2] != 0 || param_1[3] != 0) goto LAB_000145ec;" if (parenthesized_expression "(param_1[2] != 0 || param_1[3] != 0)" ( (binary_expression "param_1[2] != 0 || param_1[3] != 0" (binary_expression "param_1[2] != 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) != number_literal) || (binary_expression "param_1[3] != 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) != number_literal)) )) (goto_statement "goto LAB_000145ec;" goto statement_identifier ;)) (labeled_statement "LAB_000146b4:\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }" statement_identifier : (if_statement "if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }" if (parenthesized_expression "(*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20)" ( (binary_expression "*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20" (pointer_expression "*(int *)(PTR_DAT_0002a248 + -0x5b78)" * (cast_expression "(int *)(PTR_DAT_0002a248 + -0x5b78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b78)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b78" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }" { (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a25c + -0x78a0)" ( (binary_expression "PTR_DAT_0002a25c + -0x78a0" identifier + number_literal) ))) ;) (goto_statement "goto LAB_00014600;" goto statement_identifier ;) }))) (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a25c + -0x78a8)" ( (binary_expression "PTR_DAT_0002a25c + -0x78a8" identifier + number_literal) ))) ;) (expression_statement "iVar2 = param_1[4];" (assignment_expression "iVar2 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) }) (else_clause "else {\n    if (*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0) goto LAB_000146b4;\nLAB_000145ec:\n    FUN_00013c08();\nLAB_00014600:\n    iVar2 = param_1[4];\n  }" else (compound_statement "{\n    if (*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0) goto LAB_000146b4;\nLAB_000145ec:\n    FUN_00013c08();\nLAB_00014600:\n    iVar2 = param_1[4];\n  }" { (if_statement "if (*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0) goto LAB_000146b4;" if (parenthesized_expression "(*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0)" ( (binary_expression "*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0" (binary_expression "*(int *)(iVar2 + 0x28) == 0" (pointer_expression "*(int *)(iVar2 + 0x28)" * (cast_expression "(int *)(iVar2 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x28)" ( (binary_expression "iVar2 + 0x28" identifier + number_literal) )))) == number_literal) && (binary_expression "*(int *)(iVar2 + 0x2c) == 0" (pointer_expression "*(int *)(iVar2 + 0x2c)" * (cast_expression "(int *)(iVar2 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2c)" ( (binary_expression "iVar2 + 0x2c" identifier + number_literal) )))) == number_literal)) )) (goto_statement "goto LAB_000146b4;" goto statement_identifier ;)) (labeled_statement "LAB_000145ec:\n    FUN_00013c08();" statement_identifier : (expression_statement "FUN_00013c08();" (call_expression "FUN_00013c08()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_00014600:\n    iVar2 = param_1[4];" statement_identifier : (expression_statement "iVar2 = param_1[4];" (assignment_expression "iVar2 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;)) }))) (if_statement "if (iVar2 != 0) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14));\n    return;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14));\n    return;\n  }" { (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14));" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14))" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14))" ( (binary_expression "PTR_DAT_0002a25c + -0x7808" identifier + number_literal) , (pointer_expression "**(undefined4 **)(iVar2 + 0x14)" * (pointer_expression "*(undefined4 **)(iVar2 + 0x14)" * (cast_expression "(undefined4 **)(iVar2 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) ))))) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (param_1[5] != 0) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14));\n    return;\n  }" if (parenthesized_expression "(param_1[5] != 0)" ( (binary_expression "param_1[5] != 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14));\n    return;\n  }" { (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14));" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14))" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14))" ( (binary_expression "PTR_DAT_0002a25c + -0x7808" identifier + number_literal) , (pointer_expression "**(undefined4 **)(param_1[5] + 0x14)" * (pointer_expression "*(undefined4 **)(param_1[5] + 0x14)" * (cast_expression "(undefined4 **)(param_1[5] + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[5] + 0x14)" ( (binary_expression "param_1[5] + 0x14" (subscript_expression "param_1[5]" identifier [ number_literal ]) + number_literal) ))))) ))) ;) (return_statement "return;" return ;) })) (labeled_statement "LAB_0001458c:\n  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7880);" statement_identifier : (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7880);" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7880)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a25c + -0x7880)" ( (binary_expression "PTR_DAT_0002a25c + -0x7880" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "void print_symbol_info_sysv(extended_symbol_info *info,bfd *abfd)\n\n{\n  uchar uVar1;\n  int iVar2;\n  uint uVar3;\n  elf_symbol_type *peVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  bfd *abfd_00;\n  int iVar7;\n  uint uVar8;\n  combined_entry_type *pcVar9;\n  code *pcVar10;\n  undefined1 *puVar11;\n  undefined4 in_stack_ffffffec;\n  \n  puVar11 = &_gp;\n  print_symname(PTR_DAT_0002a25c + -0x78b0,info->sinfo->name,abfd);\n  iVar2 = (**(code **)(puVar11 + -0x7e28))((int)info->sinfo->type);\n  if (iVar2 == 0) {\n    print_value(*(bfd **)&info->sinfo->value,CONCAT44(puVar11,in_stack_ffffffec));\n  }\n  else if (*(int *)(*(int *)(puVar11 + -0x7fd8) + -0x5b78) == 0x20) {\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a0);\n  }\n  else {\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a8);\n  }\n  (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7894,(int)info->sinfo->type);\n  if (info->sinfo->type == '-') {\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7888,info->sinfo->stab_name);\n    (**(code **)(puVar11 + -0x7e0c))\n              (*(int *)(puVar11 + -0x7fd8) + -0x5ff0,(int)info->sinfo->stab_desc);\n    goto LAB_0001458c;\n  }\n  if (info->elfinfo == (elf_symbol_type *)0x0) {\n    if (info->coffinfo != (coff_symbol_type *)0x0) {\n      pcVar9 = info->coffinfo->native;\n      uVar1 = (pcVar9->u).syment.n_sclass;\n      if (uVar1 == 'g') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d0;\n      }\n      else if (uVar1 == 'h') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78e0;\n      }\n      else if (uVar1 == 'd') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d8;\n      }\n      else {\n        uVar3 = (uint)(pcVar9->u).syment.n_type;\n        uVar8 = (uVar3 << 0x1a) >> 0x1e;\n        if (uVar3 == 0) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c8;\n        }\n        else if (uVar8 == 2) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78ec;\n        }\n        else if (uVar8 == 3) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0;\n        }\n        else {\n          iVar2 = *(int *)(puVar11 + -0x7fd8);\n          if (uVar8 == 1) {\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }\n          else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }\n        }\n      }\n      goto LAB_000145b8;\n    }\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x781c);\n  }\n  else {\n    uVar8 = (info->elfinfo->internal_elf_sym).st_info & 0xf;\n    if (uVar8 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00014468 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(puVar11 + *(int *)(*(int *)(puVar11 + -0x7fc4) + -0x7498 + uVar8 * 4)))();\n      return;\n    }\n    iVar2 = *(int *)(puVar11 + -0x7fd8);\n    (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b98));\n    if (uVar8 - 0xd < 3) {\n      pcVar10 = *(code **)(puVar11 + -0x7e48);\n      iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7878;\n    }\n    else {\n      pcVar10 = *(code **)(puVar11 + -0x7e48);\n      if (uVar8 - 10 < 3) {\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x785c;\n      }\n      else {\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7848;\n      }\n    }\n    uVar5 = (*pcVar10)(0,iVar7,5);\n    iVar7 = (**(code **)(puVar11 + -0x7ed8))(iVar2 + -0x5b98,uVar5,uVar8);\n    if (iVar7 < 0) {\nLAB_00014800:\n      puVar6 = (undefined4 *)(**(code **)(puVar11 + -0x7ed4))();\n      uVar5 = (**(code **)(puVar11 + -0x7f04))(*puVar6);\n                    /* WARNING: Subroutine does not return */\n      fatal((char *)(*(int *)(puVar11 + -0x7fc4) + -0x6f68),uVar5);\n    }\n    iVar2 = *(int *)(iVar2 + -0x5b98);\nLAB_000145b8:\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7838,iVar2);\n  }\n  peVar4 = info->elfinfo;\n  if (peVar4 == (elf_symbol_type *)0x0) {\n    abfd_00 = *(bfd **)&info->ssize;\n    iVar2 = *(int *)(puVar11 + -0x7fd8);\n    if (abfd_00 != (bfd *)0x0 || (int)info->ssize != 0) goto LAB_000145ec;\nLAB_000146b4:\n    if (*(int *)(iVar2 + -0x5b78) == 0x20) {\n      (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a0);\n      goto LAB_00014600;\n    }\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a8);\n    peVar4 = info->elfinfo;\n  }\n  else {\n    abfd_00 = *(bfd **)&(peVar4->internal_elf_sym).st_size;\n    iVar2 = *(int *)(puVar11 + -0x7fd8);\n    if (abfd_00 == (bfd *)0x0 && (int)(peVar4->internal_elf_sym).st_size == 0) goto LAB_000146b4;\nLAB_000145ec:\n    print_value(abfd_00,CONCAT44(puVar11,in_stack_ffffffec));\nLAB_00014600:\n    peVar4 = info->elfinfo;\n  }\n  if (peVar4 != (elf_symbol_type *)0x0) {\n    (**(code **)(puVar11 + -0x7e0c))\n              (*(int *)(puVar11 + -0x7fc4) + -0x7808,((peVar4->symbol).section)->name);\n    return;\n  }\n  if (info->coffinfo != (coff_symbol_type *)0x0) {\n    (**(code **)(puVar11 + -0x7e0c))\n              (*(int *)(puVar11 + -0x7fc4) + -0x7808,((info->coffinfo->symbol).section)->name);\n    return;\n  }\nLAB_0001458c:\n  (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7880);\n  return;\n}\n\n" (function_definition "void print_symbol_info_sysv(extended_symbol_info *info,bfd *abfd)\n\n{\n  uchar uVar1;\n  int iVar2;\n  uint uVar3;\n  elf_symbol_type *peVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  bfd *abfd_00;\n  int iVar7;\n  uint uVar8;\n  combined_entry_type *pcVar9;\n  code *pcVar10;\n  undefined1 *puVar11;\n  undefined4 in_stack_ffffffec;\n  \n  puVar11 = &_gp;\n  print_symname(PTR_DAT_0002a25c + -0x78b0,info->sinfo->name,abfd);\n  iVar2 = (**(code **)(puVar11 + -0x7e28))((int)info->sinfo->type);\n  if (iVar2 == 0) {\n    print_value(*(bfd **)&info->sinfo->value,CONCAT44(puVar11,in_stack_ffffffec));\n  }\n  else if (*(int *)(*(int *)(puVar11 + -0x7fd8) + -0x5b78) == 0x20) {\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a0);\n  }\n  else {\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a8);\n  }\n  (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7894,(int)info->sinfo->type);\n  if (info->sinfo->type == '-') {\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7888,info->sinfo->stab_name);\n    (**(code **)(puVar11 + -0x7e0c))\n              (*(int *)(puVar11 + -0x7fd8) + -0x5ff0,(int)info->sinfo->stab_desc);\n    goto LAB_0001458c;\n  }\n  if (info->elfinfo == (elf_symbol_type *)0x0) {\n    if (info->coffinfo != (coff_symbol_type *)0x0) {\n      pcVar9 = info->coffinfo->native;\n      uVar1 = (pcVar9->u).syment.n_sclass;\n      if (uVar1 == 'g') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d0;\n      }\n      else if (uVar1 == 'h') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78e0;\n      }\n      else if (uVar1 == 'd') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d8;\n      }\n      else {\n        uVar3 = (uint)(pcVar9->u).syment.n_type;\n        uVar8 = (uVar3 << 0x1a) >> 0x1e;\n        if (uVar3 == 0) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c8;\n        }\n        else if (uVar8 == 2) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78ec;\n        }\n        else if (uVar8 == 3) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0;\n        }\n        else {\n          iVar2 = *(int *)(puVar11 + -0x7fd8);\n          if (uVar8 == 1) {\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }\n          else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }\n        }\n      }\n      goto LAB_000145b8;\n    }\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x781c);\n  }\n  else {\n    uVar8 = (info->elfinfo->internal_elf_sym).st_info & 0xf;\n    if (uVar8 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00014468 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(puVar11 + *(int *)(*(int *)(puVar11 + -0x7fc4) + -0x7498 + uVar8 * 4)))();\n      return;\n    }\n    iVar2 = *(int *)(puVar11 + -0x7fd8);\n    (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b98));\n    if (uVar8 - 0xd < 3) {\n      pcVar10 = *(code **)(puVar11 + -0x7e48);\n      iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7878;\n    }\n    else {\n      pcVar10 = *(code **)(puVar11 + -0x7e48);\n      if (uVar8 - 10 < 3) {\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x785c;\n      }\n      else {\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7848;\n      }\n    }\n    uVar5 = (*pcVar10)(0,iVar7,5);\n    iVar7 = (**(code **)(puVar11 + -0x7ed8))(iVar2 + -0x5b98,uVar5,uVar8);\n    if (iVar7 < 0) {\nLAB_00014800:\n      puVar6 = (undefined4 *)(**(code **)(puVar11 + -0x7ed4))();\n      uVar5 = (**(code **)(puVar11 + -0x7f04))(*puVar6);\n                    /* WARNING: Subroutine does not return */\n      fatal((char *)(*(int *)(puVar11 + -0x7fc4) + -0x6f68),uVar5);\n    }\n    iVar2 = *(int *)(iVar2 + -0x5b98);\nLAB_000145b8:\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7838,iVar2);\n  }\n  peVar4 = info->elfinfo;\n  if (peVar4 == (elf_symbol_type *)0x0) {\n    abfd_00 = *(bfd **)&info->ssize;\n    iVar2 = *(int *)(puVar11 + -0x7fd8);\n    if (abfd_00 != (bfd *)0x0 || (int)info->ssize != 0) goto LAB_000145ec;\nLAB_000146b4:\n    if (*(int *)(iVar2 + -0x5b78) == 0x20) {\n      (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a0);\n      goto LAB_00014600;\n    }\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a8);\n    peVar4 = info->elfinfo;\n  }\n  else {\n    abfd_00 = *(bfd **)&(peVar4->internal_elf_sym).st_size;\n    iVar2 = *(int *)(puVar11 + -0x7fd8);\n    if (abfd_00 == (bfd *)0x0 && (int)(peVar4->internal_elf_sym).st_size == 0) goto LAB_000146b4;\nLAB_000145ec:\n    print_value(abfd_00,CONCAT44(puVar11,in_stack_ffffffec));\nLAB_00014600:\n    peVar4 = info->elfinfo;\n  }\n  if (peVar4 != (elf_symbol_type *)0x0) {\n    (**(code **)(puVar11 + -0x7e0c))\n              (*(int *)(puVar11 + -0x7fc4) + -0x7808,((peVar4->symbol).section)->name);\n    return;\n  }\n  if (info->coffinfo != (coff_symbol_type *)0x0) {\n    (**(code **)(puVar11 + -0x7e0c))\n              (*(int *)(puVar11 + -0x7fc4) + -0x7808,((info->coffinfo->symbol).section)->name);\n    return;\n  }\nLAB_0001458c:\n  (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7880);\n  return;\n}" primitive_type (function_declarator "print_symbol_info_sysv(extended_symbol_info *info,bfd *abfd)" identifier (parameter_list "(extended_symbol_info *info,bfd *abfd)" ( (parameter_declaration "extended_symbol_info *info" type_identifier (pointer_declarator "*info" * identifier)) , (parameter_declaration "bfd *abfd" type_identifier (pointer_declarator "*abfd" * identifier)) ))) (compound_statement "{\n  uchar uVar1;\n  int iVar2;\n  uint uVar3;\n  elf_symbol_type *peVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  bfd *abfd_00;\n  int iVar7;\n  uint uVar8;\n  combined_entry_type *pcVar9;\n  code *pcVar10;\n  undefined1 *puVar11;\n  undefined4 in_stack_ffffffec;\n  \n  puVar11 = &_gp;\n  print_symname(PTR_DAT_0002a25c + -0x78b0,info->sinfo->name,abfd);\n  iVar2 = (**(code **)(puVar11 + -0x7e28))((int)info->sinfo->type);\n  if (iVar2 == 0) {\n    print_value(*(bfd **)&info->sinfo->value,CONCAT44(puVar11,in_stack_ffffffec));\n  }\n  else if (*(int *)(*(int *)(puVar11 + -0x7fd8) + -0x5b78) == 0x20) {\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a0);\n  }\n  else {\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a8);\n  }\n  (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7894,(int)info->sinfo->type);\n  if (info->sinfo->type == '-') {\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7888,info->sinfo->stab_name);\n    (**(code **)(puVar11 + -0x7e0c))\n              (*(int *)(puVar11 + -0x7fd8) + -0x5ff0,(int)info->sinfo->stab_desc);\n    goto LAB_0001458c;\n  }\n  if (info->elfinfo == (elf_symbol_type *)0x0) {\n    if (info->coffinfo != (coff_symbol_type *)0x0) {\n      pcVar9 = info->coffinfo->native;\n      uVar1 = (pcVar9->u).syment.n_sclass;\n      if (uVar1 == 'g') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d0;\n      }\n      else if (uVar1 == 'h') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78e0;\n      }\n      else if (uVar1 == 'd') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d8;\n      }\n      else {\n        uVar3 = (uint)(pcVar9->u).syment.n_type;\n        uVar8 = (uVar3 << 0x1a) >> 0x1e;\n        if (uVar3 == 0) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c8;\n        }\n        else if (uVar8 == 2) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78ec;\n        }\n        else if (uVar8 == 3) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0;\n        }\n        else {\n          iVar2 = *(int *)(puVar11 + -0x7fd8);\n          if (uVar8 == 1) {\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }\n          else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }\n        }\n      }\n      goto LAB_000145b8;\n    }\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x781c);\n  }\n  else {\n    uVar8 = (info->elfinfo->internal_elf_sym).st_info & 0xf;\n    if (uVar8 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00014468 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(puVar11 + *(int *)(*(int *)(puVar11 + -0x7fc4) + -0x7498 + uVar8 * 4)))();\n      return;\n    }\n    iVar2 = *(int *)(puVar11 + -0x7fd8);\n    (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b98));\n    if (uVar8 - 0xd < 3) {\n      pcVar10 = *(code **)(puVar11 + -0x7e48);\n      iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7878;\n    }\n    else {\n      pcVar10 = *(code **)(puVar11 + -0x7e48);\n      if (uVar8 - 10 < 3) {\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x785c;\n      }\n      else {\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7848;\n      }\n    }\n    uVar5 = (*pcVar10)(0,iVar7,5);\n    iVar7 = (**(code **)(puVar11 + -0x7ed8))(iVar2 + -0x5b98,uVar5,uVar8);\n    if (iVar7 < 0) {\nLAB_00014800:\n      puVar6 = (undefined4 *)(**(code **)(puVar11 + -0x7ed4))();\n      uVar5 = (**(code **)(puVar11 + -0x7f04))(*puVar6);\n                    /* WARNING: Subroutine does not return */\n      fatal((char *)(*(int *)(puVar11 + -0x7fc4) + -0x6f68),uVar5);\n    }\n    iVar2 = *(int *)(iVar2 + -0x5b98);\nLAB_000145b8:\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7838,iVar2);\n  }\n  peVar4 = info->elfinfo;\n  if (peVar4 == (elf_symbol_type *)0x0) {\n    abfd_00 = *(bfd **)&info->ssize;\n    iVar2 = *(int *)(puVar11 + -0x7fd8);\n    if (abfd_00 != (bfd *)0x0 || (int)info->ssize != 0) goto LAB_000145ec;\nLAB_000146b4:\n    if (*(int *)(iVar2 + -0x5b78) == 0x20) {\n      (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a0);\n      goto LAB_00014600;\n    }\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a8);\n    peVar4 = info->elfinfo;\n  }\n  else {\n    abfd_00 = *(bfd **)&(peVar4->internal_elf_sym).st_size;\n    iVar2 = *(int *)(puVar11 + -0x7fd8);\n    if (abfd_00 == (bfd *)0x0 && (int)(peVar4->internal_elf_sym).st_size == 0) goto LAB_000146b4;\nLAB_000145ec:\n    print_value(abfd_00,CONCAT44(puVar11,in_stack_ffffffec));\nLAB_00014600:\n    peVar4 = info->elfinfo;\n  }\n  if (peVar4 != (elf_symbol_type *)0x0) {\n    (**(code **)(puVar11 + -0x7e0c))\n              (*(int *)(puVar11 + -0x7fc4) + -0x7808,((peVar4->symbol).section)->name);\n    return;\n  }\n  if (info->coffinfo != (coff_symbol_type *)0x0) {\n    (**(code **)(puVar11 + -0x7e0c))\n              (*(int *)(puVar11 + -0x7fc4) + -0x7808,((info->coffinfo->symbol).section)->name);\n    return;\n  }\nLAB_0001458c:\n  (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7880);\n  return;\n}" { (declaration "uchar uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "elf_symbol_type *peVar4;" type_identifier (pointer_declarator "*peVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "bfd *abfd_00;" type_identifier (pointer_declarator "*abfd_00" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "combined_entry_type *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "undefined1 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 in_stack_ffffffec;" type_identifier identifier ;) (expression_statement "puVar11 = &_gp;" (assignment_expression "puVar11 = &_gp" identifier = (pointer_expression "&_gp" & identifier)) ;) (expression_statement "print_symname(PTR_DAT_0002a25c + -0x78b0,info->sinfo->name,abfd);" (call_expression "print_symname(PTR_DAT_0002a25c + -0x78b0,info->sinfo->name,abfd)" identifier (argument_list "(PTR_DAT_0002a25c + -0x78b0,info->sinfo->name,abfd)" ( (binary_expression "PTR_DAT_0002a25c + -0x78b0" identifier + number_literal) , (field_expression "info->sinfo->name" (field_expression "info->sinfo" identifier -> field_identifier) -> field_identifier) , identifier ))) ;) (expression_statement "iVar2 = (**(code **)(puVar11 + -0x7e28))((int)info->sinfo->type);" (assignment_expression "iVar2 = (**(code **)(puVar11 + -0x7e28))((int)info->sinfo->type)" identifier = (call_expression "(**(code **)(puVar11 + -0x7e28))((int)info->sinfo->type)" (parenthesized_expression "(**(code **)(puVar11 + -0x7e28))" ( (pointer_expression "**(code **)(puVar11 + -0x7e28)" * (pointer_expression "*(code **)(puVar11 + -0x7e28)" * (cast_expression "(code **)(puVar11 + -0x7e28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x7e28)" ( (binary_expression "puVar11 + -0x7e28" identifier + number_literal) ))))) )) (argument_list "((int)info->sinfo->type)" ( (cast_expression "(int)info->sinfo->type" ( (type_descriptor "int" primitive_type) ) (field_expression "info->sinfo->type" (field_expression "info->sinfo" identifier -> field_identifier) -> field_identifier)) )))) ;) (if_statement "if (iVar2 == 0) {\n    print_value(*(bfd **)&info->sinfo->value,CONCAT44(puVar11,in_stack_ffffffec));\n  }\n  else if (*(int *)(*(int *)(puVar11 + -0x7fd8) + -0x5b78) == 0x20) {\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a0);\n  }\n  else {\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a8);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    print_value(*(bfd **)&info->sinfo->value,CONCAT44(puVar11,in_stack_ffffffec));\n  }" { (expression_statement "print_value(*(bfd **)&info->sinfo->value,CONCAT44(puVar11,in_stack_ffffffec));" (call_expression "print_value(*(bfd **)&info->sinfo->value,CONCAT44(puVar11,in_stack_ffffffec))" identifier (argument_list "(*(bfd **)&info->sinfo->value,CONCAT44(puVar11,in_stack_ffffffec))" ( (pointer_expression "*(bfd **)&info->sinfo->value" * (cast_expression "(bfd **)&info->sinfo->value" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&info->sinfo->value" & (field_expression "info->sinfo->value" (field_expression "info->sinfo" identifier -> field_identifier) -> field_identifier)))) , (call_expression "CONCAT44(puVar11,in_stack_ffffffec)" identifier (argument_list "(puVar11,in_stack_ffffffec)" ( identifier , identifier ))) ))) ;) }) (else_clause "else if (*(int *)(*(int *)(puVar11 + -0x7fd8) + -0x5b78) == 0x20) {\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a0);\n  }\n  else {\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a8);\n  }" else (if_statement "if (*(int *)(*(int *)(puVar11 + -0x7fd8) + -0x5b78) == 0x20) {\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a0);\n  }\n  else {\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a8);\n  }" if (parenthesized_expression "(*(int *)(*(int *)(puVar11 + -0x7fd8) + -0x5b78) == 0x20)" ( (binary_expression "*(int *)(*(int *)(puVar11 + -0x7fd8) + -0x5b78) == 0x20" (pointer_expression "*(int *)(*(int *)(puVar11 + -0x7fd8) + -0x5b78)" * (cast_expression "(int *)(*(int *)(puVar11 + -0x7fd8) + -0x5b78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + -0x7fd8) + -0x5b78)" ( (binary_expression "*(int *)(puVar11 + -0x7fd8) + -0x5b78" (pointer_expression "*(int *)(puVar11 + -0x7fd8)" * (cast_expression "(int *)(puVar11 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fd8)" ( (binary_expression "puVar11 + -0x7fd8" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a0);\n  }" { (expression_statement "(**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a0);" (call_expression "(**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a0)" (parenthesized_expression "(**(code **)(puVar11 + -0x7e0c))" ( (pointer_expression "**(code **)(puVar11 + -0x7e0c)" * (pointer_expression "*(code **)(puVar11 + -0x7e0c)" * (cast_expression "(code **)(puVar11 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x7e0c)" ( (binary_expression "puVar11 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + -0x7fc4) + -0x78a0)" ( (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x78a0" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a8);\n  }" else (compound_statement "{\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a8);\n  }" { (expression_statement "(**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a8);" (call_expression "(**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a8)" (parenthesized_expression "(**(code **)(puVar11 + -0x7e0c))" ( (pointer_expression "**(code **)(puVar11 + -0x7e0c)" * (pointer_expression "*(code **)(puVar11 + -0x7e0c)" * (cast_expression "(code **)(puVar11 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x7e0c)" ( (binary_expression "puVar11 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + -0x7fc4) + -0x78a8)" ( (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x78a8" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;) }))))) (expression_statement "(**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7894,(int)info->sinfo->type);" (call_expression "(**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7894,(int)info->sinfo->type)" (parenthesized_expression "(**(code **)(puVar11 + -0x7e0c))" ( (pointer_expression "**(code **)(puVar11 + -0x7e0c)" * (pointer_expression "*(code **)(puVar11 + -0x7e0c)" * (cast_expression "(code **)(puVar11 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x7e0c)" ( (binary_expression "puVar11 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + -0x7fc4) + -0x7894,(int)info->sinfo->type)" ( (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x7894" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal) , (cast_expression "(int)info->sinfo->type" ( (type_descriptor "int" primitive_type) ) (field_expression "info->sinfo->type" (field_expression "info->sinfo" identifier -> field_identifier) -> field_identifier)) ))) ;) (if_statement "if (info->sinfo->type == '-') {\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7888,info->sinfo->stab_name);\n    (**(code **)(puVar11 + -0x7e0c))\n              (*(int *)(puVar11 + -0x7fd8) + -0x5ff0,(int)info->sinfo->stab_desc);\n    goto LAB_0001458c;\n  }" if (parenthesized_expression "(info->sinfo->type == '-')" ( (binary_expression "info->sinfo->type == '-'" (field_expression "info->sinfo->type" (field_expression "info->sinfo" identifier -> field_identifier) -> field_identifier) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7888,info->sinfo->stab_name);\n    (**(code **)(puVar11 + -0x7e0c))\n              (*(int *)(puVar11 + -0x7fd8) + -0x5ff0,(int)info->sinfo->stab_desc);\n    goto LAB_0001458c;\n  }" { (expression_statement "(**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7888,info->sinfo->stab_name);" (call_expression "(**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7888,info->sinfo->stab_name)" (parenthesized_expression "(**(code **)(puVar11 + -0x7e0c))" ( (pointer_expression "**(code **)(puVar11 + -0x7e0c)" * (pointer_expression "*(code **)(puVar11 + -0x7e0c)" * (cast_expression "(code **)(puVar11 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x7e0c)" ( (binary_expression "puVar11 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + -0x7fc4) + -0x7888,info->sinfo->stab_name)" ( (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x7888" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal) , (field_expression "info->sinfo->stab_name" (field_expression "info->sinfo" identifier -> field_identifier) -> field_identifier) ))) ;) (expression_statement "(**(code **)(puVar11 + -0x7e0c))\n              (*(int *)(puVar11 + -0x7fd8) + -0x5ff0,(int)info->sinfo->stab_desc);" (call_expression "(**(code **)(puVar11 + -0x7e0c))\n              (*(int *)(puVar11 + -0x7fd8) + -0x5ff0,(int)info->sinfo->stab_desc)" (parenthesized_expression "(**(code **)(puVar11 + -0x7e0c))" ( (pointer_expression "**(code **)(puVar11 + -0x7e0c)" * (pointer_expression "*(code **)(puVar11 + -0x7e0c)" * (cast_expression "(code **)(puVar11 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x7e0c)" ( (binary_expression "puVar11 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + -0x7fd8) + -0x5ff0,(int)info->sinfo->stab_desc)" ( (binary_expression "*(int *)(puVar11 + -0x7fd8) + -0x5ff0" (pointer_expression "*(int *)(puVar11 + -0x7fd8)" * (cast_expression "(int *)(puVar11 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fd8)" ( (binary_expression "puVar11 + -0x7fd8" identifier + number_literal) )))) + number_literal) , (cast_expression "(int)info->sinfo->stab_desc" ( (type_descriptor "int" primitive_type) ) (field_expression "info->sinfo->stab_desc" (field_expression "info->sinfo" identifier -> field_identifier) -> field_identifier)) ))) ;) (goto_statement "goto LAB_0001458c;" goto statement_identifier ;) })) (if_statement "if (info->elfinfo == (elf_symbol_type *)0x0) {\n    if (info->coffinfo != (coff_symbol_type *)0x0) {\n      pcVar9 = info->coffinfo->native;\n      uVar1 = (pcVar9->u).syment.n_sclass;\n      if (uVar1 == 'g') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d0;\n      }\n      else if (uVar1 == 'h') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78e0;\n      }\n      else if (uVar1 == 'd') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d8;\n      }\n      else {\n        uVar3 = (uint)(pcVar9->u).syment.n_type;\n        uVar8 = (uVar3 << 0x1a) >> 0x1e;\n        if (uVar3 == 0) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c8;\n        }\n        else if (uVar8 == 2) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78ec;\n        }\n        else if (uVar8 == 3) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0;\n        }\n        else {\n          iVar2 = *(int *)(puVar11 + -0x7fd8);\n          if (uVar8 == 1) {\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }\n          else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }\n        }\n      }\n      goto LAB_000145b8;\n    }\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x781c);\n  }\n  else {\n    uVar8 = (info->elfinfo->internal_elf_sym).st_info & 0xf;\n    if (uVar8 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00014468 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(puVar11 + *(int *)(*(int *)(puVar11 + -0x7fc4) + -0x7498 + uVar8 * 4)))();\n      return;\n    }\n    iVar2 = *(int *)(puVar11 + -0x7fd8);\n    (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b98));\n    if (uVar8 - 0xd < 3) {\n      pcVar10 = *(code **)(puVar11 + -0x7e48);\n      iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7878;\n    }\n    else {\n      pcVar10 = *(code **)(puVar11 + -0x7e48);\n      if (uVar8 - 10 < 3) {\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x785c;\n      }\n      else {\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7848;\n      }\n    }\n    uVar5 = (*pcVar10)(0,iVar7,5);\n    iVar7 = (**(code **)(puVar11 + -0x7ed8))(iVar2 + -0x5b98,uVar5,uVar8);\n    if (iVar7 < 0) {\nLAB_00014800:\n      puVar6 = (undefined4 *)(**(code **)(puVar11 + -0x7ed4))();\n      uVar5 = (**(code **)(puVar11 + -0x7f04))(*puVar6);\n                    /* WARNING: Subroutine does not return */\n      fatal((char *)(*(int *)(puVar11 + -0x7fc4) + -0x6f68),uVar5);\n    }\n    iVar2 = *(int *)(iVar2 + -0x5b98);\nLAB_000145b8:\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7838,iVar2);\n  }" if (parenthesized_expression "(info->elfinfo == (elf_symbol_type *)0x0)" ( (binary_expression "info->elfinfo == (elf_symbol_type *)0x0" (field_expression "info->elfinfo" identifier -> field_identifier) == (cast_expression "(elf_symbol_type *)0x0" ( (type_descriptor "elf_symbol_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (info->coffinfo != (coff_symbol_type *)0x0) {\n      pcVar9 = info->coffinfo->native;\n      uVar1 = (pcVar9->u).syment.n_sclass;\n      if (uVar1 == 'g') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d0;\n      }\n      else if (uVar1 == 'h') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78e0;\n      }\n      else if (uVar1 == 'd') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d8;\n      }\n      else {\n        uVar3 = (uint)(pcVar9->u).syment.n_type;\n        uVar8 = (uVar3 << 0x1a) >> 0x1e;\n        if (uVar3 == 0) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c8;\n        }\n        else if (uVar8 == 2) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78ec;\n        }\n        else if (uVar8 == 3) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0;\n        }\n        else {\n          iVar2 = *(int *)(puVar11 + -0x7fd8);\n          if (uVar8 == 1) {\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }\n          else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }\n        }\n      }\n      goto LAB_000145b8;\n    }\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x781c);\n  }" { (if_statement "if (info->coffinfo != (coff_symbol_type *)0x0) {\n      pcVar9 = info->coffinfo->native;\n      uVar1 = (pcVar9->u).syment.n_sclass;\n      if (uVar1 == 'g') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d0;\n      }\n      else if (uVar1 == 'h') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78e0;\n      }\n      else if (uVar1 == 'd') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d8;\n      }\n      else {\n        uVar3 = (uint)(pcVar9->u).syment.n_type;\n        uVar8 = (uVar3 << 0x1a) >> 0x1e;\n        if (uVar3 == 0) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c8;\n        }\n        else if (uVar8 == 2) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78ec;\n        }\n        else if (uVar8 == 3) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0;\n        }\n        else {\n          iVar2 = *(int *)(puVar11 + -0x7fd8);\n          if (uVar8 == 1) {\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }\n          else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }\n        }\n      }\n      goto LAB_000145b8;\n    }" if (parenthesized_expression "(info->coffinfo != (coff_symbol_type *)0x0)" ( (binary_expression "info->coffinfo != (coff_symbol_type *)0x0" (field_expression "info->coffinfo" identifier -> field_identifier) != (cast_expression "(coff_symbol_type *)0x0" ( (type_descriptor "coff_symbol_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar9 = info->coffinfo->native;\n      uVar1 = (pcVar9->u).syment.n_sclass;\n      if (uVar1 == 'g') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d0;\n      }\n      else if (uVar1 == 'h') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78e0;\n      }\n      else if (uVar1 == 'd') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d8;\n      }\n      else {\n        uVar3 = (uint)(pcVar9->u).syment.n_type;\n        uVar8 = (uVar3 << 0x1a) >> 0x1e;\n        if (uVar3 == 0) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c8;\n        }\n        else if (uVar8 == 2) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78ec;\n        }\n        else if (uVar8 == 3) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0;\n        }\n        else {\n          iVar2 = *(int *)(puVar11 + -0x7fd8);\n          if (uVar8 == 1) {\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }\n          else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }\n        }\n      }\n      goto LAB_000145b8;\n    }" { (expression_statement "pcVar9 = info->coffinfo->native;" (assignment_expression "pcVar9 = info->coffinfo->native" identifier = (field_expression "info->coffinfo->native" (field_expression "info->coffinfo" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "uVar1 = (pcVar9->u).syment.n_sclass;" (assignment_expression "uVar1 = (pcVar9->u).syment.n_sclass" identifier = (field_expression "(pcVar9->u).syment.n_sclass" (field_expression "(pcVar9->u).syment" (parenthesized_expression "(pcVar9->u)" ( (field_expression "pcVar9->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (uVar1 == 'g') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d0;\n      }\n      else if (uVar1 == 'h') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78e0;\n      }\n      else if (uVar1 == 'd') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d8;\n      }\n      else {\n        uVar3 = (uint)(pcVar9->u).syment.n_type;\n        uVar8 = (uVar3 << 0x1a) >> 0x1e;\n        if (uVar3 == 0) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c8;\n        }\n        else if (uVar8 == 2) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78ec;\n        }\n        else if (uVar8 == 3) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0;\n        }\n        else {\n          iVar2 = *(int *)(puVar11 + -0x7fd8);\n          if (uVar8 == 1) {\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }\n          else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }\n        }\n      }" if (parenthesized_expression "(uVar1 == 'g')" ( (binary_expression "uVar1 == 'g'" identifier == (char_literal "'g'" ' character ')) )) (compound_statement "{\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d0;\n      }" { (expression_statement "iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d0;" (assignment_expression "iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d0" identifier = (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x78d0" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else if (uVar1 == 'h') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78e0;\n      }\n      else if (uVar1 == 'd') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d8;\n      }\n      else {\n        uVar3 = (uint)(pcVar9->u).syment.n_type;\n        uVar8 = (uVar3 << 0x1a) >> 0x1e;\n        if (uVar3 == 0) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c8;\n        }\n        else if (uVar8 == 2) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78ec;\n        }\n        else if (uVar8 == 3) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0;\n        }\n        else {\n          iVar2 = *(int *)(puVar11 + -0x7fd8);\n          if (uVar8 == 1) {\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }\n          else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }\n        }\n      }" else (if_statement "if (uVar1 == 'h') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78e0;\n      }\n      else if (uVar1 == 'd') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d8;\n      }\n      else {\n        uVar3 = (uint)(pcVar9->u).syment.n_type;\n        uVar8 = (uVar3 << 0x1a) >> 0x1e;\n        if (uVar3 == 0) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c8;\n        }\n        else if (uVar8 == 2) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78ec;\n        }\n        else if (uVar8 == 3) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0;\n        }\n        else {\n          iVar2 = *(int *)(puVar11 + -0x7fd8);\n          if (uVar8 == 1) {\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }\n          else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }\n        }\n      }" if (parenthesized_expression "(uVar1 == 'h')" ( (binary_expression "uVar1 == 'h'" identifier == (char_literal "'h'" ' character ')) )) (compound_statement "{\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78e0;\n      }" { (expression_statement "iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78e0;" (assignment_expression "iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78e0" identifier = (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x78e0" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else if (uVar1 == 'd') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d8;\n      }\n      else {\n        uVar3 = (uint)(pcVar9->u).syment.n_type;\n        uVar8 = (uVar3 << 0x1a) >> 0x1e;\n        if (uVar3 == 0) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c8;\n        }\n        else if (uVar8 == 2) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78ec;\n        }\n        else if (uVar8 == 3) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0;\n        }\n        else {\n          iVar2 = *(int *)(puVar11 + -0x7fd8);\n          if (uVar8 == 1) {\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }\n          else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }\n        }\n      }" else (if_statement "if (uVar1 == 'd') {\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d8;\n      }\n      else {\n        uVar3 = (uint)(pcVar9->u).syment.n_type;\n        uVar8 = (uVar3 << 0x1a) >> 0x1e;\n        if (uVar3 == 0) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c8;\n        }\n        else if (uVar8 == 2) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78ec;\n        }\n        else if (uVar8 == 3) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0;\n        }\n        else {\n          iVar2 = *(int *)(puVar11 + -0x7fd8);\n          if (uVar8 == 1) {\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }\n          else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }\n        }\n      }" if (parenthesized_expression "(uVar1 == 'd')" ( (binary_expression "uVar1 == 'd'" identifier == (char_literal "'d'" ' character ')) )) (compound_statement "{\n        iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d8;\n      }" { (expression_statement "iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d8;" (assignment_expression "iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78d8" identifier = (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x78d8" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        uVar3 = (uint)(pcVar9->u).syment.n_type;\n        uVar8 = (uVar3 << 0x1a) >> 0x1e;\n        if (uVar3 == 0) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c8;\n        }\n        else if (uVar8 == 2) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78ec;\n        }\n        else if (uVar8 == 3) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0;\n        }\n        else {\n          iVar2 = *(int *)(puVar11 + -0x7fd8);\n          if (uVar8 == 1) {\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }\n          else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }\n        }\n      }" else (compound_statement "{\n        uVar3 = (uint)(pcVar9->u).syment.n_type;\n        uVar8 = (uVar3 << 0x1a) >> 0x1e;\n        if (uVar3 == 0) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c8;\n        }\n        else if (uVar8 == 2) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78ec;\n        }\n        else if (uVar8 == 3) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0;\n        }\n        else {\n          iVar2 = *(int *)(puVar11 + -0x7fd8);\n          if (uVar8 == 1) {\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }\n          else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }\n        }\n      }" { (expression_statement "uVar3 = (uint)(pcVar9->u).syment.n_type;" (assignment_expression "uVar3 = (uint)(pcVar9->u).syment.n_type" identifier = (field_expression "(uint)(pcVar9->u).syment.n_type" (field_expression "(uint)(pcVar9->u).syment" (call_expression "(uint)(pcVar9->u)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar9->u)" ( (field_expression "pcVar9->u" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) (expression_statement "uVar8 = (uVar3 << 0x1a) >> 0x1e;" (assignment_expression "uVar8 = (uVar3 << 0x1a) >> 0x1e" identifier = (binary_expression "(uVar3 << 0x1a) >> 0x1e" (parenthesized_expression "(uVar3 << 0x1a)" ( (binary_expression "uVar3 << 0x1a" identifier << number_literal) )) >> number_literal)) ;) (if_statement "if (uVar3 == 0) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c8;\n        }\n        else if (uVar8 == 2) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78ec;\n        }\n        else if (uVar8 == 3) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0;\n        }\n        else {\n          iVar2 = *(int *)(puVar11 + -0x7fd8);\n          if (uVar8 == 1) {\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }\n          else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }\n        }" if (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c8;\n        }" { (expression_statement "iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c8;" (assignment_expression "iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c8" identifier = (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x78c8" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else if (uVar8 == 2) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78ec;\n        }\n        else if (uVar8 == 3) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0;\n        }\n        else {\n          iVar2 = *(int *)(puVar11 + -0x7fd8);\n          if (uVar8 == 1) {\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }\n          else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }\n        }" else (if_statement "if (uVar8 == 2) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78ec;\n        }\n        else if (uVar8 == 3) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0;\n        }\n        else {\n          iVar2 = *(int *)(puVar11 + -0x7fd8);\n          if (uVar8 == 1) {\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }\n          else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }\n        }" if (parenthesized_expression "(uVar8 == 2)" ( (binary_expression "uVar8 == 2" identifier == number_literal) )) (compound_statement "{\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78ec;\n        }" { (expression_statement "iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78ec;" (assignment_expression "iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78ec" identifier = (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x78ec" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else if (uVar8 == 3) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0;\n        }\n        else {\n          iVar2 = *(int *)(puVar11 + -0x7fd8);\n          if (uVar8 == 1) {\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }\n          else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }\n        }" else (if_statement "if (uVar8 == 3) {\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0;\n        }\n        else {\n          iVar2 = *(int *)(puVar11 + -0x7fd8);\n          if (uVar8 == 1) {\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }\n          else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }\n        }" if (parenthesized_expression "(uVar8 == 3)" ( (binary_expression "uVar8 == 3" identifier == number_literal) )) (compound_statement "{\n          iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0;\n        }" { (expression_statement "iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0;" (assignment_expression "iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78c0" identifier = (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x78c0" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n          iVar2 = *(int *)(puVar11 + -0x7fd8);\n          if (uVar8 == 1) {\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }\n          else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }\n        }" else (compound_statement "{\n          iVar2 = *(int *)(puVar11 + -0x7fd8);\n          if (uVar8 == 1) {\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }\n          else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }\n        }" { (expression_statement "iVar2 = *(int *)(puVar11 + -0x7fd8);" (assignment_expression "iVar2 = *(int *)(puVar11 + -0x7fd8)" identifier = (pointer_expression "*(int *)(puVar11 + -0x7fd8)" * (cast_expression "(int *)(puVar11 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fd8)" ( (binary_expression "puVar11 + -0x7fd8" identifier + number_literal) ))))) ;) (if_statement "if (uVar8 == 1) {\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }\n          else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }" if (parenthesized_expression "(uVar8 == 1)" ( (binary_expression "uVar8 == 1" identifier == number_literal) )) (compound_statement "{\n            iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;\n          }" { (expression_statement "iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8;" (assignment_expression "iVar2 = *(int *)(puVar11 + -0x7fc4) + -0x78b8" identifier = (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x78b8" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }" else (compound_statement "{\n            (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));\n            uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);\n            iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);\n            if (iVar7 < 0) goto LAB_00014800;\n            iVar2 = *(int *)(iVar2 + -0x5b9c);\n          }" { (expression_statement "(**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c));" (call_expression "(**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b9c))" (parenthesized_expression "(**(code **)(puVar11 + -0x7e2c))" ( (pointer_expression "**(code **)(puVar11 + -0x7e2c)" * (pointer_expression "*(code **)(puVar11 + -0x7e2c)" * (cast_expression "(code **)(puVar11 + -0x7e2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x7e2c)" ( (binary_expression "puVar11 + -0x7e2c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar2 + -0x5b9c))" ( (pointer_expression "*(undefined4 *)(iVar2 + -0x5b9c)" * (cast_expression "(undefined4 *)(iVar2 + -0x5b9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + -0x5b9c)" ( (binary_expression "iVar2 + -0x5b9c" identifier + number_literal) )))) ))) ;) (expression_statement "uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5);" (assignment_expression "uVar5 = (**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5)" identifier = (call_expression "(**(code **)(puVar11 + -0x7e48))(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5)" (parenthesized_expression "(**(code **)(puVar11 + -0x7e48))" ( (pointer_expression "**(code **)(puVar11 + -0x7e48)" * (pointer_expression "*(code **)(puVar11 + -0x7e48)" * (cast_expression "(code **)(puVar11 + -0x7e48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x7e48)" ( (binary_expression "puVar11 + -0x7e48" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar11 + -0x7fc4) + -0x7830,5)" ( number_literal , (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x7830" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type);" (assignment_expression "iVar7 = (**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type)" identifier = (call_expression "(**(code **)(puVar11 + -0x7ed8))\n                              (iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type)" (parenthesized_expression "(**(code **)(puVar11 + -0x7ed8))" ( (pointer_expression "**(code **)(puVar11 + -0x7ed8)" * (pointer_expression "*(code **)(puVar11 + -0x7ed8)" * (cast_expression "(code **)(puVar11 + -0x7ed8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x7ed8)" ( (binary_expression "puVar11 + -0x7ed8" identifier + number_literal) ))))) )) (argument_list "(iVar2 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,\n                               (pcVar9->u).syment.n_type)" ( (binary_expression "iVar2 + -0x5b9c" identifier + number_literal) , identifier , (field_expression "(pcVar9->u).syment.n_sclass" (field_expression "(pcVar9->u).syment" (parenthesized_expression "(pcVar9->u)" ( (field_expression "pcVar9->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) , (field_expression "(pcVar9->u).syment.n_type" (field_expression "(pcVar9->u).syment" (parenthesized_expression "(pcVar9->u)" ( (field_expression "pcVar9->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) )))) ;) (if_statement "if (iVar7 < 0) goto LAB_00014800;" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00014800;" goto statement_identifier ;)) (expression_statement "iVar2 = *(int *)(iVar2 + -0x5b9c);" (assignment_expression "iVar2 = *(int *)(iVar2 + -0x5b9c)" identifier = (pointer_expression "*(int *)(iVar2 + -0x5b9c)" * (cast_expression "(int *)(iVar2 + -0x5b9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + -0x5b9c)" ( (binary_expression "iVar2 + -0x5b9c" identifier + number_literal) ))))) ;) }))) }))))))) }))))))) (goto_statement "goto LAB_000145b8;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x781c);" (call_expression "(**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x781c)" (parenthesized_expression "(**(code **)(puVar11 + -0x7e0c))" ( (pointer_expression "**(code **)(puVar11 + -0x7e0c)" * (pointer_expression "*(code **)(puVar11 + -0x7e0c)" * (cast_expression "(code **)(puVar11 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x7e0c)" ( (binary_expression "puVar11 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + -0x7fc4) + -0x781c)" ( (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x781c" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    uVar8 = (info->elfinfo->internal_elf_sym).st_info & 0xf;\n    if (uVar8 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00014468 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(puVar11 + *(int *)(*(int *)(puVar11 + -0x7fc4) + -0x7498 + uVar8 * 4)))();\n      return;\n    }\n    iVar2 = *(int *)(puVar11 + -0x7fd8);\n    (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b98));\n    if (uVar8 - 0xd < 3) {\n      pcVar10 = *(code **)(puVar11 + -0x7e48);\n      iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7878;\n    }\n    else {\n      pcVar10 = *(code **)(puVar11 + -0x7e48);\n      if (uVar8 - 10 < 3) {\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x785c;\n      }\n      else {\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7848;\n      }\n    }\n    uVar5 = (*pcVar10)(0,iVar7,5);\n    iVar7 = (**(code **)(puVar11 + -0x7ed8))(iVar2 + -0x5b98,uVar5,uVar8);\n    if (iVar7 < 0) {\nLAB_00014800:\n      puVar6 = (undefined4 *)(**(code **)(puVar11 + -0x7ed4))();\n      uVar5 = (**(code **)(puVar11 + -0x7f04))(*puVar6);\n                    /* WARNING: Subroutine does not return */\n      fatal((char *)(*(int *)(puVar11 + -0x7fc4) + -0x6f68),uVar5);\n    }\n    iVar2 = *(int *)(iVar2 + -0x5b98);\nLAB_000145b8:\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7838,iVar2);\n  }" else (compound_statement "{\n    uVar8 = (info->elfinfo->internal_elf_sym).st_info & 0xf;\n    if (uVar8 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00014468 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(puVar11 + *(int *)(*(int *)(puVar11 + -0x7fc4) + -0x7498 + uVar8 * 4)))();\n      return;\n    }\n    iVar2 = *(int *)(puVar11 + -0x7fd8);\n    (**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b98));\n    if (uVar8 - 0xd < 3) {\n      pcVar10 = *(code **)(puVar11 + -0x7e48);\n      iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7878;\n    }\n    else {\n      pcVar10 = *(code **)(puVar11 + -0x7e48);\n      if (uVar8 - 10 < 3) {\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x785c;\n      }\n      else {\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7848;\n      }\n    }\n    uVar5 = (*pcVar10)(0,iVar7,5);\n    iVar7 = (**(code **)(puVar11 + -0x7ed8))(iVar2 + -0x5b98,uVar5,uVar8);\n    if (iVar7 < 0) {\nLAB_00014800:\n      puVar6 = (undefined4 *)(**(code **)(puVar11 + -0x7ed4))();\n      uVar5 = (**(code **)(puVar11 + -0x7f04))(*puVar6);\n                    /* WARNING: Subroutine does not return */\n      fatal((char *)(*(int *)(puVar11 + -0x7fc4) + -0x6f68),uVar5);\n    }\n    iVar2 = *(int *)(iVar2 + -0x5b98);\nLAB_000145b8:\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7838,iVar2);\n  }" { (expression_statement "uVar8 = (info->elfinfo->internal_elf_sym).st_info & 0xf;" (assignment_expression "uVar8 = (info->elfinfo->internal_elf_sym).st_info & 0xf" identifier = (binary_expression "(info->elfinfo->internal_elf_sym).st_info & 0xf" (field_expression "(info->elfinfo->internal_elf_sym).st_info" (parenthesized_expression "(info->elfinfo->internal_elf_sym)" ( (field_expression "info->elfinfo->internal_elf_sym" (field_expression "info->elfinfo" identifier -> field_identifier) -> field_identifier) )) . field_identifier) & number_literal)) ;) (if_statement "if (uVar8 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00014468 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(puVar11 + *(int *)(*(int *)(puVar11 + -0x7fc4) + -0x7498 + uVar8 * 4)))();\n      return;\n    }" if (parenthesized_expression "(uVar8 < 7)" ( (binary_expression "uVar8 < 7" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not emulate address calculation at 0x00014468 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(puVar11 + *(int *)(*(int *)(puVar11 + -0x7fc4) + -0x7498 + uVar8 * 4)))();\n      return;\n    }" { comment comment (expression_statement "(*(code *)(puVar11 + *(int *)(*(int *)(puVar11 + -0x7fc4) + -0x7498 + uVar8 * 4)))();" (call_expression "(*(code *)(puVar11 + *(int *)(*(int *)(puVar11 + -0x7fc4) + -0x7498 + uVar8 * 4)))()" (parenthesized_expression "(*(code *)(puVar11 + *(int *)(*(int *)(puVar11 + -0x7fc4) + -0x7498 + uVar8 * 4)))" ( (pointer_expression "*(code *)(puVar11 + *(int *)(*(int *)(puVar11 + -0x7fc4) + -0x7498 + uVar8 * 4))" * (cast_expression "(code *)(puVar11 + *(int *)(*(int *)(puVar11 + -0x7fc4) + -0x7498 + uVar8 * 4))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + *(int *)(*(int *)(puVar11 + -0x7fc4) + -0x7498 + uVar8 * 4))" ( (binary_expression "puVar11 + *(int *)(*(int *)(puVar11 + -0x7fc4) + -0x7498 + uVar8 * 4)" identifier + (pointer_expression "*(int *)(*(int *)(puVar11 + -0x7fc4) + -0x7498 + uVar8 * 4)" * (cast_expression "(int *)(*(int *)(puVar11 + -0x7fc4) + -0x7498 + uVar8 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + -0x7fc4) + -0x7498 + uVar8 * 4)" ( (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x7498 + uVar8 * 4" (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x7498" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal) + (binary_expression "uVar8 * 4" identifier * number_literal)) ))))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar2 = *(int *)(puVar11 + -0x7fd8);" (assignment_expression "iVar2 = *(int *)(puVar11 + -0x7fd8)" identifier = (pointer_expression "*(int *)(puVar11 + -0x7fd8)" * (cast_expression "(int *)(puVar11 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fd8)" ( (binary_expression "puVar11 + -0x7fd8" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b98));" (call_expression "(**(code **)(puVar11 + -0x7e2c))(*(undefined4 *)(iVar2 + -0x5b98))" (parenthesized_expression "(**(code **)(puVar11 + -0x7e2c))" ( (pointer_expression "**(code **)(puVar11 + -0x7e2c)" * (pointer_expression "*(code **)(puVar11 + -0x7e2c)" * (cast_expression "(code **)(puVar11 + -0x7e2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x7e2c)" ( (binary_expression "puVar11 + -0x7e2c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar2 + -0x5b98))" ( (pointer_expression "*(undefined4 *)(iVar2 + -0x5b98)" * (cast_expression "(undefined4 *)(iVar2 + -0x5b98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + -0x5b98)" ( (binary_expression "iVar2 + -0x5b98" identifier + number_literal) )))) ))) ;) (if_statement "if (uVar8 - 0xd < 3) {\n      pcVar10 = *(code **)(puVar11 + -0x7e48);\n      iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7878;\n    }\n    else {\n      pcVar10 = *(code **)(puVar11 + -0x7e48);\n      if (uVar8 - 10 < 3) {\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x785c;\n      }\n      else {\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7848;\n      }\n    }" if (parenthesized_expression "(uVar8 - 0xd < 3)" ( (binary_expression "uVar8 - 0xd < 3" (binary_expression "uVar8 - 0xd" identifier - number_literal) < number_literal) )) (compound_statement "{\n      pcVar10 = *(code **)(puVar11 + -0x7e48);\n      iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7878;\n    }" { (expression_statement "pcVar10 = *(code **)(puVar11 + -0x7e48);" (assignment_expression "pcVar10 = *(code **)(puVar11 + -0x7e48)" identifier = (pointer_expression "*(code **)(puVar11 + -0x7e48)" * (cast_expression "(code **)(puVar11 + -0x7e48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x7e48)" ( (binary_expression "puVar11 + -0x7e48" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7878;" (assignment_expression "iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7878" identifier = (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x7878" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n      pcVar10 = *(code **)(puVar11 + -0x7e48);\n      if (uVar8 - 10 < 3) {\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x785c;\n      }\n      else {\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7848;\n      }\n    }" else (compound_statement "{\n      pcVar10 = *(code **)(puVar11 + -0x7e48);\n      if (uVar8 - 10 < 3) {\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x785c;\n      }\n      else {\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7848;\n      }\n    }" { (expression_statement "pcVar10 = *(code **)(puVar11 + -0x7e48);" (assignment_expression "pcVar10 = *(code **)(puVar11 + -0x7e48)" identifier = (pointer_expression "*(code **)(puVar11 + -0x7e48)" * (cast_expression "(code **)(puVar11 + -0x7e48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x7e48)" ( (binary_expression "puVar11 + -0x7e48" identifier + number_literal) ))))) ;) (if_statement "if (uVar8 - 10 < 3) {\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x785c;\n      }\n      else {\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7848;\n      }" if (parenthesized_expression "(uVar8 - 10 < 3)" ( (binary_expression "uVar8 - 10 < 3" (binary_expression "uVar8 - 10" identifier - number_literal) < number_literal) )) (compound_statement "{\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x785c;\n      }" { (expression_statement "iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x785c;" (assignment_expression "iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x785c" identifier = (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x785c" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7848;\n      }" else (compound_statement "{\n        iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7848;\n      }" { (expression_statement "iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7848;" (assignment_expression "iVar7 = *(int *)(puVar11 + -0x7fc4) + -0x7848" identifier = (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x7848" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) }))) }))) (expression_statement "uVar5 = (*pcVar10)(0,iVar7,5);" (assignment_expression "uVar5 = (*pcVar10)(0,iVar7,5)" identifier = (call_expression "(*pcVar10)(0,iVar7,5)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(0,iVar7,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "iVar7 = (**(code **)(puVar11 + -0x7ed8))(iVar2 + -0x5b98,uVar5,uVar8);" (assignment_expression "iVar7 = (**(code **)(puVar11 + -0x7ed8))(iVar2 + -0x5b98,uVar5,uVar8)" identifier = (call_expression "(**(code **)(puVar11 + -0x7ed8))(iVar2 + -0x5b98,uVar5,uVar8)" (parenthesized_expression "(**(code **)(puVar11 + -0x7ed8))" ( (pointer_expression "**(code **)(puVar11 + -0x7ed8)" * (pointer_expression "*(code **)(puVar11 + -0x7ed8)" * (cast_expression "(code **)(puVar11 + -0x7ed8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x7ed8)" ( (binary_expression "puVar11 + -0x7ed8" identifier + number_literal) ))))) )) (argument_list "(iVar2 + -0x5b98,uVar5,uVar8)" ( (binary_expression "iVar2 + -0x5b98" identifier + number_literal) , identifier , identifier )))) ;) (if_statement "if (iVar7 < 0) {\nLAB_00014800:\n      puVar6 = (undefined4 *)(**(code **)(puVar11 + -0x7ed4))();\n      uVar5 = (**(code **)(puVar11 + -0x7f04))(*puVar6);\n                    /* WARNING: Subroutine does not return */\n      fatal((char *)(*(int *)(puVar11 + -0x7fc4) + -0x6f68),uVar5);\n    }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_00014800:\n      puVar6 = (undefined4 *)(**(code **)(puVar11 + -0x7ed4))();\n      uVar5 = (**(code **)(puVar11 + -0x7f04))(*puVar6);\n                    /* WARNING: Subroutine does not return */\n      fatal((char *)(*(int *)(puVar11 + -0x7fc4) + -0x6f68),uVar5);\n    }" { (labeled_statement "LAB_00014800:\n      puVar6 = (undefined4 *)(**(code **)(puVar11 + -0x7ed4))();" statement_identifier : (expression_statement "puVar6 = (undefined4 *)(**(code **)(puVar11 + -0x7ed4))();" (assignment_expression "puVar6 = (undefined4 *)(**(code **)(puVar11 + -0x7ed4))()" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar11 + -0x7ed4))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar11 + -0x7ed4))()" (parenthesized_expression "(**(code **)(puVar11 + -0x7ed4))" ( (pointer_expression "**(code **)(puVar11 + -0x7ed4)" * (pointer_expression "*(code **)(puVar11 + -0x7ed4)" * (cast_expression "(code **)(puVar11 + -0x7ed4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x7ed4)" ( (binary_expression "puVar11 + -0x7ed4" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;)) (expression_statement "uVar5 = (**(code **)(puVar11 + -0x7f04))(*puVar6);" (assignment_expression "uVar5 = (**(code **)(puVar11 + -0x7f04))(*puVar6)" identifier = (call_expression "(**(code **)(puVar11 + -0x7f04))(*puVar6)" (parenthesized_expression "(**(code **)(puVar11 + -0x7f04))" ( (pointer_expression "**(code **)(puVar11 + -0x7f04)" * (pointer_expression "*(code **)(puVar11 + -0x7f04)" * (cast_expression "(code **)(puVar11 + -0x7f04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x7f04)" ( (binary_expression "puVar11 + -0x7f04" identifier + number_literal) ))))) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) comment (expression_statement "fatal((char *)(*(int *)(puVar11 + -0x7fc4) + -0x6f68),uVar5);" (call_expression "fatal((char *)(*(int *)(puVar11 + -0x7fc4) + -0x6f68),uVar5)" identifier (argument_list "((char *)(*(int *)(puVar11 + -0x7fc4) + -0x6f68),uVar5)" ( (cast_expression "(char *)(*(int *)(puVar11 + -0x7fc4) + -0x6f68)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + -0x7fc4) + -0x6f68)" ( (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x6f68" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) , identifier ))) ;) })) (expression_statement "iVar2 = *(int *)(iVar2 + -0x5b98);" (assignment_expression "iVar2 = *(int *)(iVar2 + -0x5b98)" identifier = (pointer_expression "*(int *)(iVar2 + -0x5b98)" * (cast_expression "(int *)(iVar2 + -0x5b98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + -0x5b98)" ( (binary_expression "iVar2 + -0x5b98" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000145b8:\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7838,iVar2);" statement_identifier : (expression_statement "(**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7838,iVar2);" (call_expression "(**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7838,iVar2)" (parenthesized_expression "(**(code **)(puVar11 + -0x7e0c))" ( (pointer_expression "**(code **)(puVar11 + -0x7e0c)" * (pointer_expression "*(code **)(puVar11 + -0x7e0c)" * (cast_expression "(code **)(puVar11 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x7e0c)" ( (binary_expression "puVar11 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + -0x7fc4) + -0x7838,iVar2)" ( (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x7838" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal) , identifier ))) ;)) }))) (expression_statement "peVar4 = info->elfinfo;" (assignment_expression "peVar4 = info->elfinfo" identifier = (field_expression "info->elfinfo" identifier -> field_identifier)) ;) (if_statement "if (peVar4 == (elf_symbol_type *)0x0) {\n    abfd_00 = *(bfd **)&info->ssize;\n    iVar2 = *(int *)(puVar11 + -0x7fd8);\n    if (abfd_00 != (bfd *)0x0 || (int)info->ssize != 0) goto LAB_000145ec;\nLAB_000146b4:\n    if (*(int *)(iVar2 + -0x5b78) == 0x20) {\n      (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a0);\n      goto LAB_00014600;\n    }\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a8);\n    peVar4 = info->elfinfo;\n  }\n  else {\n    abfd_00 = *(bfd **)&(peVar4->internal_elf_sym).st_size;\n    iVar2 = *(int *)(puVar11 + -0x7fd8);\n    if (abfd_00 == (bfd *)0x0 && (int)(peVar4->internal_elf_sym).st_size == 0) goto LAB_000146b4;\nLAB_000145ec:\n    print_value(abfd_00,CONCAT44(puVar11,in_stack_ffffffec));\nLAB_00014600:\n    peVar4 = info->elfinfo;\n  }" if (parenthesized_expression "(peVar4 == (elf_symbol_type *)0x0)" ( (binary_expression "peVar4 == (elf_symbol_type *)0x0" identifier == (cast_expression "(elf_symbol_type *)0x0" ( (type_descriptor "elf_symbol_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    abfd_00 = *(bfd **)&info->ssize;\n    iVar2 = *(int *)(puVar11 + -0x7fd8);\n    if (abfd_00 != (bfd *)0x0 || (int)info->ssize != 0) goto LAB_000145ec;\nLAB_000146b4:\n    if (*(int *)(iVar2 + -0x5b78) == 0x20) {\n      (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a0);\n      goto LAB_00014600;\n    }\n    (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a8);\n    peVar4 = info->elfinfo;\n  }" { (expression_statement "abfd_00 = *(bfd **)&info->ssize;" (assignment_expression "abfd_00 = *(bfd **)&info->ssize" identifier = (pointer_expression "*(bfd **)&info->ssize" * (cast_expression "(bfd **)&info->ssize" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&info->ssize" & (field_expression "info->ssize" identifier -> field_identifier))))) ;) (expression_statement "iVar2 = *(int *)(puVar11 + -0x7fd8);" (assignment_expression "iVar2 = *(int *)(puVar11 + -0x7fd8)" identifier = (pointer_expression "*(int *)(puVar11 + -0x7fd8)" * (cast_expression "(int *)(puVar11 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fd8)" ( (binary_expression "puVar11 + -0x7fd8" identifier + number_literal) ))))) ;) (if_statement "if (abfd_00 != (bfd *)0x0 || (int)info->ssize != 0) goto LAB_000145ec;" if (parenthesized_expression "(abfd_00 != (bfd *)0x0 || (int)info->ssize != 0)" ( (binary_expression "abfd_00 != (bfd *)0x0 || (int)info->ssize != 0" (binary_expression "abfd_00 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "(int)info->ssize != 0" (cast_expression "(int)info->ssize" ( (type_descriptor "int" primitive_type) ) (field_expression "info->ssize" identifier -> field_identifier)) != number_literal)) )) (goto_statement "goto LAB_000145ec;" goto statement_identifier ;)) (labeled_statement "LAB_000146b4:\n    if (*(int *)(iVar2 + -0x5b78) == 0x20) {\n      (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a0);\n      goto LAB_00014600;\n    }" statement_identifier : (if_statement "if (*(int *)(iVar2 + -0x5b78) == 0x20) {\n      (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a0);\n      goto LAB_00014600;\n    }" if (parenthesized_expression "(*(int *)(iVar2 + -0x5b78) == 0x20)" ( (binary_expression "*(int *)(iVar2 + -0x5b78) == 0x20" (pointer_expression "*(int *)(iVar2 + -0x5b78)" * (cast_expression "(int *)(iVar2 + -0x5b78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + -0x5b78)" ( (binary_expression "iVar2 + -0x5b78" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a0);\n      goto LAB_00014600;\n    }" { (expression_statement "(**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a0);" (call_expression "(**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a0)" (parenthesized_expression "(**(code **)(puVar11 + -0x7e0c))" ( (pointer_expression "**(code **)(puVar11 + -0x7e0c)" * (pointer_expression "*(code **)(puVar11 + -0x7e0c)" * (cast_expression "(code **)(puVar11 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x7e0c)" ( (binary_expression "puVar11 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + -0x7fc4) + -0x78a0)" ( (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x78a0" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_00014600;" goto statement_identifier ;) }))) (expression_statement "(**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a8);" (call_expression "(**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x78a8)" (parenthesized_expression "(**(code **)(puVar11 + -0x7e0c))" ( (pointer_expression "**(code **)(puVar11 + -0x7e0c)" * (pointer_expression "*(code **)(puVar11 + -0x7e0c)" * (cast_expression "(code **)(puVar11 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x7e0c)" ( (binary_expression "puVar11 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + -0x7fc4) + -0x78a8)" ( (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x78a8" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "peVar4 = info->elfinfo;" (assignment_expression "peVar4 = info->elfinfo" identifier = (field_expression "info->elfinfo" identifier -> field_identifier)) ;) }) (else_clause "else {\n    abfd_00 = *(bfd **)&(peVar4->internal_elf_sym).st_size;\n    iVar2 = *(int *)(puVar11 + -0x7fd8);\n    if (abfd_00 == (bfd *)0x0 && (int)(peVar4->internal_elf_sym).st_size == 0) goto LAB_000146b4;\nLAB_000145ec:\n    print_value(abfd_00,CONCAT44(puVar11,in_stack_ffffffec));\nLAB_00014600:\n    peVar4 = info->elfinfo;\n  }" else (compound_statement "{\n    abfd_00 = *(bfd **)&(peVar4->internal_elf_sym).st_size;\n    iVar2 = *(int *)(puVar11 + -0x7fd8);\n    if (abfd_00 == (bfd *)0x0 && (int)(peVar4->internal_elf_sym).st_size == 0) goto LAB_000146b4;\nLAB_000145ec:\n    print_value(abfd_00,CONCAT44(puVar11,in_stack_ffffffec));\nLAB_00014600:\n    peVar4 = info->elfinfo;\n  }" { (expression_statement "abfd_00 = *(bfd **)&(peVar4->internal_elf_sym).st_size;" (assignment_expression "abfd_00 = *(bfd **)&(peVar4->internal_elf_sym).st_size" identifier = (pointer_expression "*(bfd **)&(peVar4->internal_elf_sym).st_size" * (cast_expression "(bfd **)&(peVar4->internal_elf_sym).st_size" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(peVar4->internal_elf_sym).st_size" & (field_expression "(peVar4->internal_elf_sym).st_size" (parenthesized_expression "(peVar4->internal_elf_sym)" ( (field_expression "peVar4->internal_elf_sym" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "iVar2 = *(int *)(puVar11 + -0x7fd8);" (assignment_expression "iVar2 = *(int *)(puVar11 + -0x7fd8)" identifier = (pointer_expression "*(int *)(puVar11 + -0x7fd8)" * (cast_expression "(int *)(puVar11 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fd8)" ( (binary_expression "puVar11 + -0x7fd8" identifier + number_literal) ))))) ;) (if_statement "if (abfd_00 == (bfd *)0x0 && (int)(peVar4->internal_elf_sym).st_size == 0) goto LAB_000146b4;" if (parenthesized_expression "(abfd_00 == (bfd *)0x0 && (int)(peVar4->internal_elf_sym).st_size == 0)" ( (binary_expression "abfd_00 == (bfd *)0x0 && (int)(peVar4->internal_elf_sym).st_size == 0" (binary_expression "abfd_00 == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "(int)(peVar4->internal_elf_sym).st_size == 0" (cast_expression "(int)(peVar4->internal_elf_sym).st_size" ( (type_descriptor "int" primitive_type) ) (field_expression "(peVar4->internal_elf_sym).st_size" (parenthesized_expression "(peVar4->internal_elf_sym)" ( (field_expression "peVar4->internal_elf_sym" identifier -> field_identifier) )) . field_identifier)) == number_literal)) )) (goto_statement "goto LAB_000146b4;" goto statement_identifier ;)) (labeled_statement "LAB_000145ec:\n    print_value(abfd_00,CONCAT44(puVar11,in_stack_ffffffec));" statement_identifier : (expression_statement "print_value(abfd_00,CONCAT44(puVar11,in_stack_ffffffec));" (call_expression "print_value(abfd_00,CONCAT44(puVar11,in_stack_ffffffec))" identifier (argument_list "(abfd_00,CONCAT44(puVar11,in_stack_ffffffec))" ( identifier , (call_expression "CONCAT44(puVar11,in_stack_ffffffec)" identifier (argument_list "(puVar11,in_stack_ffffffec)" ( identifier , identifier ))) ))) ;)) (labeled_statement "LAB_00014600:\n    peVar4 = info->elfinfo;" statement_identifier : (expression_statement "peVar4 = info->elfinfo;" (assignment_expression "peVar4 = info->elfinfo" identifier = (field_expression "info->elfinfo" identifier -> field_identifier)) ;)) }))) (if_statement "if (peVar4 != (elf_symbol_type *)0x0) {\n    (**(code **)(puVar11 + -0x7e0c))\n              (*(int *)(puVar11 + -0x7fc4) + -0x7808,((peVar4->symbol).section)->name);\n    return;\n  }" if (parenthesized_expression "(peVar4 != (elf_symbol_type *)0x0)" ( (binary_expression "peVar4 != (elf_symbol_type *)0x0" identifier != (cast_expression "(elf_symbol_type *)0x0" ( (type_descriptor "elf_symbol_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(puVar11 + -0x7e0c))\n              (*(int *)(puVar11 + -0x7fc4) + -0x7808,((peVar4->symbol).section)->name);\n    return;\n  }" { (expression_statement "(**(code **)(puVar11 + -0x7e0c))\n              (*(int *)(puVar11 + -0x7fc4) + -0x7808,((peVar4->symbol).section)->name);" (call_expression "(**(code **)(puVar11 + -0x7e0c))\n              (*(int *)(puVar11 + -0x7fc4) + -0x7808,((peVar4->symbol).section)->name)" (parenthesized_expression "(**(code **)(puVar11 + -0x7e0c))" ( (pointer_expression "**(code **)(puVar11 + -0x7e0c)" * (pointer_expression "*(code **)(puVar11 + -0x7e0c)" * (cast_expression "(code **)(puVar11 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x7e0c)" ( (binary_expression "puVar11 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + -0x7fc4) + -0x7808,((peVar4->symbol).section)->name)" ( (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x7808" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal) , (field_expression "((peVar4->symbol).section)->name" (parenthesized_expression "((peVar4->symbol).section)" ( (field_expression "(peVar4->symbol).section" (parenthesized_expression "(peVar4->symbol)" ( (field_expression "peVar4->symbol" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (info->coffinfo != (coff_symbol_type *)0x0) {\n    (**(code **)(puVar11 + -0x7e0c))\n              (*(int *)(puVar11 + -0x7fc4) + -0x7808,((info->coffinfo->symbol).section)->name);\n    return;\n  }" if (parenthesized_expression "(info->coffinfo != (coff_symbol_type *)0x0)" ( (binary_expression "info->coffinfo != (coff_symbol_type *)0x0" (field_expression "info->coffinfo" identifier -> field_identifier) != (cast_expression "(coff_symbol_type *)0x0" ( (type_descriptor "coff_symbol_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(puVar11 + -0x7e0c))\n              (*(int *)(puVar11 + -0x7fc4) + -0x7808,((info->coffinfo->symbol).section)->name);\n    return;\n  }" { (expression_statement "(**(code **)(puVar11 + -0x7e0c))\n              (*(int *)(puVar11 + -0x7fc4) + -0x7808,((info->coffinfo->symbol).section)->name);" (call_expression "(**(code **)(puVar11 + -0x7e0c))\n              (*(int *)(puVar11 + -0x7fc4) + -0x7808,((info->coffinfo->symbol).section)->name)" (parenthesized_expression "(**(code **)(puVar11 + -0x7e0c))" ( (pointer_expression "**(code **)(puVar11 + -0x7e0c)" * (pointer_expression "*(code **)(puVar11 + -0x7e0c)" * (cast_expression "(code **)(puVar11 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x7e0c)" ( (binary_expression "puVar11 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + -0x7fc4) + -0x7808,((info->coffinfo->symbol).section)->name)" ( (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x7808" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal) , (field_expression "((info->coffinfo->symbol).section)->name" (parenthesized_expression "((info->coffinfo->symbol).section)" ( (field_expression "(info->coffinfo->symbol).section" (parenthesized_expression "(info->coffinfo->symbol)" ( (field_expression "info->coffinfo->symbol" (field_expression "info->coffinfo" identifier -> field_identifier) -> field_identifier) )) . field_identifier) )) -> field_identifier) ))) ;) (return_statement "return;" return ;) })) (labeled_statement "LAB_0001458c:\n  (**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7880);" statement_identifier : (expression_statement "(**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7880);" (call_expression "(**(code **)(puVar11 + -0x7e0c))(*(int *)(puVar11 + -0x7fc4) + -0x7880)" (parenthesized_expression "(**(code **)(puVar11 + -0x7e0c))" ( (pointer_expression "**(code **)(puVar11 + -0x7e0c)" * (pointer_expression "*(code **)(puVar11 + -0x7e0c)" * (cast_expression "(code **)(puVar11 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x7e0c)" ( (binary_expression "puVar11 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + -0x7fc4) + -0x7880)" ( (binary_expression "*(int *)(puVar11 + -0x7fc4) + -0x7880" (pointer_expression "*(int *)(puVar11 + -0x7fc4)" * (cast_expression "(int *)(puVar11 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x7fc4)" ( (binary_expression "puVar11 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0001438c(int *param_1,undefined4 param_2)\n\n{\n  char cVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  uint uVar7;\n  \n  FUN_00011fe4(PTR_DAT_0002a25c + -0x78b0,*(undefined4 *)(*param_1 + 0xc),param_2);\n  iVar2 = (*(code *)PTR_bfd_is_undefined_symclass_0002a3f8)((int)*(char *)(*param_1 + 8));\n  if (iVar2 == 0) {\n    FUN_00013c08(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1]);\n  }\n  else if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n  }\n  else {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }\n  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7894,(int)*(char *)(*param_1 + 8));\n  puVar6 = PTR_DAT_0002a248;\n  if (*(char *)(*param_1 + 8) == '-') {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14));\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12));\n    goto LAB_0001458c;\n  }\n  if (param_1[4] == 0) {\n    if (param_1[5] != 0) {\n      iVar2 = *(int *)(param_1[5] + 0x20);\n      cVar1 = *(char *)(iVar2 + 0x20);\n      if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }\n      goto LAB_000145b8;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x781c);\n  }\n  else {\n    uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf;\n    if (uVar7 < 7) {\n                    \n                    \n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }\n    (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98));\n    if (uVar7 - 0xd < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }\n    else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }\n    uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5);\n    iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7);\n    if (iVar2 < 0) {\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    \n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }\n    puVar6 = *(undefined **)(puVar6 + -0x5b98);\nLAB_000145b8:\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);\n  }\n  iVar2 = param_1[4];\n  if (iVar2 == 0) {\n    if (param_1[2] != 0 || param_1[3] != 0) goto LAB_000145ec;\nLAB_000146b4:\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n    iVar2 = param_1[4];\n  }\n  else {\n    if (*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0) goto LAB_000146b4;\nLAB_000145ec:\n    FUN_00013c08();\nLAB_00014600:\n    iVar2 = param_1[4];\n  }\n  if (iVar2 != 0) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14));\n    return;\n  }\n  if (param_1[5] != 0) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14));\n    return;\n  }\nLAB_0001458c:\n  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7880);\n  return;\n}\n\n" (function_definition "void FUN_0001438c(int *param_1,undefined4 param_2)\n\n{\n  char cVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  uint uVar7;\n  \n  FUN_00011fe4(PTR_DAT_0002a25c + -0x78b0,*(undefined4 *)(*param_1 + 0xc),param_2);\n  iVar2 = (*(code *)PTR_bfd_is_undefined_symclass_0002a3f8)((int)*(char *)(*param_1 + 8));\n  if (iVar2 == 0) {\n    FUN_00013c08(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1]);\n  }\n  else if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n  }\n  else {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }\n  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7894,(int)*(char *)(*param_1 + 8));\n  puVar6 = PTR_DAT_0002a248;\n  if (*(char *)(*param_1 + 8) == '-') {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14));\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12));\n    goto LAB_0001458c;\n  }\n  if (param_1[4] == 0) {\n    if (param_1[5] != 0) {\n      iVar2 = *(int *)(param_1[5] + 0x20);\n      cVar1 = *(char *)(iVar2 + 0x20);\n      if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }\n      goto LAB_000145b8;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x781c);\n  }\n  else {\n    uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf;\n    if (uVar7 < 7) {\n                    \n                    \n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }\n    (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98));\n    if (uVar7 - 0xd < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }\n    else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }\n    uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5);\n    iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7);\n    if (iVar2 < 0) {\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    \n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }\n    puVar6 = *(undefined **)(puVar6 + -0x5b98);\nLAB_000145b8:\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);\n  }\n  iVar2 = param_1[4];\n  if (iVar2 == 0) {\n    if (param_1[2] != 0 || param_1[3] != 0) goto LAB_000145ec;\nLAB_000146b4:\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n    iVar2 = param_1[4];\n  }\n  else {\n    if (*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0) goto LAB_000146b4;\nLAB_000145ec:\n    FUN_00013c08();\nLAB_00014600:\n    iVar2 = param_1[4];\n  }\n  if (iVar2 != 0) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14));\n    return;\n  }\n  if (param_1[5] != 0) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14));\n    return;\n  }\nLAB_0001458c:\n  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7880);\n  return;\n}" primitive_type (function_declarator "FUN_0001438c(int *param_1,undefined4 param_2)" identifier (parameter_list "(int *param_1,undefined4 param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  uint uVar7;\n  \n  FUN_00011fe4(PTR_DAT_0002a25c + -0x78b0,*(undefined4 *)(*param_1 + 0xc),param_2);\n  iVar2 = (*(code *)PTR_bfd_is_undefined_symclass_0002a3f8)((int)*(char *)(*param_1 + 8));\n  if (iVar2 == 0) {\n    FUN_00013c08(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1]);\n  }\n  else if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n  }\n  else {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }\n  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7894,(int)*(char *)(*param_1 + 8));\n  puVar6 = PTR_DAT_0002a248;\n  if (*(char *)(*param_1 + 8) == '-') {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14));\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12));\n    goto LAB_0001458c;\n  }\n  if (param_1[4] == 0) {\n    if (param_1[5] != 0) {\n      iVar2 = *(int *)(param_1[5] + 0x20);\n      cVar1 = *(char *)(iVar2 + 0x20);\n      if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }\n      goto LAB_000145b8;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x781c);\n  }\n  else {\n    uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf;\n    if (uVar7 < 7) {\n                    \n                    \n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }\n    (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98));\n    if (uVar7 - 0xd < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }\n    else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }\n    uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5);\n    iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7);\n    if (iVar2 < 0) {\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    \n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }\n    puVar6 = *(undefined **)(puVar6 + -0x5b98);\nLAB_000145b8:\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);\n  }\n  iVar2 = param_1[4];\n  if (iVar2 == 0) {\n    if (param_1[2] != 0 || param_1[3] != 0) goto LAB_000145ec;\nLAB_000146b4:\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n    iVar2 = param_1[4];\n  }\n  else {\n    if (*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0) goto LAB_000146b4;\nLAB_000145ec:\n    FUN_00013c08();\nLAB_00014600:\n    iVar2 = param_1[4];\n  }\n  if (iVar2 != 0) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14));\n    return;\n  }\n  if (param_1[5] != 0) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14));\n    return;\n  }\nLAB_0001458c:\n  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7880);\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (expression_statement "FUN_00011fe4(PTR_DAT_0002a25c + -0x78b0,*(undefined4 *)(*param_1 + 0xc),param_2);" (call_expression "FUN_00011fe4(PTR_DAT_0002a25c + -0x78b0,*(undefined4 *)(*param_1 + 0xc),param_2)" identifier (argument_list "(PTR_DAT_0002a25c + -0x78b0,*(undefined4 *)(*param_1 + 0xc),param_2)" ( (binary_expression "PTR_DAT_0002a25c + -0x78b0" identifier + number_literal) , (pointer_expression "*(undefined4 *)(*param_1 + 0xc)" * (cast_expression "(undefined4 *)(*param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0xc)" ( (binary_expression "*param_1 + 0xc" (pointer_expression "*param_1" * identifier) + number_literal) )))) , identifier ))) ;) (expression_statement "iVar2 = (*(code *)PTR_bfd_is_undefined_symclass_0002a3f8)((int)*(char *)(*param_1 + 8));" (assignment_expression "iVar2 = (*(code *)PTR_bfd_is_undefined_symclass_0002a3f8)((int)*(char *)(*param_1 + 8))" identifier = (call_expression "(*(code *)PTR_bfd_is_undefined_symclass_0002a3f8)((int)*(char *)(*param_1 + 8))" (parenthesized_expression "(*(code *)PTR_bfd_is_undefined_symclass_0002a3f8)" ( (pointer_expression "*(code *)PTR_bfd_is_undefined_symclass_0002a3f8" * (cast_expression "(code *)PTR_bfd_is_undefined_symclass_0002a3f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((int)*(char *)(*param_1 + 8))" ( (cast_expression "(int)*(char *)(*param_1 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)(*param_1 + 8)" * (cast_expression "(char *)(*param_1 + 8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )))) ;) (if_statement "if (iVar2 == 0) {\n    FUN_00013c08(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1]);\n  }\n  else if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n  }\n  else {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_00013c08(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1]);\n  }" { (expression_statement "FUN_00013c08(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1]);" (call_expression "FUN_00013c08(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1])" identifier (argument_list "(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1])" ( (pointer_expression "*(undefined4 *)*param_1" * (cast_expression "(undefined4 *)*param_1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) , (subscript_expression "((undefined4 *)*param_1)[1]" (parenthesized_expression "((undefined4 *)*param_1)" ( (cast_expression "(undefined4 *)*param_1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier)) )) [ number_literal ]) ))) ;) }) (else_clause "else if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n  }\n  else {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }" else (if_statement "if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n  }\n  else {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }" if (parenthesized_expression "(*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20)" ( (binary_expression "*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20" (pointer_expression "*(int *)(PTR_DAT_0002a248 + -0x5b78)" * (cast_expression "(int *)(PTR_DAT_0002a248 + -0x5b78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b78)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b78" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n  }" { (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a25c + -0x78a0)" ( (binary_expression "PTR_DAT_0002a25c + -0x78a0" identifier + number_literal) ))) ;) }) (else_clause "else {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }" else (compound_statement "{\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }" { (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a25c + -0x78a8)" ( (binary_expression "PTR_DAT_0002a25c + -0x78a8" identifier + number_literal) ))) ;) }))))) (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7894,(int)*(char *)(*param_1 + 8));" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7894,(int)*(char *)(*param_1 + 8))" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a25c + -0x7894,(int)*(char *)(*param_1 + 8))" ( (binary_expression "PTR_DAT_0002a25c + -0x7894" identifier + number_literal) , (cast_expression "(int)*(char *)(*param_1 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)(*param_1 + 8)" * (cast_expression "(char *)(*param_1 + 8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ))) ;) (expression_statement "puVar6 = PTR_DAT_0002a248;" (assignment_expression "puVar6 = PTR_DAT_0002a248" identifier = identifier) ;) (if_statement "if (*(char *)(*param_1 + 8) == '-') {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14));\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12));\n    goto LAB_0001458c;\n  }" if (parenthesized_expression "(*(char *)(*param_1 + 8) == '-')" ( (binary_expression "*(char *)(*param_1 + 8) == '-'" (pointer_expression "*(char *)(*param_1 + 8)" * (cast_expression "(char *)(*param_1 + 8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) )))) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14));\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12));\n    goto LAB_0001458c;\n  }" { (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14));" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14))" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14))" ( (binary_expression "PTR_DAT_0002a25c + -0x7888" identifier + number_literal) , (pointer_expression "*(undefined4 *)(*param_1 + 0x14)" * (cast_expression "(undefined4 *)(*param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x14)" ( (binary_expression "*param_1 + 0x14" (pointer_expression "*param_1" * identifier) + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12));" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12))" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12))" ( (binary_expression "PTR_DAT_0002a248 + -0x5ff0" identifier + number_literal) , (cast_expression "(int)*(short *)(*param_1 + 0x12)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(*param_1 + 0x12)" * (cast_expression "(short *)(*param_1 + 0x12)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x12)" ( (binary_expression "*param_1 + 0x12" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ))) ;) (goto_statement "goto LAB_0001458c;" goto statement_identifier ;) })) (if_statement "if (param_1[4] == 0) {\n    if (param_1[5] != 0) {\n      iVar2 = *(int *)(param_1[5] + 0x20);\n      cVar1 = *(char *)(iVar2 + 0x20);\n      if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }\n      goto LAB_000145b8;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x781c);\n  }\n  else {\n    uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf;\n    if (uVar7 < 7) {\n                    \n                    \n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }\n    (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98));\n    if (uVar7 - 0xd < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }\n    else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }\n    uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5);\n    iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7);\n    if (iVar2 < 0) {\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    \n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }\n    puVar6 = *(undefined **)(puVar6 + -0x5b98);\nLAB_000145b8:\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);\n  }" if (parenthesized_expression "(param_1[4] == 0)" ( (binary_expression "param_1[4] == 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    if (param_1[5] != 0) {\n      iVar2 = *(int *)(param_1[5] + 0x20);\n      cVar1 = *(char *)(iVar2 + 0x20);\n      if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }\n      goto LAB_000145b8;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x781c);\n  }" { (if_statement "if (param_1[5] != 0) {\n      iVar2 = *(int *)(param_1[5] + 0x20);\n      cVar1 = *(char *)(iVar2 + 0x20);\n      if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }\n      goto LAB_000145b8;\n    }" if (parenthesized_expression "(param_1[5] != 0)" ( (binary_expression "param_1[5] != 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      iVar2 = *(int *)(param_1[5] + 0x20);\n      cVar1 = *(char *)(iVar2 + 0x20);\n      if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }\n      goto LAB_000145b8;\n    }" { (expression_statement "iVar2 = *(int *)(param_1[5] + 0x20);" (assignment_expression "iVar2 = *(int *)(param_1[5] + 0x20)" identifier = (pointer_expression "*(int *)(param_1[5] + 0x20)" * (cast_expression "(int *)(param_1[5] + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[5] + 0x20)" ( (binary_expression "param_1[5] + 0x20" (subscript_expression "param_1[5]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "cVar1 = *(char *)(iVar2 + 0x20);" (assignment_expression "cVar1 = *(char *)(iVar2 + 0x20)" identifier = (pointer_expression "*(char *)(iVar2 + 0x20)" * (cast_expression "(char *)(iVar2 + 0x20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x20)" ( (binary_expression "iVar2 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }" if (parenthesized_expression "(cVar1 == 'g')" ( (binary_expression "cVar1 == 'g'" identifier == (char_literal "'g'" ' character ')) )) (compound_statement "{\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }" { (expression_statement "puVar6 = PTR_DAT_0002a25c + -0x78d0;" (assignment_expression "puVar6 = PTR_DAT_0002a25c + -0x78d0" identifier = (binary_expression "PTR_DAT_0002a25c + -0x78d0" identifier + number_literal)) ;) }) (else_clause "else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }" else (if_statement "if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }" if (parenthesized_expression "(cVar1 == 'h')" ( (binary_expression "cVar1 == 'h'" identifier == (char_literal "'h'" ' character ')) )) (compound_statement "{\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }" { (expression_statement "puVar6 = PTR_DAT_0002a25c + -0x78e0;" (assignment_expression "puVar6 = PTR_DAT_0002a25c + -0x78e0" identifier = (binary_expression "PTR_DAT_0002a25c + -0x78e0" identifier + number_literal)) ;) }) (else_clause "else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }" else (if_statement "if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }" if (parenthesized_expression "(cVar1 == 'd')" ( (binary_expression "cVar1 == 'd'" identifier == (char_literal "'d'" ' character ')) )) (compound_statement "{\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }" { (expression_statement "puVar6 = PTR_DAT_0002a25c + -0x78d8;" (assignment_expression "puVar6 = PTR_DAT_0002a25c + -0x78d8" identifier = (binary_expression "PTR_DAT_0002a25c + -0x78d8" identifier + number_literal)) ;) }) (else_clause "else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }" else (compound_statement "{\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }" { (expression_statement "uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;" (assignment_expression "uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e" identifier = (binary_expression "((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e" (parenthesized_expression "((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a)" ( (binary_expression "(uint)*(ushort *)(iVar2 + 0x1e) << 0x1a" (binary_expression "(uint)*(ushort *)(iVar2 + 0x1e)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(iVar2 + 0x1e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1e)" ( (binary_expression "iVar2 + 0x1e" identifier + number_literal) )))) << number_literal) )) >> number_literal)) ;) (if_statement "if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" if (parenthesized_expression "(*(ushort *)(iVar2 + 0x1e) == 0)" ( (binary_expression "*(ushort *)(iVar2 + 0x1e) == 0" (pointer_expression "*(ushort *)(iVar2 + 0x1e)" * (cast_expression "(ushort *)(iVar2 + 0x1e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1e)" ( (binary_expression "iVar2 + 0x1e" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }" { (expression_statement "puVar6 = PTR_DAT_0002a25c + -0x78c8;" (assignment_expression "puVar6 = PTR_DAT_0002a25c + -0x78c8" identifier = (binary_expression "PTR_DAT_0002a25c + -0x78c8" identifier + number_literal)) ;) }) (else_clause "else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" else (if_statement "if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" if (parenthesized_expression "(uVar7 == 2)" ( (binary_expression "uVar7 == 2" identifier == number_literal) )) (compound_statement "{\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }" { (expression_statement "puVar6 = PTR_DAT_0002a25c + -0x78ec;" (assignment_expression "puVar6 = PTR_DAT_0002a25c + -0x78ec" identifier = (binary_expression "PTR_DAT_0002a25c + -0x78ec" identifier + number_literal)) ;) }) (else_clause "else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" else (if_statement "if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" if (parenthesized_expression "(uVar7 == 3)" ( (binary_expression "uVar7 == 3" identifier == number_literal) )) (compound_statement "{\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }" { (expression_statement "puVar6 = PTR_DAT_0002a25c + -0x78c0;" (assignment_expression "puVar6 = PTR_DAT_0002a25c + -0x78c0" identifier = (binary_expression "PTR_DAT_0002a25c + -0x78c0" identifier + number_literal)) ;) }) (else_clause "else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" else (if_statement "if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" if (parenthesized_expression "(uVar7 == 1)" ( (binary_expression "uVar7 == 1" identifier == number_literal) )) (compound_statement "{\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }" { (expression_statement "puVar6 = PTR_DAT_0002a25c + -0x78b8;" (assignment_expression "puVar6 = PTR_DAT_0002a25c + -0x78b8" identifier = (binary_expression "PTR_DAT_0002a25c + -0x78b8" identifier + number_literal)) ;) }) (else_clause "else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" else (compound_statement "{\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" { (expression_statement "(*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));" (call_expression "(*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c))" (parenthesized_expression "(*(code *)PTR_free_0002a3f4)" ( (pointer_expression "*(code *)PTR_free_0002a3f4" * (cast_expression "(code *)PTR_free_0002a3f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c))" ( (pointer_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c)" * (cast_expression "(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b9c)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b9c" identifier + number_literal) )))) ))) ;) (expression_statement "uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);" (assignment_expression "uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0002a3d8)" ( (pointer_expression "*(code *)PTR_dcgettext_0002a3d8" * (cast_expression "(code *)PTR_dcgettext_0002a3d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0002a25c + -0x7830,5)" ( number_literal , (binary_expression "PTR_DAT_0002a25c + -0x7830" identifier + number_literal) , number_literal )))) ;) (expression_statement "iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));" (assignment_expression "iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e))" identifier = (call_expression "(*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e))" (parenthesized_expression "(*(code *)PTR_asprintf_0002a348)" ( (pointer_expression "*(code *)PTR_asprintf_0002a348" * (cast_expression "(code *)PTR_asprintf_0002a348" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e))" ( (binary_expression "puVar6 + -0x5b9c" identifier + number_literal) , identifier , (pointer_expression "*(undefined1 *)(iVar2 + 0x20)" * (cast_expression "(undefined1 *)(iVar2 + 0x20)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x20)" ( (binary_expression "iVar2 + 0x20" identifier + number_literal) )))) , (pointer_expression "*(undefined2 *)(iVar2 + 0x1e)" * (cast_expression "(undefined2 *)(iVar2 + 0x1e)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1e)" ( (binary_expression "iVar2 + 0x1e" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar2 < 0) goto LAB_00014800;" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00014800;" goto statement_identifier ;)) (expression_statement "puVar6 = *(undefined **)(puVar6 + -0x5b9c);" (assignment_expression "puVar6 = *(undefined **)(puVar6 + -0x5b9c)" identifier = (pointer_expression "*(undefined **)(puVar6 + -0x5b9c)" * (cast_expression "(undefined **)(puVar6 + -0x5b9c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + -0x5b9c)" ( (binary_expression "puVar6 + -0x5b9c" identifier + number_literal) ))))) ;) }))))))))) }))))))) (goto_statement "goto LAB_000145b8;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x781c);" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x781c)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a25c + -0x781c)" ( (binary_expression "PTR_DAT_0002a25c + -0x781c" identifier + number_literal) ))) ;) }) (else_clause "else {\n    uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf;\n    if (uVar7 < 7) {\n                    \n                    \n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }\n    (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98));\n    if (uVar7 - 0xd < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }\n    else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }\n    uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5);\n    iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7);\n    if (iVar2 < 0) {\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    \n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }\n    puVar6 = *(undefined **)(puVar6 + -0x5b98);\nLAB_000145b8:\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);\n  }" else (compound_statement "{\n    uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf;\n    if (uVar7 < 7) {\n                    \n                    \n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }\n    (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98));\n    if (uVar7 - 0xd < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }\n    else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }\n    uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5);\n    iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7);\n    if (iVar2 < 0) {\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    \n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }\n    puVar6 = *(undefined **)(puVar6 + -0x5b98);\nLAB_000145b8:\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);\n  }" { (expression_statement "uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf;" (assignment_expression "uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf" identifier = (binary_expression "*(byte *)(param_1[4] + 0x34) & 0xf" (pointer_expression "*(byte *)(param_1[4] + 0x34)" * (cast_expression "(byte *)(param_1[4] + 0x34)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[4] + 0x34)" ( (binary_expression "param_1[4] + 0x34" (subscript_expression "param_1[4]" identifier [ number_literal ]) + number_literal) )))) & number_literal)) ;) (if_statement "if (uVar7 < 7) {\n                    \n                    \n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }" if (parenthesized_expression "(uVar7 < 7)" ( (binary_expression "uVar7 < 7" identifier < number_literal) )) (compound_statement "{\n                    \n                    \n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }" { (expression_statement "(*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();" (call_expression "(*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))" ( (pointer_expression "*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498))" * (cast_expression "(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498))" ( (binary_expression "&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)" (pointer_expression "&_gp_1" & identifier) + (pointer_expression "*(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)" * (cast_expression "(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)" ( (binary_expression "PTR_DAT_0002a25c + uVar7 * 4 + -0x7498" (binary_expression "PTR_DAT_0002a25c + uVar7 * 4" identifier + (binary_expression "uVar7 * 4" identifier * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98));" (call_expression "(*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98))" (parenthesized_expression "(*(code *)PTR_free_0002a3f4)" ( (pointer_expression "*(code *)PTR_free_0002a3f4" * (cast_expression "(code *)PTR_free_0002a3f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98))" ( (pointer_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98)" * (cast_expression "(undefined4 *)(PTR_DAT_0002a248 + -0x5b98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b98)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b98" identifier + number_literal) )))) ))) ;) (if_statement "if (uVar7 - 0xd < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }\n    else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }" if (parenthesized_expression "(uVar7 - 0xd < 3)" ( (binary_expression "uVar7 - 0xd < 3" (binary_expression "uVar7 - 0xd" identifier - number_literal) < number_literal) )) (compound_statement "{\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }" { (expression_statement "puVar5 = PTR_DAT_0002a25c + -0x7878;" (assignment_expression "puVar5 = PTR_DAT_0002a25c + -0x7878" identifier = (binary_expression "PTR_DAT_0002a25c + -0x7878" identifier + number_literal)) ;) }) (else_clause "else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }" else (if_statement "if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }" if (parenthesized_expression "(uVar7 - 10 < 3)" ( (binary_expression "uVar7 - 10 < 3" (binary_expression "uVar7 - 10" identifier - number_literal) < number_literal) )) (compound_statement "{\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }" { (expression_statement "puVar5 = PTR_DAT_0002a25c + -0x785c;" (assignment_expression "puVar5 = PTR_DAT_0002a25c + -0x785c" identifier = (binary_expression "PTR_DAT_0002a25c + -0x785c" identifier + number_literal)) ;) }) (else_clause "else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }" else (compound_statement "{\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }" { (expression_statement "puVar5 = PTR_DAT_0002a25c + -0x7848;" (assignment_expression "puVar5 = PTR_DAT_0002a25c + -0x7848" identifier = (binary_expression "PTR_DAT_0002a25c + -0x7848" identifier + number_literal)) ;) }))))) (expression_statement "uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5);" (assignment_expression "uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0002a3d8)" ( (pointer_expression "*(code *)PTR_dcgettext_0002a3d8" * (cast_expression "(code *)PTR_dcgettext_0002a3d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar5,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7);" (assignment_expression "iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7)" identifier = (call_expression "(*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7)" (parenthesized_expression "(*(code *)PTR_asprintf_0002a348)" ( (pointer_expression "*(code *)PTR_asprintf_0002a348" * (cast_expression "(code *)PTR_asprintf_0002a348" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6 + -0x5b98,uVar3,uVar7)" ( (binary_expression "puVar6 + -0x5b98" identifier + number_literal) , identifier , identifier )))) ;) (if_statement "if (iVar2 < 0) {\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    \n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    \n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }" { (labeled_statement "LAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();" statement_identifier : (expression_statement "puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();" (assignment_expression "puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0002a34c)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0002a34c)()" (parenthesized_expression "(*(code *)PTR___errno_location_0002a34c)" ( (pointer_expression "*(code *)PTR___errno_location_0002a34c" * (cast_expression "(code *)PTR___errno_location_0002a34c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;)) (expression_statement "uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);" (assignment_expression "uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4)" identifier = (call_expression "(*(code *)PTR_xstrerror_0002a31c)(*puVar4)" (parenthesized_expression "(*(code *)PTR_xstrerror_0002a31c)" ( (pointer_expression "*(code *)PTR_xstrerror_0002a31c" * (cast_expression "(code *)PTR_xstrerror_0002a31c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar4)" ( (pointer_expression "*puVar4" * identifier) )))) ;) (expression_statement "fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);" (call_expression "fatal(PTR_DAT_0002a25c + -0x6f68,uVar3)" identifier (argument_list "(PTR_DAT_0002a25c + -0x6f68,uVar3)" ( (binary_expression "PTR_DAT_0002a25c + -0x6f68" identifier + number_literal) , identifier ))) ;) })) (expression_statement "puVar6 = *(undefined **)(puVar6 + -0x5b98);" (assignment_expression "puVar6 = *(undefined **)(puVar6 + -0x5b98)" identifier = (pointer_expression "*(undefined **)(puVar6 + -0x5b98)" * (cast_expression "(undefined **)(puVar6 + -0x5b98)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + -0x5b98)" ( (binary_expression "puVar6 + -0x5b98" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000145b8:\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);" statement_identifier : (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a25c + -0x7838,puVar6)" ( (binary_expression "PTR_DAT_0002a25c + -0x7838" identifier + number_literal) , identifier ))) ;)) }))) (expression_statement "iVar2 = param_1[4];" (assignment_expression "iVar2 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (if_statement "if (iVar2 == 0) {\n    if (param_1[2] != 0 || param_1[3] != 0) goto LAB_000145ec;\nLAB_000146b4:\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n    iVar2 = param_1[4];\n  }\n  else {\n    if (*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0) goto LAB_000146b4;\nLAB_000145ec:\n    FUN_00013c08();\nLAB_00014600:\n    iVar2 = param_1[4];\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    if (param_1[2] != 0 || param_1[3] != 0) goto LAB_000145ec;\nLAB_000146b4:\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n    iVar2 = param_1[4];\n  }" { (if_statement "if (param_1[2] != 0 || param_1[3] != 0) goto LAB_000145ec;" if (parenthesized_expression "(param_1[2] != 0 || param_1[3] != 0)" ( (binary_expression "param_1[2] != 0 || param_1[3] != 0" (binary_expression "param_1[2] != 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) != number_literal) || (binary_expression "param_1[3] != 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) != number_literal)) )) (goto_statement "goto LAB_000145ec;" goto statement_identifier ;)) (labeled_statement "LAB_000146b4:\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }" statement_identifier : (if_statement "if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }" if (parenthesized_expression "(*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20)" ( (binary_expression "*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20" (pointer_expression "*(int *)(PTR_DAT_0002a248 + -0x5b78)" * (cast_expression "(int *)(PTR_DAT_0002a248 + -0x5b78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b78)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b78" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }" { (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a25c + -0x78a0)" ( (binary_expression "PTR_DAT_0002a25c + -0x78a0" identifier + number_literal) ))) ;) (goto_statement "goto LAB_00014600;" goto statement_identifier ;) }))) (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a25c + -0x78a8)" ( (binary_expression "PTR_DAT_0002a25c + -0x78a8" identifier + number_literal) ))) ;) (expression_statement "iVar2 = param_1[4];" (assignment_expression "iVar2 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) }) (else_clause "else {\n    if (*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0) goto LAB_000146b4;\nLAB_000145ec:\n    FUN_00013c08();\nLAB_00014600:\n    iVar2 = param_1[4];\n  }" else (compound_statement "{\n    if (*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0) goto LAB_000146b4;\nLAB_000145ec:\n    FUN_00013c08();\nLAB_00014600:\n    iVar2 = param_1[4];\n  }" { (if_statement "if (*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0) goto LAB_000146b4;" if (parenthesized_expression "(*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0)" ( (binary_expression "*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0" (binary_expression "*(int *)(iVar2 + 0x28) == 0" (pointer_expression "*(int *)(iVar2 + 0x28)" * (cast_expression "(int *)(iVar2 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x28)" ( (binary_expression "iVar2 + 0x28" identifier + number_literal) )))) == number_literal) && (binary_expression "*(int *)(iVar2 + 0x2c) == 0" (pointer_expression "*(int *)(iVar2 + 0x2c)" * (cast_expression "(int *)(iVar2 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2c)" ( (binary_expression "iVar2 + 0x2c" identifier + number_literal) )))) == number_literal)) )) (goto_statement "goto LAB_000146b4;" goto statement_identifier ;)) (labeled_statement "LAB_000145ec:\n    FUN_00013c08();" statement_identifier : (expression_statement "FUN_00013c08();" (call_expression "FUN_00013c08()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_00014600:\n    iVar2 = param_1[4];" statement_identifier : (expression_statement "iVar2 = param_1[4];" (assignment_expression "iVar2 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;)) }))) (if_statement "if (iVar2 != 0) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14));\n    return;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14));\n    return;\n  }" { (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14));" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14))" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14))" ( (binary_expression "PTR_DAT_0002a25c + -0x7808" identifier + number_literal) , (pointer_expression "**(undefined4 **)(iVar2 + 0x14)" * (pointer_expression "*(undefined4 **)(iVar2 + 0x14)" * (cast_expression "(undefined4 **)(iVar2 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) ))))) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (param_1[5] != 0) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14));\n    return;\n  }" if (parenthesized_expression "(param_1[5] != 0)" ( (binary_expression "param_1[5] != 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14));\n    return;\n  }" { (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14));" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14))" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14))" ( (binary_expression "PTR_DAT_0002a25c + -0x7808" identifier + number_literal) , (pointer_expression "**(undefined4 **)(param_1[5] + 0x14)" * (pointer_expression "*(undefined4 **)(param_1[5] + 0x14)" * (cast_expression "(undefined4 **)(param_1[5] + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[5] + 0x14)" ( (binary_expression "param_1[5] + 0x14" (subscript_expression "param_1[5]" identifier [ number_literal ]) + number_literal) ))))) ))) ;) (return_statement "return;" return ;) })) (labeled_statement "LAB_0001458c:\n  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7880);" statement_identifier : (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7880);" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7880)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002a25c + -0x7880)" ( (binary_expression "PTR_DAT_0002a25c + -0x7880" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) , (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) )) [ LIT ]) ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) }))))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == (char_literal ' character ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + 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 == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) )) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))))))))) }))))))) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) )))) )) (argument_list ( ))) ;) (return_statement return ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT ))) ;)) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) || (binary_expression (subscript_expression IDENT [ LIT ]) != LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (goto_statement goto statement_identifier ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) && (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ))) ;) (return_statement return ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;)) (return_statement return ;) })))
(function_definition "void FUN_0001438c(int *param_1,undefined4 param_2)\n\n{\n  char cVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  uint uVar7;\n  \n  FUN_00011fe4(PTR_DAT_0002a25c + -0x78b0,*(undefined4 *)(*param_1 + 0xc),param_2);\n  iVar2 = (*(code *)PTR_bfd_is_undefined_symclass_0002a3f8)((int)*(char *)(*param_1 + 8));\n  if (iVar2 == 0) {\n    FUN_00013c08(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1]);\n  }\n  else if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n  }\n  else {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }\n  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7894,(int)*(char *)(*param_1 + 8));\n  puVar6 = PTR_DAT_0002a248;\n  if (*(char *)(*param_1 + 8) == '-') {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14));\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12));\n    goto LAB_0001458c;\n  }\n  if (param_1[4] == 0) {\n    if (param_1[5] != 0) {\n      iVar2 = *(int *)(param_1[5] + 0x20);\n      cVar1 = *(char *)(iVar2 + 0x20);\n      if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }\n      goto LAB_000145b8;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x781c);\n  }\n  else {\n    uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf;\n    if (uVar7 < 7) {\n                    \n                    \n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }\n    (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98));\n    if (uVar7 - 0xd < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }\n    else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }\n    uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5);\n    iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7);\n    if (iVar2 < 0) {\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    \n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }\n    puVar6 = *(undefined **)(puVar6 + -0x5b98);\nLAB_000145b8:\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);\n  }\n  iVar2 = param_1[4];\n  if (iVar2 == 0) {\n    if (param_1[2] != 0 || param_1[3] != 0) goto LAB_000145ec;\nLAB_000146b4:\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n    iVar2 = param_1[4];\n  }\n  else {\n    if (*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0) goto LAB_000146b4;\nLAB_000145ec:\n    FUN_00013c08();\nLAB_00014600:\n    iVar2 = param_1[4];\n  }\n  if (iVar2 != 0) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14));\n    return;\n  }\n  if (param_1[5] != 0) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14));\n    return;\n  }\nLAB_0001458c:\n  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7880);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0001438c(int *param_1,undefined4 param_2)" (identifier "FUN_0001438c") (parameter_list "(int *param_1,undefined4 param_2)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  uint uVar7;\n  \n  FUN_00011fe4(PTR_DAT_0002a25c + -0x78b0,*(undefined4 *)(*param_1 + 0xc),param_2);\n  iVar2 = (*(code *)PTR_bfd_is_undefined_symclass_0002a3f8)((int)*(char *)(*param_1 + 8));\n  if (iVar2 == 0) {\n    FUN_00013c08(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1]);\n  }\n  else if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n  }\n  else {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }\n  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7894,(int)*(char *)(*param_1 + 8));\n  puVar6 = PTR_DAT_0002a248;\n  if (*(char *)(*param_1 + 8) == '-') {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14));\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12));\n    goto LAB_0001458c;\n  }\n  if (param_1[4] == 0) {\n    if (param_1[5] != 0) {\n      iVar2 = *(int *)(param_1[5] + 0x20);\n      cVar1 = *(char *)(iVar2 + 0x20);\n      if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }\n      goto LAB_000145b8;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x781c);\n  }\n  else {\n    uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf;\n    if (uVar7 < 7) {\n                    \n                    \n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }\n    (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98));\n    if (uVar7 - 0xd < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }\n    else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }\n    uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5);\n    iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7);\n    if (iVar2 < 0) {\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    \n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }\n    puVar6 = *(undefined **)(puVar6 + -0x5b98);\nLAB_000145b8:\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);\n  }\n  iVar2 = param_1[4];\n  if (iVar2 == 0) {\n    if (param_1[2] != 0 || param_1[3] != 0) goto LAB_000145ec;\nLAB_000146b4:\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n    iVar2 = param_1[4];\n  }\n  else {\n    if (*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0) goto LAB_000146b4;\nLAB_000145ec:\n    FUN_00013c08();\nLAB_00014600:\n    iVar2 = param_1[4];\n  }\n  if (iVar2 != 0) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14));\n    return;\n  }\n  if (param_1[5] != 0) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14));\n    return;\n  }\nLAB_0001458c:\n  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7880);\n  return;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined4 *puVar4;" (type_identifier "undefined4") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined *puVar6;" (type_identifier "undefined") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (expression_statement "FUN_00011fe4(PTR_DAT_0002a25c + -0x78b0,*(undefined4 *)(*param_1 + 0xc),param_2);" (call_expression "FUN_00011fe4(PTR_DAT_0002a25c + -0x78b0,*(undefined4 *)(*param_1 + 0xc),param_2)" (identifier "FUN_00011fe4") (argument_list "(PTR_DAT_0002a25c + -0x78b0,*(undefined4 *)(*param_1 + 0xc),param_2)" (( "(") (binary_expression "PTR_DAT_0002a25c + -0x78b0" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x78b0")) (, ",") (pointer_expression "*(undefined4 *)(*param_1 + 0xc)" (* "*") (cast_expression "(undefined4 *)(*param_1 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 0xc)" (( "(") (binary_expression "*param_1 + 0xc" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0xc")) () ")")))) (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "iVar2 = (*(code *)PTR_bfd_is_undefined_symclass_0002a3f8)((int)*(char *)(*param_1 + 8));" (assignment_expression "iVar2 = (*(code *)PTR_bfd_is_undefined_symclass_0002a3f8)((int)*(char *)(*param_1 + 8))" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_bfd_is_undefined_symclass_0002a3f8)((int)*(char *)(*param_1 + 8))" (parenthesized_expression "(*(code *)PTR_bfd_is_undefined_symclass_0002a3f8)" (( "(") (pointer_expression "*(code *)PTR_bfd_is_undefined_symclass_0002a3f8" (* "*") (cast_expression "(code *)PTR_bfd_is_undefined_symclass_0002a3f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bfd_is_undefined_symclass_0002a3f8"))) () ")")) (argument_list "((int)*(char *)(*param_1 + 8))" (( "(") (cast_expression "(int)*(char *)(*param_1 + 8)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(char *)(*param_1 + 8)" (* "*") (cast_expression "(char *)(*param_1 + 8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")"))))) () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n    FUN_00013c08(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1]);\n  }\n  else if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n  }\n  else {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_00013c08(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1]);\n  }" ({ "{") (expression_statement "FUN_00013c08(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1]);" (call_expression "FUN_00013c08(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1])" (identifier "FUN_00013c08") (argument_list "(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1])" (( "(") (pointer_expression "*(undefined4 *)*param_1" (* "*") (cast_expression "(undefined4 *)*param_1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (, ",") (subscript_expression "((undefined4 *)*param_1)[1]" (parenthesized_expression "((undefined4 *)*param_1)" (( "(") (cast_expression "(undefined4 *)*param_1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) () ")")) ([ "[") (number_literal "1") (] "]")) () ")"))) (; ";")) (} "}")) (else_clause "else if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n  }\n  else {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }" (else "else") (if_statement "if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n  }\n  else {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }" (if "if") (parenthesized_expression "(*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20)" (( "(") (binary_expression "*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20" (pointer_expression "*(int *)(PTR_DAT_0002a248 + -0x5b78)" (* "*") (cast_expression "(int *)(PTR_DAT_0002a248 + -0x5b78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b78)" (( "(") (binary_expression "PTR_DAT_0002a248 + -0x5b78" (identifier "PTR_DAT_0002a248") (+ "+") (number_literal "-0x5b78")) () ")")))) (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n  }" ({ "{") (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" (( "(") (pointer_expression "*(code *)PTR_printf_0002a414" (* "*") (cast_expression "(code *)PTR_printf_0002a414" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_printf_0002a414"))) () ")")) (argument_list "(PTR_DAT_0002a25c + -0x78a0)" (( "(") (binary_expression "PTR_DAT_0002a25c + -0x78a0" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x78a0")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }" (else "else") (compound_statement "{\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n  }" ({ "{") (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" (( "(") (pointer_expression "*(code *)PTR_printf_0002a414" (* "*") (cast_expression "(code *)PTR_printf_0002a414" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_printf_0002a414"))) () ")")) (argument_list "(PTR_DAT_0002a25c + -0x78a8)" (( "(") (binary_expression "PTR_DAT_0002a25c + -0x78a8" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x78a8")) () ")"))) (; ";")) (} "}")))))) (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7894,(int)*(char *)(*param_1 + 8));" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7894,(int)*(char *)(*param_1 + 8))" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" (( "(") (pointer_expression "*(code *)PTR_printf_0002a414" (* "*") (cast_expression "(code *)PTR_printf_0002a414" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_printf_0002a414"))) () ")")) (argument_list "(PTR_DAT_0002a25c + -0x7894,(int)*(char *)(*param_1 + 8))" (( "(") (binary_expression "PTR_DAT_0002a25c + -0x7894" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x7894")) (, ",") (cast_expression "(int)*(char *)(*param_1 + 8)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(char *)(*param_1 + 8)" (* "*") (cast_expression "(char *)(*param_1 + 8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")"))))) () ")"))) (; ";")) (expression_statement "puVar6 = PTR_DAT_0002a248;" (assignment_expression "puVar6 = PTR_DAT_0002a248" (identifier "puVar6") (= "=") (identifier "PTR_DAT_0002a248")) (; ";")) (if_statement "if (*(char *)(*param_1 + 8) == '-') {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14));\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12));\n    goto LAB_0001458c;\n  }" (if "if") (parenthesized_expression "(*(char *)(*param_1 + 8) == '-')" (( "(") (binary_expression "*(char *)(*param_1 + 8) == '-'" (pointer_expression "*(char *)(*param_1 + 8)" (* "*") (cast_expression "(char *)(*param_1 + 8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")")))) (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")")) (compound_statement "{\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14));\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12));\n    goto LAB_0001458c;\n  }" ({ "{") (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14));" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14))" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" (( "(") (pointer_expression "*(code *)PTR_printf_0002a414" (* "*") (cast_expression "(code *)PTR_printf_0002a414" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_printf_0002a414"))) () ")")) (argument_list "(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14))" (( "(") (binary_expression "PTR_DAT_0002a25c + -0x7888" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x7888")) (, ",") (pointer_expression "*(undefined4 *)(*param_1 + 0x14)" (* "*") (cast_expression "(undefined4 *)(*param_1 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 0x14)" (( "(") (binary_expression "*param_1 + 0x14" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x14")) () ")")))) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12));" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12))" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" (( "(") (pointer_expression "*(code *)PTR_printf_0002a414" (* "*") (cast_expression "(code *)PTR_printf_0002a414" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_printf_0002a414"))) () ")")) (argument_list "(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12))" (( "(") (binary_expression "PTR_DAT_0002a248 + -0x5ff0" (identifier "PTR_DAT_0002a248") (+ "+") (number_literal "-0x5ff0")) (, ",") (cast_expression "(int)*(short *)(*param_1 + 0x12)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(*param_1 + 0x12)" (* "*") (cast_expression "(short *)(*param_1 + 0x12)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 0x12)" (( "(") (binary_expression "*param_1 + 0x12" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x12")) () ")"))))) () ")"))) (; ";")) (goto_statement "goto LAB_0001458c;" (goto "goto") (statement_identifier "LAB_0001458c") (; ";")) (} "}"))) (if_statement "if (param_1[4] == 0) {\n    if (param_1[5] != 0) {\n      iVar2 = *(int *)(param_1[5] + 0x20);\n      cVar1 = *(char *)(iVar2 + 0x20);\n      if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }\n      goto LAB_000145b8;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x781c);\n  }\n  else {\n    uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf;\n    if (uVar7 < 7) {\n                    \n                    \n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }\n    (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98));\n    if (uVar7 - 0xd < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }\n    else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }\n    uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5);\n    iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7);\n    if (iVar2 < 0) {\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    \n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }\n    puVar6 = *(undefined **)(puVar6 + -0x5b98);\nLAB_000145b8:\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);\n  }" (if "if") (parenthesized_expression "(param_1[4] == 0)" (( "(") (binary_expression "param_1[4] == 0" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (param_1[5] != 0) {\n      iVar2 = *(int *)(param_1[5] + 0x20);\n      cVar1 = *(char *)(iVar2 + 0x20);\n      if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }\n      goto LAB_000145b8;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x781c);\n  }" ({ "{") (if_statement "if (param_1[5] != 0) {\n      iVar2 = *(int *)(param_1[5] + 0x20);\n      cVar1 = *(char *)(iVar2 + 0x20);\n      if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }\n      goto LAB_000145b8;\n    }" (if "if") (parenthesized_expression "(param_1[5] != 0)" (( "(") (binary_expression "param_1[5] != 0" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar2 = *(int *)(param_1[5] + 0x20);\n      cVar1 = *(char *)(iVar2 + 0x20);\n      if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }\n      goto LAB_000145b8;\n    }" ({ "{") (expression_statement "iVar2 = *(int *)(param_1[5] + 0x20);" (assignment_expression "iVar2 = *(int *)(param_1[5] + 0x20)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(param_1[5] + 0x20)" (* "*") (cast_expression "(int *)(param_1[5] + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[5] + 0x20)" (( "(") (binary_expression "param_1[5] + 0x20" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "cVar1 = *(char *)(iVar2 + 0x20);" (assignment_expression "cVar1 = *(char *)(iVar2 + 0x20)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(iVar2 + 0x20)" (* "*") (cast_expression "(char *)(iVar2 + 0x20)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x20)" (( "(") (binary_expression "iVar2 + 0x20" (identifier "iVar2") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (cVar1 == 'g') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }\n      else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }" (if "if") (parenthesized_expression "(cVar1 == 'g')" (( "(") (binary_expression "cVar1 == 'g'" (identifier "cVar1") (== "==") (char_literal "'g'" (' "'") (character "g") (' "'"))) () ")")) (compound_statement "{\n        puVar6 = PTR_DAT_0002a25c + -0x78d0;\n      }" ({ "{") (expression_statement "puVar6 = PTR_DAT_0002a25c + -0x78d0;" (assignment_expression "puVar6 = PTR_DAT_0002a25c + -0x78d0" (identifier "puVar6") (= "=") (binary_expression "PTR_DAT_0002a25c + -0x78d0" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x78d0"))) (; ";")) (} "}")) (else_clause "else if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }" (else "else") (if_statement "if (cVar1 == 'h') {\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }\n      else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }" (if "if") (parenthesized_expression "(cVar1 == 'h')" (( "(") (binary_expression "cVar1 == 'h'" (identifier "cVar1") (== "==") (char_literal "'h'" (' "'") (character "h") (' "'"))) () ")")) (compound_statement "{\n        puVar6 = PTR_DAT_0002a25c + -0x78e0;\n      }" ({ "{") (expression_statement "puVar6 = PTR_DAT_0002a25c + -0x78e0;" (assignment_expression "puVar6 = PTR_DAT_0002a25c + -0x78e0" (identifier "puVar6") (= "=") (binary_expression "PTR_DAT_0002a25c + -0x78e0" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x78e0"))) (; ";")) (} "}")) (else_clause "else if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }" (else "else") (if_statement "if (cVar1 == 'd') {\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }\n      else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }" (if "if") (parenthesized_expression "(cVar1 == 'd')" (( "(") (binary_expression "cVar1 == 'd'" (identifier "cVar1") (== "==") (char_literal "'d'" (' "'") (character "d") (' "'"))) () ")")) (compound_statement "{\n        puVar6 = PTR_DAT_0002a25c + -0x78d8;\n      }" ({ "{") (expression_statement "puVar6 = PTR_DAT_0002a25c + -0x78d8;" (assignment_expression "puVar6 = PTR_DAT_0002a25c + -0x78d8" (identifier "puVar6") (= "=") (binary_expression "PTR_DAT_0002a25c + -0x78d8" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x78d8"))) (; ";")) (} "}")) (else_clause "else {\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }" (else "else") (compound_statement "{\n        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;\n        if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }\n      }" ({ "{") (expression_statement "uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;" (assignment_expression "uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e" (identifier "uVar7") (= "=") (binary_expression "((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e" (parenthesized_expression "((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a)" (( "(") (binary_expression "(uint)*(ushort *)(iVar2 + 0x1e) << 0x1a" (binary_expression "(uint)*(ushort *)(iVar2 + 0x1e)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)(iVar2 + 0x1e)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1e)" (( "(") (binary_expression "iVar2 + 0x1e" (identifier "iVar2") (+ "+") (number_literal "0x1e")) () ")")))) (<< "<<") (number_literal "0x1a")) () ")")) (>> ">>") (number_literal "0x1e"))) (; ";")) (if_statement "if (*(ushort *)(iVar2 + 0x1e) == 0) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }\n        else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" (if "if") (parenthesized_expression "(*(ushort *)(iVar2 + 0x1e) == 0)" (( "(") (binary_expression "*(ushort *)(iVar2 + 0x1e) == 0" (pointer_expression "*(ushort *)(iVar2 + 0x1e)" (* "*") (cast_expression "(ushort *)(iVar2 + 0x1e)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1e)" (( "(") (binary_expression "iVar2 + 0x1e" (identifier "iVar2") (+ "+") (number_literal "0x1e")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          puVar6 = PTR_DAT_0002a25c + -0x78c8;\n        }" ({ "{") (expression_statement "puVar6 = PTR_DAT_0002a25c + -0x78c8;" (assignment_expression "puVar6 = PTR_DAT_0002a25c + -0x78c8" (identifier "puVar6") (= "=") (binary_expression "PTR_DAT_0002a25c + -0x78c8" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x78c8"))) (; ";")) (} "}")) (else_clause "else if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" (else "else") (if_statement "if (uVar7 == 2) {\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }\n        else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" (if "if") (parenthesized_expression "(uVar7 == 2)" (( "(") (binary_expression "uVar7 == 2" (identifier "uVar7") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          puVar6 = PTR_DAT_0002a25c + -0x78ec;\n        }" ({ "{") (expression_statement "puVar6 = PTR_DAT_0002a25c + -0x78ec;" (assignment_expression "puVar6 = PTR_DAT_0002a25c + -0x78ec" (identifier "puVar6") (= "=") (binary_expression "PTR_DAT_0002a25c + -0x78ec" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x78ec"))) (; ";")) (} "}")) (else_clause "else if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" (else "else") (if_statement "if (uVar7 == 3) {\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }\n        else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" (if "if") (parenthesized_expression "(uVar7 == 3)" (( "(") (binary_expression "uVar7 == 3" (identifier "uVar7") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n          puVar6 = PTR_DAT_0002a25c + -0x78c0;\n        }" ({ "{") (expression_statement "puVar6 = PTR_DAT_0002a25c + -0x78c0;" (assignment_expression "puVar6 = PTR_DAT_0002a25c + -0x78c0" (identifier "puVar6") (= "=") (binary_expression "PTR_DAT_0002a25c + -0x78c0" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x78c0"))) (; ";")) (} "}")) (else_clause "else if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" (else "else") (if_statement "if (uVar7 == 1) {\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }\n        else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" (if "if") (parenthesized_expression "(uVar7 == 1)" (( "(") (binary_expression "uVar7 == 1" (identifier "uVar7") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n          puVar6 = PTR_DAT_0002a25c + -0x78b8;\n        }" ({ "{") (expression_statement "puVar6 = PTR_DAT_0002a25c + -0x78b8;" (assignment_expression "puVar6 = PTR_DAT_0002a25c + -0x78b8" (identifier "puVar6") (= "=") (binary_expression "PTR_DAT_0002a25c + -0x78b8" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x78b8"))) (; ";")) (} "}")) (else_clause "else {\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" (else "else") (compound_statement "{\n          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));\n          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);\n          iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));\n          if (iVar2 < 0) goto LAB_00014800;\n          puVar6 = *(undefined **)(puVar6 + -0x5b9c);\n        }" ({ "{") (expression_statement "(*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));" (call_expression "(*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c))" (parenthesized_expression "(*(code *)PTR_free_0002a3f4)" (( "(") (pointer_expression "*(code *)PTR_free_0002a3f4" (* "*") (cast_expression "(code *)PTR_free_0002a3f4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_0002a3f4"))) () ")")) (argument_list "(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c))" (( "(") (pointer_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b9c)" (( "(") (binary_expression "PTR_DAT_0002a248 + -0x5b9c" (identifier "PTR_DAT_0002a248") (+ "+") (number_literal "-0x5b9c")) () ")")))) () ")"))) (; ";")) (expression_statement "uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);" (assignment_expression "uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5)" (identifier "uVar3") (= "=") (call_expression "(*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0002a3d8)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_0002a3d8" (* "*") (cast_expression "(code *)PTR_dcgettext_0002a3d8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_0002a3d8"))) () ")")) (argument_list "(0,PTR_DAT_0002a25c + -0x7830,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_DAT_0002a25c + -0x7830" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x7830")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e));" (assignment_expression "iVar2 = (*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e))" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_asprintf_0002a348)\n                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e))" (parenthesized_expression "(*(code *)PTR_asprintf_0002a348)" (( "(") (pointer_expression "*(code *)PTR_asprintf_0002a348" (* "*") (cast_expression "(code *)PTR_asprintf_0002a348" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_asprintf_0002a348"))) () ")")) (argument_list "(puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),\n                             *(undefined2 *)(iVar2 + 0x1e))" (( "(") (binary_expression "puVar6 + -0x5b9c" (identifier "puVar6") (+ "+") (number_literal "-0x5b9c")) (, ",") (identifier "uVar3") (, ",") (pointer_expression "*(undefined1 *)(iVar2 + 0x20)" (* "*") (cast_expression "(undefined1 *)(iVar2 + 0x20)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x20)" (( "(") (binary_expression "iVar2 + 0x20" (identifier "iVar2") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (pointer_expression "*(undefined2 *)(iVar2 + 0x1e)" (* "*") (cast_expression "(undefined2 *)(iVar2 + 0x1e)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1e)" (( "(") (binary_expression "iVar2 + 0x1e" (identifier "iVar2") (+ "+") (number_literal "0x1e")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar2 < 0) goto LAB_00014800;" (if "if") (parenthesized_expression "(iVar2 < 0)" (( "(") (binary_expression "iVar2 < 0" (identifier "iVar2") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014800;" (goto "goto") (statement_identifier "LAB_00014800") (; ";"))) (expression_statement "puVar6 = *(undefined **)(puVar6 + -0x5b9c);" (assignment_expression "puVar6 = *(undefined **)(puVar6 + -0x5b9c)" (identifier "puVar6") (= "=") (pointer_expression "*(undefined **)(puVar6 + -0x5b9c)" (* "*") (cast_expression "(undefined **)(puVar6 + -0x5b9c)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + -0x5b9c)" (( "(") (binary_expression "puVar6 + -0x5b9c" (identifier "puVar6") (+ "+") (number_literal "-0x5b9c")) () ")"))))) (; ";")) (} "}")))))))))) (} "}")))))))) (goto_statement "goto LAB_000145b8;" (goto "goto") (statement_identifier "LAB_000145b8") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x781c);" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x781c)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" (( "(") (pointer_expression "*(code *)PTR_printf_0002a414" (* "*") (cast_expression "(code *)PTR_printf_0002a414" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_printf_0002a414"))) () ")")) (argument_list "(PTR_DAT_0002a25c + -0x781c)" (( "(") (binary_expression "PTR_DAT_0002a25c + -0x781c" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x781c")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf;\n    if (uVar7 < 7) {\n                    \n                    \n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }\n    (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98));\n    if (uVar7 - 0xd < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }\n    else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }\n    uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5);\n    iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7);\n    if (iVar2 < 0) {\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    \n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }\n    puVar6 = *(undefined **)(puVar6 + -0x5b98);\nLAB_000145b8:\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);\n  }" (else "else") (compound_statement "{\n    uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf;\n    if (uVar7 < 7) {\n                    \n                    \n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }\n    (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98));\n    if (uVar7 - 0xd < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }\n    else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }\n    uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5);\n    iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7);\n    if (iVar2 < 0) {\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    \n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }\n    puVar6 = *(undefined **)(puVar6 + -0x5b98);\nLAB_000145b8:\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);\n  }" ({ "{") (expression_statement "uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf;" (assignment_expression "uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf" (identifier "uVar7") (= "=") (binary_expression "*(byte *)(param_1[4] + 0x34) & 0xf" (pointer_expression "*(byte *)(param_1[4] + 0x34)" (* "*") (cast_expression "(byte *)(param_1[4] + 0x34)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[4] + 0x34)" (( "(") (binary_expression "param_1[4] + 0x34" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (+ "+") (number_literal "0x34")) () ")")))) (& "&") (number_literal "0xf"))) (; ";")) (if_statement "if (uVar7 < 7) {\n                    \n                    \n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }" (if "if") (parenthesized_expression "(uVar7 < 7)" (( "(") (binary_expression "uVar7 < 7" (identifier "uVar7") (< "<") (number_literal "7")) () ")")) (compound_statement "{\n                    \n                    \n      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();\n      return;\n    }" ({ "{") (expression_statement "(*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();" (call_expression "(*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))" (( "(") (pointer_expression "*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498))" (* "*") (cast_expression "(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498))" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498))" (( "(") (binary_expression "&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)" (pointer_expression "&_gp_1" (& "&") (identifier "_gp_1")) (+ "+") (pointer_expression "*(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)" (* "*") (cast_expression "(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)" (( "(") (binary_expression "PTR_DAT_0002a25c + uVar7 * 4 + -0x7498" (binary_expression "PTR_DAT_0002a25c + uVar7 * 4" (identifier "PTR_DAT_0002a25c") (+ "+") (binary_expression "uVar7 * 4" (identifier "uVar7") (* "*") (number_literal "4"))) (+ "+") (number_literal "-0x7498")) () ")"))))) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98));" (call_expression "(*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98))" (parenthesized_expression "(*(code *)PTR_free_0002a3f4)" (( "(") (pointer_expression "*(code *)PTR_free_0002a3f4" (* "*") (cast_expression "(code *)PTR_free_0002a3f4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_0002a3f4"))) () ")")) (argument_list "(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98))" (( "(") (pointer_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_0002a248 + -0x5b98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b98)" (( "(") (binary_expression "PTR_DAT_0002a248 + -0x5b98" (identifier "PTR_DAT_0002a248") (+ "+") (number_literal "-0x5b98")) () ")")))) () ")"))) (; ";")) (if_statement "if (uVar7 - 0xd < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }\n    else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }" (if "if") (parenthesized_expression "(uVar7 - 0xd < 3)" (( "(") (binary_expression "uVar7 - 0xd < 3" (binary_expression "uVar7 - 0xd" (identifier "uVar7") (- "-") (number_literal "0xd")) (< "<") (number_literal "3")) () ")")) (compound_statement "{\n      puVar5 = PTR_DAT_0002a25c + -0x7878;\n    }" ({ "{") (expression_statement "puVar5 = PTR_DAT_0002a25c + -0x7878;" (assignment_expression "puVar5 = PTR_DAT_0002a25c + -0x7878" (identifier "puVar5") (= "=") (binary_expression "PTR_DAT_0002a25c + -0x7878" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x7878"))) (; ";")) (} "}")) (else_clause "else if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }" (else "else") (if_statement "if (uVar7 - 10 < 3) {\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }\n    else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }" (if "if") (parenthesized_expression "(uVar7 - 10 < 3)" (( "(") (binary_expression "uVar7 - 10 < 3" (binary_expression "uVar7 - 10" (identifier "uVar7") (- "-") (number_literal "10")) (< "<") (number_literal "3")) () ")")) (compound_statement "{\n      puVar5 = PTR_DAT_0002a25c + -0x785c;\n    }" ({ "{") (expression_statement "puVar5 = PTR_DAT_0002a25c + -0x785c;" (assignment_expression "puVar5 = PTR_DAT_0002a25c + -0x785c" (identifier "puVar5") (= "=") (binary_expression "PTR_DAT_0002a25c + -0x785c" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x785c"))) (; ";")) (} "}")) (else_clause "else {\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }" (else "else") (compound_statement "{\n      puVar5 = PTR_DAT_0002a25c + -0x7848;\n    }" ({ "{") (expression_statement "puVar5 = PTR_DAT_0002a25c + -0x7848;" (assignment_expression "puVar5 = PTR_DAT_0002a25c + -0x7848" (identifier "puVar5") (= "=") (binary_expression "PTR_DAT_0002a25c + -0x7848" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x7848"))) (; ";")) (} "}")))))) (expression_statement "uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5);" (assignment_expression "uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5)" (identifier "uVar3") (= "=") (call_expression "(*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0002a3d8)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_0002a3d8" (* "*") (cast_expression "(code *)PTR_dcgettext_0002a3d8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_0002a3d8"))) () ")")) (argument_list "(0,puVar5,5)" (( "(") (number_literal "0") (, ",") (identifier "puVar5") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7);" (assignment_expression "iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7)" (parenthesized_expression "(*(code *)PTR_asprintf_0002a348)" (( "(") (pointer_expression "*(code *)PTR_asprintf_0002a348" (* "*") (cast_expression "(code *)PTR_asprintf_0002a348" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_asprintf_0002a348"))) () ")")) (argument_list "(puVar6 + -0x5b98,uVar3,uVar7)" (( "(") (binary_expression "puVar6 + -0x5b98" (identifier "puVar6") (+ "+") (number_literal "-0x5b98")) (, ",") (identifier "uVar3") (, ",") (identifier "uVar7") () ")")))) (; ";")) (if_statement "if (iVar2 < 0) {\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    \n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }" (if "if") (parenthesized_expression "(iVar2 < 0)" (( "(") (binary_expression "iVar2 < 0" (identifier "iVar2") (< "<") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();\n      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);\n                    \n      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);\n    }" ({ "{") (labeled_statement "LAB_00014800:\n      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();" (statement_identifier "LAB_00014800") (: ":") (expression_statement "puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();" (assignment_expression "puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)()" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0002a34c)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0002a34c)()" (parenthesized_expression "(*(code *)PTR___errno_location_0002a34c)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0002a34c" (* "*") (cast_expression "(code *)PTR___errno_location_0002a34c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0002a34c"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";"))) (expression_statement "uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);" (assignment_expression "uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4)" (identifier "uVar3") (= "=") (call_expression "(*(code *)PTR_xstrerror_0002a31c)(*puVar4)" (parenthesized_expression "(*(code *)PTR_xstrerror_0002a31c)" (( "(") (pointer_expression "*(code *)PTR_xstrerror_0002a31c" (* "*") (cast_expression "(code *)PTR_xstrerror_0002a31c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xstrerror_0002a31c"))) () ")")) (argument_list "(*puVar4)" (( "(") (pointer_expression "*puVar4" (* "*") (identifier "puVar4")) () ")")))) (; ";")) (expression_statement "fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);" (call_expression "fatal(PTR_DAT_0002a25c + -0x6f68,uVar3)" (identifier "fatal") (argument_list "(PTR_DAT_0002a25c + -0x6f68,uVar3)" (( "(") (binary_expression "PTR_DAT_0002a25c + -0x6f68" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x6f68")) (, ",") (identifier "uVar3") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar6 = *(undefined **)(puVar6 + -0x5b98);" (assignment_expression "puVar6 = *(undefined **)(puVar6 + -0x5b98)" (identifier "puVar6") (= "=") (pointer_expression "*(undefined **)(puVar6 + -0x5b98)" (* "*") (cast_expression "(undefined **)(puVar6 + -0x5b98)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + -0x5b98)" (( "(") (binary_expression "puVar6 + -0x5b98" (identifier "puVar6") (+ "+") (number_literal "-0x5b98")) () ")"))))) (; ";")) (labeled_statement "LAB_000145b8:\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);" (statement_identifier "LAB_000145b8") (: ":") (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" (( "(") (pointer_expression "*(code *)PTR_printf_0002a414" (* "*") (cast_expression "(code *)PTR_printf_0002a414" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_printf_0002a414"))) () ")")) (argument_list "(PTR_DAT_0002a25c + -0x7838,puVar6)" (( "(") (binary_expression "PTR_DAT_0002a25c + -0x7838" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x7838")) (, ",") (identifier "puVar6") () ")"))) (; ";"))) (} "}")))) (expression_statement "iVar2 = param_1[4];" (assignment_expression "iVar2 = param_1[4]" (identifier "iVar2") (= "=") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (; ";")) (if_statement "if (iVar2 == 0) {\n    if (param_1[2] != 0 || param_1[3] != 0) goto LAB_000145ec;\nLAB_000146b4:\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n    iVar2 = param_1[4];\n  }\n  else {\n    if (*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0) goto LAB_000146b4;\nLAB_000145ec:\n    FUN_00013c08();\nLAB_00014600:\n    iVar2 = param_1[4];\n  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (param_1[2] != 0 || param_1[3] != 0) goto LAB_000145ec;\nLAB_000146b4:\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);\n    iVar2 = param_1[4];\n  }" ({ "{") (if_statement "if (param_1[2] != 0 || param_1[3] != 0) goto LAB_000145ec;" (if "if") (parenthesized_expression "(param_1[2] != 0 || param_1[3] != 0)" (( "(") (binary_expression "param_1[2] != 0 || param_1[3] != 0" (binary_expression "param_1[2] != 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "param_1[3] != 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "0"))) () ")")) (goto_statement "goto LAB_000145ec;" (goto "goto") (statement_identifier "LAB_000145ec") (; ";"))) (labeled_statement "LAB_000146b4:\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }" (statement_identifier "LAB_000146b4") (: ":") (if_statement "if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }" (if "if") (parenthesized_expression "(*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20)" (( "(") (binary_expression "*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20" (pointer_expression "*(int *)(PTR_DAT_0002a248 + -0x5b78)" (* "*") (cast_expression "(int *)(PTR_DAT_0002a248 + -0x5b78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b78)" (( "(") (binary_expression "PTR_DAT_0002a248 + -0x5b78" (identifier "PTR_DAT_0002a248") (+ "+") (number_literal "-0x5b78")) () ")")))) (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);\n      goto LAB_00014600;\n    }" ({ "{") (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" (( "(") (pointer_expression "*(code *)PTR_printf_0002a414" (* "*") (cast_expression "(code *)PTR_printf_0002a414" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_printf_0002a414"))) () ")")) (argument_list "(PTR_DAT_0002a25c + -0x78a0)" (( "(") (binary_expression "PTR_DAT_0002a25c + -0x78a0" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x78a0")) () ")"))) (; ";")) (goto_statement "goto LAB_00014600;" (goto "goto") (statement_identifier "LAB_00014600") (; ";")) (} "}")))) (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" (( "(") (pointer_expression "*(code *)PTR_printf_0002a414" (* "*") (cast_expression "(code *)PTR_printf_0002a414" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_printf_0002a414"))) () ")")) (argument_list "(PTR_DAT_0002a25c + -0x78a8)" (( "(") (binary_expression "PTR_DAT_0002a25c + -0x78a8" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x78a8")) () ")"))) (; ";")) (expression_statement "iVar2 = param_1[4];" (assignment_expression "iVar2 = param_1[4]" (identifier "iVar2") (= "=") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n    if (*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0) goto LAB_000146b4;\nLAB_000145ec:\n    FUN_00013c08();\nLAB_00014600:\n    iVar2 = param_1[4];\n  }" (else "else") (compound_statement "{\n    if (*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0) goto LAB_000146b4;\nLAB_000145ec:\n    FUN_00013c08();\nLAB_00014600:\n    iVar2 = param_1[4];\n  }" ({ "{") (if_statement "if (*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0) goto LAB_000146b4;" (if "if") (parenthesized_expression "(*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0)" (( "(") (binary_expression "*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0" (binary_expression "*(int *)(iVar2 + 0x28) == 0" (pointer_expression "*(int *)(iVar2 + 0x28)" (* "*") (cast_expression "(int *)(iVar2 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x28)" (( "(") (binary_expression "iVar2 + 0x28" (identifier "iVar2") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) (&& "&&") (binary_expression "*(int *)(iVar2 + 0x2c) == 0" (pointer_expression "*(int *)(iVar2 + 0x2c)" (* "*") (cast_expression "(int *)(iVar2 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x2c)" (( "(") (binary_expression "iVar2 + 0x2c" (identifier "iVar2") (+ "+") (number_literal "0x2c")) () ")")))) (== "==") (number_literal "0"))) () ")")) (goto_statement "goto LAB_000146b4;" (goto "goto") (statement_identifier "LAB_000146b4") (; ";"))) (labeled_statement "LAB_000145ec:\n    FUN_00013c08();" (statement_identifier "LAB_000145ec") (: ":") (expression_statement "FUN_00013c08();" (call_expression "FUN_00013c08()" (identifier "FUN_00013c08") (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_00014600:\n    iVar2 = param_1[4];" (statement_identifier "LAB_00014600") (: ":") (expression_statement "iVar2 = param_1[4];" (assignment_expression "iVar2 = param_1[4]" (identifier "iVar2") (= "=") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (; ";"))) (} "}")))) (if_statement "if (iVar2 != 0) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14));\n    return;\n  }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14));\n    return;\n  }" ({ "{") (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14));" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14))" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" (( "(") (pointer_expression "*(code *)PTR_printf_0002a414" (* "*") (cast_expression "(code *)PTR_printf_0002a414" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_printf_0002a414"))) () ")")) (argument_list "(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14))" (( "(") (binary_expression "PTR_DAT_0002a25c + -0x7808" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x7808")) (, ",") (pointer_expression "**(undefined4 **)(iVar2 + 0x14)" (* "*") (pointer_expression "*(undefined4 **)(iVar2 + 0x14)" (* "*") (cast_expression "(undefined4 **)(iVar2 + 0x14)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 0x14)" (( "(") (binary_expression "iVar2 + 0x14" (identifier "iVar2") (+ "+") (number_literal "0x14")) () ")"))))) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_1[5] != 0) {\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14));\n    return;\n  }" (if "if") (parenthesized_expression "(param_1[5] != 0)" (( "(") (binary_expression "param_1[5] != 0" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14));\n    return;\n  }" ({ "{") (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14));" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14))" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" (( "(") (pointer_expression "*(code *)PTR_printf_0002a414" (* "*") (cast_expression "(code *)PTR_printf_0002a414" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_printf_0002a414"))) () ")")) (argument_list "(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14))" (( "(") (binary_expression "PTR_DAT_0002a25c + -0x7808" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x7808")) (, ",") (pointer_expression "**(undefined4 **)(param_1[5] + 0x14)" (* "*") (pointer_expression "*(undefined4 **)(param_1[5] + 0x14)" (* "*") (cast_expression "(undefined4 **)(param_1[5] + 0x14)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[5] + 0x14)" (( "(") (binary_expression "param_1[5] + 0x14" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (+ "+") (number_literal "0x14")) () ")"))))) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (labeled_statement "LAB_0001458c:\n  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7880);" (statement_identifier "LAB_0001458c") (: ":") (expression_statement "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7880);" (call_expression "(*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7880)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" (( "(") (pointer_expression "*(code *)PTR_printf_0002a414" (* "*") (cast_expression "(code *)PTR_printf_0002a414" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_printf_0002a414"))) () ")")) (argument_list "(PTR_DAT_0002a25c + -0x7880)" (( "(") (binary_expression "PTR_DAT_0002a25c + -0x7880" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x7880")) () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(type_1 *info,type_2 *abfd)

{
  type_3 var_7;
  int var_4;
  type_4 var_8;
  type_5 *var_12;
  type_6 uVar5;
  type_6 *puVar6;
  type_2 *var_13;
  int var_10;
  type_4 var_9;
  type_7 *pcVar9;
  type_8 *pcVar10;
  type_9 *var_3;
  type_6 in_stack_ffffffec;
  
  var_3 = &_gp;
  var_1(var_2 + -0x78b0,info->sinfo->name,abfd);
  var_4 = (**(type_8 **)(var_3 + -0x7e28))((int)info->sinfo->type);
  if (var_4 == 0) {
    var_5(*(type_2 **)&info->sinfo->value,var_6(var_3,in_stack_ffffffec));
  }
  else if (*(int *)(*(int *)(var_3 + -0x7fd8) + -0x5b78) == 0x20) {
    (**(type_8 **)(var_3 + -0x7e0c))(*(int *)(var_3 + -0x7fc4) + -0x78a0);
  }
  else {
    (**(type_8 **)(var_3 + -0x7e0c))(*(int *)(var_3 + -0x7fc4) + -0x78a8);
  }
  (**(type_8 **)(var_3 + -0x7e0c))(*(int *)(var_3 + -0x7fc4) + -0x7894,(int)info->sinfo->type);
  if (info->sinfo->type == '-') {
    (**(type_8 **)(var_3 + -0x7e0c))(*(int *)(var_3 + -0x7fc4) + -0x7888,info->sinfo->stab_name);
    (**(type_8 **)(var_3 + -0x7e0c))
              (*(int *)(var_3 + -0x7fd8) + -0x5ff0,(int)info->sinfo->stab_desc);
    goto LAB_0001458c;
  }
  if (info->elfinfo == (type_5 *)0x0) {
    if (info->coffinfo != (type_10 *)0x0) {
      pcVar9 = info->coffinfo->native;
      var_7 = (pcVar9->u).syment.n_sclass;
      if (var_7 == 'g') {
        var_4 = *(int *)(var_3 + -0x7fc4) + -0x78d0;
      }
      else if (var_7 == 'h') {
        var_4 = *(int *)(var_3 + -0x7fc4) + -0x78e0;
      }
      else if (var_7 == 'd') {
        var_4 = *(int *)(var_3 + -0x7fc4) + -0x78d8;
      }
      else {
        var_8 = (type_4)(pcVar9->u).syment.n_type;
        var_9 = (var_8 << 0x1a) >> 0x1e;
        if (var_8 == 0) {
          var_4 = *(int *)(var_3 + -0x7fc4) + -0x78c8;
        }
        else if (var_9 == 2) {
          var_4 = *(int *)(var_3 + -0x7fc4) + -0x78ec;
        }
        else if (var_9 == 3) {
          var_4 = *(int *)(var_3 + -0x7fc4) + -0x78c0;
        }
        else {
          var_4 = *(int *)(var_3 + -0x7fd8);
          if (var_9 == 1) {
            var_4 = *(int *)(var_3 + -0x7fc4) + -0x78b8;
          }
          else {
            (**(type_8 **)(var_3 + -0x7e2c))(*(type_6 *)(var_4 + -0x5b9c));
            uVar5 = (**(type_8 **)(var_3 + -0x7e48))(0,*(int *)(var_3 + -0x7fc4) + -0x7830,5);
            var_10 = (**(type_8 **)(var_3 + -0x7ed8))
                              (var_4 + -0x5b9c,uVar5,(pcVar9->u).syment.n_sclass,
                               (pcVar9->u).syment.n_type);
            if (var_10 < 0) goto LAB_00014800;
            var_4 = *(int *)(var_4 + -0x5b9c);
          }
        }
      }
      goto LAB_000145b8;
    }
    (**(type_8 **)(var_3 + -0x7e0c))(*(int *)(var_3 + -0x7fc4) + -0x781c);
  }
  else {
    var_9 = (info->elfinfo->internal_elf_sym).st_info & 0xf;
    if (var_9 < 7) {
                    /* WARNING: Could not emulate address calculation at 0x00014468 */
                    /* WARNING: Treating indirect jump as call */
      (*(type_8 *)(var_3 + *(int *)(*(int *)(var_3 + -0x7fc4) + -0x7498 + var_9 * 4)))();
      return;
    }
    var_4 = *(int *)(var_3 + -0x7fd8);
    (**(type_8 **)(var_3 + -0x7e2c))(*(type_6 *)(var_4 + -0x5b98));
    if (var_9 - 0xd < 3) {
      pcVar10 = *(type_8 **)(var_3 + -0x7e48);
      var_10 = *(int *)(var_3 + -0x7fc4) + -0x7878;
    }
    else {
      pcVar10 = *(type_8 **)(var_3 + -0x7e48);
      if (var_9 - 10 < 3) {
        var_10 = *(int *)(var_3 + -0x7fc4) + -0x785c;
      }
      else {
        var_10 = *(int *)(var_3 + -0x7fc4) + -0x7848;
      }
    }
    uVar5 = (*pcVar10)(0,var_10,5);
    var_10 = (**(type_8 **)(var_3 + -0x7ed8))(var_4 + -0x5b98,uVar5,var_9);
    if (var_10 < 0) {
LAB_00014800:
      puVar6 = (type_6 *)(**(type_8 **)(var_3 + -0x7ed4))();
      uVar5 = (**(type_8 **)(var_3 + -0x7f04))(*puVar6);
                    /* WARNING: Subroutine does not return */
      var_11((char *)(*(int *)(var_3 + -0x7fc4) + -0x6f68),uVar5);
    }
    var_4 = *(int *)(var_4 + -0x5b98);
LAB_000145b8:
    (**(type_8 **)(var_3 + -0x7e0c))(*(int *)(var_3 + -0x7fc4) + -0x7838,var_4);
  }
  var_12 = info->elfinfo;
  if (var_12 == (type_5 *)0x0) {
    var_13 = *(type_2 **)&info->ssize;
    var_4 = *(int *)(var_3 + -0x7fd8);
    if (var_13 != (type_2 *)0x0 || (int)info->ssize != 0) goto LAB_000145ec;
LAB_000146b4:
    if (*(int *)(var_4 + -0x5b78) == 0x20) {
      (**(type_8 **)(var_3 + -0x7e0c))(*(int *)(var_3 + -0x7fc4) + -0x78a0);
      goto LAB_00014600;
    }
    (**(type_8 **)(var_3 + -0x7e0c))(*(int *)(var_3 + -0x7fc4) + -0x78a8);
    var_12 = info->elfinfo;
  }
  else {
    var_13 = *(type_2 **)&(var_12->internal_elf_sym).st_size;
    var_4 = *(int *)(var_3 + -0x7fd8);
    if (var_13 == (type_2 *)0x0 && (int)(var_12->internal_elf_sym).st_size == 0) goto LAB_000146b4;
LAB_000145ec:
    var_5(var_13,var_6(var_3,in_stack_ffffffec));
LAB_00014600:
    var_12 = info->elfinfo;
  }
  if (var_12 != (type_5 *)0x0) {
    (**(type_8 **)(var_3 + -0x7e0c))
              (*(int *)(var_3 + -0x7fc4) + -0x7808,((var_12->symbol).section)->name);
    return;
  }
  if (info->coffinfo != (type_10 *)0x0) {
    (**(type_8 **)(var_3 + -0x7e0c))
              (*(int *)(var_3 + -0x7fc4) + -0x7808,((info->coffinfo->symbol).section)->name);
    return;
  }
LAB_0001458c:
  (**(type_8 **)(var_3 + -0x7e0c))(*(int *)(var_3 + -0x7fc4) + -0x7880);
  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: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) 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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) index: (number_literal)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))))))))))))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))))) arguments: (argument_list))) (return_statement))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (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 (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (goto_statement label: (statement_identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) (labeled_statement label: (statement_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 (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))))) (return_statement))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (return_statement))))

void MASKED(int *param_1,undefined4 param_2)

{
  char cVar1;
  int iVar2;
  undefined4 uVar3;
  undefined4 *puVar4;
  undefined *puVar5;
  undefined *puVar6;
  uint uVar7;
  
  FUN_00011fe4(PTR_DAT_0002a25c + -0x78b0,*(undefined4 *)(*param_1 + 0xc),param_2);
  iVar2 = (*(code *)PTR_bfd_is_undefined_symclass_0002a3f8)((int)*(char *)(*param_1 + 8));
  if (iVar2 == 0) {
    FUN_00013c08(*(undefined4 *)*param_1,((undefined4 *)*param_1)[1]);
  }
  else if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {
    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);
  }
  else {
    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);
  }
  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7894,(int)*(char *)(*param_1 + 8));
  puVar6 = PTR_DAT_0002a248;
  if (*(char *)(*param_1 + 8) == '-') {
    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7888,*(undefined4 *)(*param_1 + 0x14));
    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a248 + -0x5ff0,(int)*(short *)(*param_1 + 0x12));
    goto LAB_0001458c;
  }
  if (param_1[4] == 0) {
    if (param_1[5] != 0) {
      iVar2 = *(int *)(param_1[5] + 0x20);
      cVar1 = *(char *)(iVar2 + 0x20);
      if (cVar1 == 'g') {
        puVar6 = PTR_DAT_0002a25c + -0x78d0;
      }
      else if (cVar1 == 'h') {
        puVar6 = PTR_DAT_0002a25c + -0x78e0;
      }
      else if (cVar1 == 'd') {
        puVar6 = PTR_DAT_0002a25c + -0x78d8;
      }
      else {
        uVar7 = ((uint)*(ushort *)(iVar2 + 0x1e) << 0x1a) >> 0x1e;
        if (*(ushort *)(iVar2 + 0x1e) == 0) {
          puVar6 = PTR_DAT_0002a25c + -0x78c8;
        }
        else if (uVar7 == 2) {
          puVar6 = PTR_DAT_0002a25c + -0x78ec;
        }
        else if (uVar7 == 3) {
          puVar6 = PTR_DAT_0002a25c + -0x78c0;
        }
        else if (uVar7 == 1) {
          puVar6 = PTR_DAT_0002a25c + -0x78b8;
        }
        else {
          (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b9c));
          uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x7830,5);
          iVar2 = (*(code *)PTR_asprintf_0002a348)
                            (puVar6 + -0x5b9c,uVar3,*(undefined1 *)(iVar2 + 0x20),
                             *(undefined2 *)(iVar2 + 0x1e));
          if (iVar2 < 0) goto LAB_00014800;
          puVar6 = *(undefined **)(puVar6 + -0x5b9c);
        }
      }
      goto LAB_000145b8;
    }
    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x781c);
  }
  else {
    uVar7 = *(byte *)(param_1[4] + 0x34) & 0xf;
    if (uVar7 < 7) {
                    /* WARNING: Could not emulate address calculation at 0x00014468 */
                    /* WARNING: Treating indirect jump as call */
      (*(code *)(&_gp_1 + *(int *)(PTR_DAT_0002a25c + uVar7 * 4 + -0x7498)))();
      return;
    }
    (*(code *)PTR_free_0002a3f4)(*(undefined4 *)(PTR_DAT_0002a248 + -0x5b98));
    if (uVar7 - 0xd < 3) {
      puVar5 = PTR_DAT_0002a25c + -0x7878;
    }
    else if (uVar7 - 10 < 3) {
      puVar5 = PTR_DAT_0002a25c + -0x785c;
    }
    else {
      puVar5 = PTR_DAT_0002a25c + -0x7848;
    }
    uVar3 = (*(code *)PTR_dcgettext_0002a3d8)(0,puVar5,5);
    iVar2 = (*(code *)PTR_asprintf_0002a348)(puVar6 + -0x5b98,uVar3,uVar7);
    if (iVar2 < 0) {
LAB_00014800:
      puVar4 = (undefined4 *)(*(code *)PTR___errno_location_0002a34c)();
      uVar3 = (*(code *)PTR_xstrerror_0002a31c)(*puVar4);
                    /* WARNING: Subroutine does not return */
      fatal(PTR_DAT_0002a25c + -0x6f68,uVar3);
    }
    puVar6 = *(undefined **)(puVar6 + -0x5b98);
LAB_000145b8:
    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7838,puVar6);
  }
  iVar2 = param_1[4];
  if (iVar2 == 0) {
    if (param_1[2] != 0 || param_1[3] != 0) goto LAB_000145ec;
LAB_000146b4:
    if (*(int *)(PTR_DAT_0002a248 + -0x5b78) == 0x20) {
      (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a0);
      goto LAB_00014600;
    }
    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x78a8);
    iVar2 = param_1[4];
  }
  else {
    if (*(int *)(iVar2 + 0x28) == 0 && *(int *)(iVar2 + 0x2c) == 0) goto LAB_000146b4;
LAB_000145ec:
    FUN_00013c08();
LAB_00014600:
    iVar2 = param_1[4];
  }
  if (iVar2 != 0) {
    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(iVar2 + 0x14));
    return;
  }
  if (param_1[5] != 0) {
    (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7808,**(undefined4 **)(param_1[5] + 0x14));
    return;
  }
LAB_0001458c:
  (*(code *)PTR_printf_0002a414)(PTR_DAT_0002a25c + -0x7880);
  return;
}

