
bfd_boolean
parse_coff_symbol(bfd *abfd,coff_types *types,asymbol *sym,long coff_symno,internal_syment *psyment,
                 void *dhandle,debug_type type,bfd_boolean within_function)

{
  uint uVar1;
  int iVar2;
  debug_type_conflict pdVar3;
  debug_type_conflict *ppdVar4;
  debug_type pdVar5;
  uint uVar6;
  undefined4 uVar7;
  debug_type_kind dVar8;
  debug_type pdVar9;
  debug_type pdVar10;
  code *pcVar11;
  
  if (coff_symno == 10) goto LAB_0005640c;
  pcVar11 = (code *)PTR_debug_record_parameter_000821b8;
  if ((uint)coff_symno < 0xb) {
    if (coff_symno == 3) {
      pdVar10 = types->basic[1];
      uVar7 = 3;
      if (type == (debug_type)0x0) {
        uVar7 = 2;
      }
      uVar1 = types->basic[4][2].size;
      dVar8 = types->basic[4][2].kind;
      uVar6 = (int)&types->basic[2]->kind + uVar1;
      pdVar9 = types->basic[0];
      pcVar11 = (code *)PTR_debug_record_variable_0008210c;
      goto LAB_0005637c;
    }
    if ((uint)coff_symno < 4) {
      if (coff_symno != 1) {
        if (coff_symno != 2) {
          return 1;
        }
        goto LAB_00056400;
      }
      pdVar9 = types->basic[4];
      uVar7 = 4;
    }
    else {
      if (coff_symno != 4) {
        uVar7 = 1;
        if (coff_symno != 9) {
          return 1;
        }
        pdVar9 = types->basic[4];
        pdVar5 = types->basic[2];
        pdVar10 = types->basic[1];
        goto LAB_0005636c;
      }
      pdVar9 = types->basic[4];
      uVar7 = 5;
    }
LAB_00056358:
    pdVar5 = types->basic[2];
    pdVar10 = types->basic[1];
    pcVar11 = (code *)PTR_debug_record_variable_0008210c;
  }
  else {
    if (coff_symno == 0xf) {
LAB_0005640c:
      pdVar3 = debug_tag_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);
      if (pdVar3 != (debug_type_conflict)0x0) {
        ppdVar4 = coff_get_slot((coff_types *)abfd,(long)sym);
        *ppdVar4 = pdVar3;
      }
      return (uint)(pdVar3 != (debug_type_conflict)0x0);
    }
    if ((uint)coff_symno < 0x10) {
      if (coff_symno != 0xc) {
        if (coff_symno != 0xd) {
          return 1;
        }
        pdVar3 = debug_name_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);
        return (uint)(pdVar3 != (debug_type_conflict)0x0);
      }
      goto LAB_0005640c;
    }
    if (coff_symno != 0x11) {
      if (coff_symno != 0x7f) {
        return 1;
      }
LAB_00056400:
      pdVar9 = types->basic[4];
      uVar7 = 1;
      goto LAB_00056358;
    }
    pdVar9 = types->basic[4];
    uVar7 = 2;
    pdVar5 = types->basic[2];
    pdVar10 = types->basic[1];
  }
LAB_0005636c:
  uVar1 = pdVar9[2].size;
  dVar8 = pdVar9[2].kind;
  pdVar9 = types->basic[0];
  uVar6 = (int)&pdVar5->kind + uVar1;
LAB_0005637c:
  iVar2 = (*pcVar11)(psyment,pdVar9,dhandle,uVar7,(int)&pdVar10->kind + (uVar6 < uVar1) + dVar8,
                     uVar6);
  return (uint)(iVar2 != 0);
}



bool FUN_00056260(undefined4 param_1,int param_2,undefined4 param_3,uint param_4,undefined4 param_5,
                 undefined4 param_6,int param_7)

{
  uint uVar1;
  int *piVar2;
  int iVar3;
  uint uVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  int iVar7;
  int iVar8;
  code *pcVar9;
  
  if (param_4 == 10) goto LAB_0005640c;
  pcVar9 = (code *)PTR_debug_record_parameter_000821b8;
  if (param_4 < 0xb) {
    if (param_4 == 3) {
      iVar8 = *(int *)(param_2 + 8);
      uVar6 = 3;
      if (param_7 == 0) {
        uVar6 = 2;
      }
      uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);
      iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);
      uVar4 = uVar1 + *(int *)(param_2 + 0xc);
      uVar5 = *(undefined4 *)(param_2 + 4);
      pcVar9 = (code *)PTR_debug_record_variable_0008210c;
      goto LAB_0005637c;
    }
    if (param_4 < 4) {
      if (param_4 != 1) {
        if (param_4 != 2) {
          return true;
        }
        goto LAB_00056400;
      }
      iVar7 = *(int *)(param_2 + 0x14);
      uVar6 = 4;
    }
    else {
      if (param_4 != 4) {
        uVar6 = 1;
        if (param_4 != 9) {
          return true;
        }
        iVar7 = *(int *)(param_2 + 0x14);
        iVar3 = *(int *)(param_2 + 0xc);
        iVar8 = *(int *)(param_2 + 8);
        goto LAB_0005636c;
      }
      iVar7 = *(int *)(param_2 + 0x14);
      uVar6 = 5;
    }
LAB_00056358:
    iVar3 = *(int *)(param_2 + 0xc);
    iVar8 = *(int *)(param_2 + 8);
    pcVar9 = (code *)PTR_debug_record_variable_0008210c;
  }
  else {
    if (param_4 == 0xf) {
LAB_0005640c:
      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);
      if (iVar8 != 0) {
        piVar2 = (int *)FUN_00056110(param_1,param_3);
        *piVar2 = iVar8;
      }
      return iVar8 != 0;
    }
    if (param_4 < 0x10) {
      if (param_4 != 0xc) {
        if (param_4 != 0xd) {
          return true;
        }
        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);
        return iVar8 != 0;
      }
      goto LAB_0005640c;
    }
    if (param_4 != 0x11) {
      if (param_4 != 0x7f) {
        return true;
      }
LAB_00056400:
      iVar7 = *(int *)(param_2 + 0x14);
      uVar6 = 1;
      goto LAB_00056358;
    }
    iVar7 = *(int *)(param_2 + 0x14);
    uVar6 = 2;
    iVar3 = *(int *)(param_2 + 0xc);
    iVar8 = *(int *)(param_2 + 8);
  }
LAB_0005636c:
  uVar1 = *(uint *)(iVar7 + 0x24);
  iVar7 = *(int *)(iVar7 + 0x20);
  uVar5 = *(undefined4 *)(param_2 + 4);
  uVar4 = uVar1 + iVar3;
LAB_0005637c:
  iVar8 = (*pcVar9)(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4);
  return iVar8 != 0;
}


lui gp,0x3
addiu gp,gp,0x3d10
addu gp,gp,t9
addiu sp,sp,-0x30
li v0,0xa
sw gp,0x18(sp)
sw s1,0x24(sp)
or s1,a2,zero
sw s0,0x20(sp)
or s0,a0,zero
sw ra,0x2c(sp)
beq a3,v0,0x0005640c
_sw s2,0x28(sp)
sltiu v0,a3,0xb
beq v0,zero,0x000562e0
_li v0,0x3
beq a3,v0,0x0005644c
_li v0,0x2
sltiu v0,a3,0x4
bne v0,zero,0x00056344
_li v0,0x4
beq a3,v0,0x00056480
_li v0,0x9
bne a3,v0,0x00056324
_li a3,0x1
lw t1,0x14(a1)
lw v1,0xc(a1)
lw a2,0x44(sp)
lw t2,0x8(a1)
lw a0,0x40(sp)
b 0x0005636c
_lw t9,-0x7db8(gp)
li v0,0xf
beq a3,v0,0x0005640c
_sltiu v0,a3,0x10
bne v0,zero,0x000563b4
_li v0,0x11
bne a3,v0,0x00056318
_lw a2,0x44(sp)
lw t1,0x14(a1)
li a3,0x2
lw v1,0xc(a1)
lw t2,0x8(a1)
lw a0,0x40(sp)
b 0x0005636c
_lw t9,-0x7db8(gp)
li v0,0x7f
beq a3,v0,0x00056400
_nop
li v1,0x1
lw ra,0x2c(sp)
or v0,v1,zero
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
jr ra
_addiu sp,sp,0x30
li v0,0x1
bne a3,v0,0x000563f8
_li v0,0x2
lw t1,0x14(a1)
li a3,0x4
lw v1,0xc(a1)
lw a2,0x44(sp)
lw t2,0x8(a1)
lw a0,0x40(sp)
lw t9,-0x7e64(gp)
lw v0,0x24(t1)
lw t0,0x20(t1)
lw a1,0x4(a1)
addu v1,v0,v1
addu t0,t0,t2
sw v1,0x14(sp)
sltu v0,v1,v0
addu v0,v0,t0
jalr t9
_sw v0,0x10(sp)
lw ra,0x2c(sp)
sltu v1,zero,v0
lw s2,0x28(sp)
or v0,v1,zero
lw s1,0x24(sp)
lw s0,0x20(sp)
jr ra
_addiu sp,sp,0x30
li v0,0xc
beq a3,v0,0x0005640c
_li v0,0xd
bne a3,v0,0x00056324
_lw t9,-0x7e58(gp)
lw a2,0x44(sp)
lw a0,0x40(sp)
bal 0x0004cd78
_lw a1,0x4(a1)
lw ra,0x2c(sp)
sltu v1,zero,v0
lw s2,0x28(sp)
or v0,v1,zero
lw s1,0x24(sp)
lw s0,0x20(sp)
jr ra
_addiu sp,sp,0x30
bne a3,v0,0x00056328
_li v1,0x1
lw t1,0x14(a1)
b 0x00056358
_li a3,0x1
lw t9,-0x7e68(gp)
lw a2,0x44(sp)
lw a1,0x4(a1)
bal 0x0004ceb8
_lw a0,0x40(sp)
lw gp,0x18(sp)
beq v0,zero,0x0005648c
_or s2,v0,zero
lw t9,-0x7e7c(gp)
or a1,s1,zero
addiu t9,t9,0x6110
bal 0x00056110
_or a0,s0,zero
li v1,0x1
b 0x00056328
_sw s2,0x0(v0)
lw t1,0x14(a1)
lw t0,0x48(sp)
lw v1,0xc(a1)
lw t2,0x8(a1)
movz a3,v0,t0
lw v0,0x24(t1)
lw a2,0x44(sp)
lw a0,0x40(sp)
lw t0,0x20(t1)
addu v1,v0,v1
lw t9,-0x7e64(gp)
b 0x0005637c
_lw a1,0x4(a1)
lw t1,0x14(a1)
b 0x00056358
_li a3,0x5
b 0x00056328
_or v1,zero,zero
(translation_unit "bool FUN_00056260(undefined4 param_1,int param_2,undefined4 param_3,uint param_4,undefined4 param_5,\n                 undefined4 param_6,int param_7)\n\n{\n  uint uVar1;\n  int *piVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  code *pcVar9;\n  \n  if (param_4 == 10) goto LAB_0005640c;\n  pcVar9 = (code *)PTR_debug_record_parameter_000821b8;\n  if (param_4 < 0xb) {\n    if (param_4 == 3) {\n      iVar8 = *(int *)(param_2 + 8);\n      uVar6 = 3;\n      if (param_7 == 0) {\n        uVar6 = 2;\n      }\n      uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);\n      iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);\n      uVar4 = uVar1 + *(int *)(param_2 + 0xc);\n      uVar5 = *(undefined4 *)(param_2 + 4);\n      pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }\n    if (param_4 < 4) {\n      if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 4;\n    }\n    else {\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }\nLAB_00056358:\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n    pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n  }\n  else {\n    if (param_4 == 0xf) {\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }\n    if (param_4 < 0x10) {\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }\n    if (param_4 != 0x11) {\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }\n    iVar7 = *(int *)(param_2 + 0x14);\n    uVar6 = 2;\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n  }\nLAB_0005636c:\n  uVar1 = *(uint *)(iVar7 + 0x24);\n  iVar7 = *(int *)(iVar7 + 0x20);\n  uVar5 = *(undefined4 *)(param_2 + 4);\n  uVar4 = uVar1 + iVar3;\nLAB_0005637c:\n  iVar8 = (*pcVar9)(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4);\n  return iVar8 != 0;\n}\n\n" (function_definition "bool FUN_00056260(undefined4 param_1,int param_2,undefined4 param_3,uint param_4,undefined4 param_5,\n                 undefined4 param_6,int param_7)\n\n{\n  uint uVar1;\n  int *piVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  code *pcVar9;\n  \n  if (param_4 == 10) goto LAB_0005640c;\n  pcVar9 = (code *)PTR_debug_record_parameter_000821b8;\n  if (param_4 < 0xb) {\n    if (param_4 == 3) {\n      iVar8 = *(int *)(param_2 + 8);\n      uVar6 = 3;\n      if (param_7 == 0) {\n        uVar6 = 2;\n      }\n      uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);\n      iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);\n      uVar4 = uVar1 + *(int *)(param_2 + 0xc);\n      uVar5 = *(undefined4 *)(param_2 + 4);\n      pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }\n    if (param_4 < 4) {\n      if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 4;\n    }\n    else {\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }\nLAB_00056358:\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n    pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n  }\n  else {\n    if (param_4 == 0xf) {\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }\n    if (param_4 < 0x10) {\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }\n    if (param_4 != 0x11) {\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }\n    iVar7 = *(int *)(param_2 + 0x14);\n    uVar6 = 2;\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n  }\nLAB_0005636c:\n  uVar1 = *(uint *)(iVar7 + 0x24);\n  iVar7 = *(int *)(iVar7 + 0x20);\n  uVar5 = *(undefined4 *)(param_2 + 4);\n  uVar4 = uVar1 + iVar3;\nLAB_0005637c:\n  iVar8 = (*pcVar9)(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4);\n  return iVar8 != 0;\n}" primitive_type (function_declarator "FUN_00056260(undefined4 param_1,int param_2,undefined4 param_3,uint param_4,undefined4 param_5,\n                 undefined4 param_6,int param_7)" identifier (parameter_list "(undefined4 param_1,int param_2,undefined4 param_3,uint param_4,undefined4 param_5,\n                 undefined4 param_6,int param_7)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "int param_7" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  int *piVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  code *pcVar9;\n  \n  if (param_4 == 10) goto LAB_0005640c;\n  pcVar9 = (code *)PTR_debug_record_parameter_000821b8;\n  if (param_4 < 0xb) {\n    if (param_4 == 3) {\n      iVar8 = *(int *)(param_2 + 8);\n      uVar6 = 3;\n      if (param_7 == 0) {\n        uVar6 = 2;\n      }\n      uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);\n      iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);\n      uVar4 = uVar1 + *(int *)(param_2 + 0xc);\n      uVar5 = *(undefined4 *)(param_2 + 4);\n      pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }\n    if (param_4 < 4) {\n      if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 4;\n    }\n    else {\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }\nLAB_00056358:\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n    pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n  }\n  else {\n    if (param_4 == 0xf) {\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }\n    if (param_4 < 0x10) {\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }\n    if (param_4 != 0x11) {\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }\n    iVar7 = *(int *)(param_2 + 0x14);\n    uVar6 = 2;\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n  }\nLAB_0005636c:\n  uVar1 = *(uint *)(iVar7 + 0x24);\n  iVar7 = *(int *)(iVar7 + 0x20);\n  uVar5 = *(undefined4 *)(param_2 + 4);\n  uVar4 = uVar1 + iVar3;\nLAB_0005637c:\n  iVar8 = (*pcVar9)(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4);\n  return iVar8 != 0;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (if_statement "if (param_4 == 10) goto LAB_0005640c;" if (parenthesized_expression "(param_4 == 10)" ( (binary_expression "param_4 == 10" identifier == number_literal) )) (goto_statement "goto LAB_0005640c;" goto statement_identifier ;)) (expression_statement "pcVar9 = (code *)PTR_debug_record_parameter_000821b8;" (assignment_expression "pcVar9 = (code *)PTR_debug_record_parameter_000821b8" identifier = (cast_expression "(code *)PTR_debug_record_parameter_000821b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (param_4 < 0xb) {\n    if (param_4 == 3) {\n      iVar8 = *(int *)(param_2 + 8);\n      uVar6 = 3;\n      if (param_7 == 0) {\n        uVar6 = 2;\n      }\n      uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);\n      iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);\n      uVar4 = uVar1 + *(int *)(param_2 + 0xc);\n      uVar5 = *(undefined4 *)(param_2 + 4);\n      pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }\n    if (param_4 < 4) {\n      if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 4;\n    }\n    else {\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }\nLAB_00056358:\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n    pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n  }\n  else {\n    if (param_4 == 0xf) {\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }\n    if (param_4 < 0x10) {\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }\n    if (param_4 != 0x11) {\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }\n    iVar7 = *(int *)(param_2 + 0x14);\n    uVar6 = 2;\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n  }" if (parenthesized_expression "(param_4 < 0xb)" ( (binary_expression "param_4 < 0xb" identifier < number_literal) )) (compound_statement "{\n    if (param_4 == 3) {\n      iVar8 = *(int *)(param_2 + 8);\n      uVar6 = 3;\n      if (param_7 == 0) {\n        uVar6 = 2;\n      }\n      uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);\n      iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);\n      uVar4 = uVar1 + *(int *)(param_2 + 0xc);\n      uVar5 = *(undefined4 *)(param_2 + 4);\n      pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }\n    if (param_4 < 4) {\n      if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 4;\n    }\n    else {\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }\nLAB_00056358:\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n    pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n  }" { (if_statement "if (param_4 == 3) {\n      iVar8 = *(int *)(param_2 + 8);\n      uVar6 = 3;\n      if (param_7 == 0) {\n        uVar6 = 2;\n      }\n      uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);\n      iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);\n      uVar4 = uVar1 + *(int *)(param_2 + 0xc);\n      uVar5 = *(undefined4 *)(param_2 + 4);\n      pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }" if (parenthesized_expression "(param_4 == 3)" ( (binary_expression "param_4 == 3" identifier == number_literal) )) (compound_statement "{\n      iVar8 = *(int *)(param_2 + 8);\n      uVar6 = 3;\n      if (param_7 == 0) {\n        uVar6 = 2;\n      }\n      uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);\n      iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);\n      uVar4 = uVar1 + *(int *)(param_2 + 0xc);\n      uVar5 = *(undefined4 *)(param_2 + 4);\n      pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }" { (expression_statement "iVar8 = *(int *)(param_2 + 8);" (assignment_expression "iVar8 = *(int *)(param_2 + 8)" identifier = (pointer_expression "*(int *)(param_2 + 8)" * (cast_expression "(int *)(param_2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = 3;" (assignment_expression "uVar6 = 3" identifier = number_literal) ;) (if_statement "if (param_7 == 0) {\n        uVar6 = 2;\n      }" if (parenthesized_expression "(param_7 == 0)" ( (binary_expression "param_7 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar6 = 2;\n      }" { (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) })) (expression_statement "uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);" (assignment_expression "uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24)" identifier = (pointer_expression "*(uint *)(*(int *)(param_2 + 0x14) + 0x24)" * (cast_expression "(uint *)(*(int *)(param_2 + 0x14) + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x14) + 0x24)" ( (binary_expression "*(int *)(param_2 + 0x14) + 0x24" (pointer_expression "*(int *)(param_2 + 0x14)" * (cast_expression "(int *)(param_2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);" (assignment_expression "iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20)" identifier = (pointer_expression "*(int *)(*(int *)(param_2 + 0x14) + 0x20)" * (cast_expression "(int *)(*(int *)(param_2 + 0x14) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x14) + 0x20)" ( (binary_expression "*(int *)(param_2 + 0x14) + 0x20" (pointer_expression "*(int *)(param_2 + 0x14)" * (cast_expression "(int *)(param_2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar4 = uVar1 + *(int *)(param_2 + 0xc);" (assignment_expression "uVar4 = uVar1 + *(int *)(param_2 + 0xc)" identifier = (binary_expression "uVar1 + *(int *)(param_2 + 0xc)" identifier + (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))))) ;) (expression_statement "uVar5 = *(undefined4 *)(param_2 + 4);" (assignment_expression "uVar5 = *(undefined4 *)(param_2 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 4)" * (cast_expression "(undefined4 *)(param_2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) ))))) ;) (expression_statement "pcVar9 = (code *)PTR_debug_record_variable_0008210c;" (assignment_expression "pcVar9 = (code *)PTR_debug_record_variable_0008210c" identifier = (cast_expression "(code *)PTR_debug_record_variable_0008210c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_0005637c;" goto statement_identifier ;) })) (if_statement "if (param_4 < 4) {\n      if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 4;\n    }\n    else {\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }" if (parenthesized_expression "(param_4 < 4)" ( (binary_expression "param_4 < 4" identifier < number_literal) )) (compound_statement "{\n      if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 4;\n    }" { (if_statement "if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }" if (parenthesized_expression "(param_4 != 1)" ( (binary_expression "param_4 != 1" identifier != number_literal) )) (compound_statement "{\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }" { (if_statement "if (param_4 != 2) {\n          return true;\n        }" if (parenthesized_expression "(param_4 != 2)" ( (binary_expression "param_4 != 2" identifier != number_literal) )) (compound_statement "{\n          return true;\n        }" { (return_statement "return true;" return true ;) })) (goto_statement "goto LAB_00056400;" goto statement_identifier ;) })) (expression_statement "iVar7 = *(int *)(param_2 + 0x14);" (assignment_expression "iVar7 = *(int *)(param_2 + 0x14)" identifier = (pointer_expression "*(int *)(param_2 + 0x14)" * (cast_expression "(int *)(param_2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = 4;" (assignment_expression "uVar6 = 4" identifier = number_literal) ;) }) (else_clause "else {\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }" else (compound_statement "{\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }" { (if_statement "if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }" if (parenthesized_expression "(param_4 != 4)" ( (binary_expression "param_4 != 4" identifier != number_literal) )) (compound_statement "{\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }" { (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if (param_4 != 9) {\n          return true;\n        }" if (parenthesized_expression "(param_4 != 9)" ( (binary_expression "param_4 != 9" identifier != number_literal) )) (compound_statement "{\n          return true;\n        }" { (return_statement "return true;" return true ;) })) (expression_statement "iVar7 = *(int *)(param_2 + 0x14);" (assignment_expression "iVar7 = *(int *)(param_2 + 0x14)" identifier = (pointer_expression "*(int *)(param_2 + 0x14)" * (cast_expression "(int *)(param_2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = *(int *)(param_2 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_2 + 0xc)" identifier = (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(param_2 + 8);" (assignment_expression "iVar8 = *(int *)(param_2 + 8)" identifier = (pointer_expression "*(int *)(param_2 + 8)" * (cast_expression "(int *)(param_2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0005636c;" goto statement_identifier ;) })) (expression_statement "iVar7 = *(int *)(param_2 + 0x14);" (assignment_expression "iVar7 = *(int *)(param_2 + 0x14)" identifier = (pointer_expression "*(int *)(param_2 + 0x14)" * (cast_expression "(int *)(param_2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = 5;" (assignment_expression "uVar6 = 5" identifier = number_literal) ;) }))) (labeled_statement "LAB_00056358:\n    iVar3 = *(int *)(param_2 + 0xc);" statement_identifier : (expression_statement "iVar3 = *(int *)(param_2 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_2 + 0xc)" identifier = (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) ))))) ;)) (expression_statement "iVar8 = *(int *)(param_2 + 8);" (assignment_expression "iVar8 = *(int *)(param_2 + 8)" identifier = (pointer_expression "*(int *)(param_2 + 8)" * (cast_expression "(int *)(param_2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) ;) (expression_statement "pcVar9 = (code *)PTR_debug_record_variable_0008210c;" (assignment_expression "pcVar9 = (code *)PTR_debug_record_variable_0008210c" identifier = (cast_expression "(code *)PTR_debug_record_variable_0008210c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n    if (param_4 == 0xf) {\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }\n    if (param_4 < 0x10) {\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }\n    if (param_4 != 0x11) {\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }\n    iVar7 = *(int *)(param_2 + 0x14);\n    uVar6 = 2;\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n  }" else (compound_statement "{\n    if (param_4 == 0xf) {\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }\n    if (param_4 < 0x10) {\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }\n    if (param_4 != 0x11) {\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }\n    iVar7 = *(int *)(param_2 + 0x14);\n    uVar6 = 2;\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n  }" { (if_statement "if (param_4 == 0xf) {\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }" if (parenthesized_expression "(param_4 == 0xf)" ( (binary_expression "param_4 == 0xf" identifier == number_literal) )) (compound_statement "{\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }" { (labeled_statement "LAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);" statement_identifier : (expression_statement "iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);" (assignment_expression "iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6)" identifier = (call_expression "debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6)" identifier (argument_list "(param_5,*(undefined4 *)(param_2 + 4),param_6)" ( identifier , (pointer_expression "*(undefined4 *)(param_2 + 4)" * (cast_expression "(undefined4 *)(param_2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) , identifier )))) ;)) (if_statement "if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }" { (expression_statement "piVar2 = (int *)FUN_00056110(param_1,param_3);" (assignment_expression "piVar2 = (int *)FUN_00056110(param_1,param_3)" identifier = (cast_expression "(int *)FUN_00056110(param_1,param_3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00056110(param_1,param_3)" identifier (argument_list "(param_1,param_3)" ( identifier , identifier ))))) ;) (expression_statement "*piVar2 = iVar8;" (assignment_expression "*piVar2 = iVar8" (pointer_expression "*piVar2" * identifier) = identifier) ;) })) (return_statement "return iVar8 != 0;" return (binary_expression "iVar8 != 0" identifier != number_literal) ;) })) (if_statement "if (param_4 < 0x10) {\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }" if (parenthesized_expression "(param_4 < 0x10)" ( (binary_expression "param_4 < 0x10" identifier < number_literal) )) (compound_statement "{\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }" { (if_statement "if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }" if (parenthesized_expression "(param_4 != 0xc)" ( (binary_expression "param_4 != 0xc" identifier != number_literal) )) (compound_statement "{\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }" { (if_statement "if (param_4 != 0xd) {\n          return true;\n        }" if (parenthesized_expression "(param_4 != 0xd)" ( (binary_expression "param_4 != 0xd" identifier != number_literal) )) (compound_statement "{\n          return true;\n        }" { (return_statement "return true;" return true ;) })) (expression_statement "iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);" (assignment_expression "iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6)" identifier = (call_expression "debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6)" identifier (argument_list "(param_5,*(undefined4 *)(param_2 + 4),param_6)" ( identifier , (pointer_expression "*(undefined4 *)(param_2 + 4)" * (cast_expression "(undefined4 *)(param_2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) , identifier )))) ;) (return_statement "return iVar8 != 0;" return (binary_expression "iVar8 != 0" identifier != number_literal) ;) })) (goto_statement "goto LAB_0005640c;" goto statement_identifier ;) })) (if_statement "if (param_4 != 0x11) {\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }" if (parenthesized_expression "(param_4 != 0x11)" ( (binary_expression "param_4 != 0x11" identifier != number_literal) )) (compound_statement "{\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }" { (if_statement "if (param_4 != 0x7f) {\n        return true;\n      }" if (parenthesized_expression "(param_4 != 0x7f)" ( (binary_expression "param_4 != 0x7f" identifier != number_literal) )) (compound_statement "{\n        return true;\n      }" { (return_statement "return true;" return true ;) })) (labeled_statement "LAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);" statement_identifier : (expression_statement "iVar7 = *(int *)(param_2 + 0x14);" (assignment_expression "iVar7 = *(int *)(param_2 + 0x14)" identifier = (pointer_expression "*(int *)(param_2 + 0x14)" * (cast_expression "(int *)(param_2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) ))))) ;)) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00056358;" goto statement_identifier ;) })) (expression_statement "iVar7 = *(int *)(param_2 + 0x14);" (assignment_expression "iVar7 = *(int *)(param_2 + 0x14)" identifier = (pointer_expression "*(int *)(param_2 + 0x14)" * (cast_expression "(int *)(param_2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (expression_statement "iVar3 = *(int *)(param_2 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_2 + 0xc)" identifier = (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(param_2 + 8);" (assignment_expression "iVar8 = *(int *)(param_2 + 8)" identifier = (pointer_expression "*(int *)(param_2 + 8)" * (cast_expression "(int *)(param_2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) ;) }))) (labeled_statement "LAB_0005636c:\n  uVar1 = *(uint *)(iVar7 + 0x24);" statement_identifier : (expression_statement "uVar1 = *(uint *)(iVar7 + 0x24);" (assignment_expression "uVar1 = *(uint *)(iVar7 + 0x24)" identifier = (pointer_expression "*(uint *)(iVar7 + 0x24)" * (cast_expression "(uint *)(iVar7 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x24)" ( (binary_expression "iVar7 + 0x24" identifier + number_literal) ))))) ;)) (expression_statement "iVar7 = *(int *)(iVar7 + 0x20);" (assignment_expression "iVar7 = *(int *)(iVar7 + 0x20)" identifier = (pointer_expression "*(int *)(iVar7 + 0x20)" * (cast_expression "(int *)(iVar7 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(undefined4 *)(param_2 + 4);" (assignment_expression "uVar5 = *(undefined4 *)(param_2 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 4)" * (cast_expression "(undefined4 *)(param_2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = uVar1 + iVar3;" (assignment_expression "uVar4 = uVar1 + iVar3" identifier = (binary_expression "uVar1 + iVar3" identifier + identifier)) ;) (labeled_statement "LAB_0005637c:\n  iVar8 = (*pcVar9)(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4);" statement_identifier : (expression_statement "iVar8 = (*pcVar9)(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4);" (assignment_expression "iVar8 = (*pcVar9)(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4)" identifier = (call_expression "(*pcVar9)(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4)" ( identifier , identifier , identifier , identifier , (binary_expression "(uint)(uVar4 < uVar1) + iVar7 + iVar8" (binary_expression "(uint)(uVar4 < uVar1) + iVar7" (call_expression "(uint)(uVar4 < uVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 < uVar1)" ( (binary_expression "uVar4 < uVar1" identifier < identifier) ))) + identifier) + identifier) , identifier )))) ;)) (return_statement "return iVar8 != 0;" return (binary_expression "iVar8 != 0" identifier != number_literal) ;) })))
(translation_unit "bfd_boolean\nparse_coff_symbol(bfd *abfd,coff_types *types,asymbol *sym,long coff_symno,internal_syment *psyment,\n                 void *dhandle,debug_type type,bfd_boolean within_function)\n\n{\n  uint uVar1;\n  int iVar2;\n  debug_type_conflict pdVar3;\n  debug_type_conflict *ppdVar4;\n  debug_type pdVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  debug_type_kind dVar8;\n  debug_type pdVar9;\n  debug_type pdVar10;\n  code *pcVar11;\n  \n  if (coff_symno == 10) goto LAB_0005640c;\n  pcVar11 = (code *)PTR_debug_record_parameter_000821b8;\n  if ((uint)coff_symno < 0xb) {\n    if (coff_symno == 3) {\n      pdVar10 = types->basic[1];\n      uVar7 = 3;\n      if (type == (debug_type)0x0) {\n        uVar7 = 2;\n      }\n      uVar1 = types->basic[4][2].size;\n      dVar8 = types->basic[4][2].kind;\n      uVar6 = (int)&types->basic[2]->kind + uVar1;\n      pdVar9 = types->basic[0];\n      pcVar11 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }\n    if ((uint)coff_symno < 4) {\n      if (coff_symno != 1) {\n        if (coff_symno != 2) {\n          return 1;\n        }\n        goto LAB_00056400;\n      }\n      pdVar9 = types->basic[4];\n      uVar7 = 4;\n    }\n    else {\n      if (coff_symno != 4) {\n        uVar7 = 1;\n        if (coff_symno != 9) {\n          return 1;\n        }\n        pdVar9 = types->basic[4];\n        pdVar5 = types->basic[2];\n        pdVar10 = types->basic[1];\n        goto LAB_0005636c;\n      }\n      pdVar9 = types->basic[4];\n      uVar7 = 5;\n    }\nLAB_00056358:\n    pdVar5 = types->basic[2];\n    pdVar10 = types->basic[1];\n    pcVar11 = (code *)PTR_debug_record_variable_0008210c;\n  }\n  else {\n    if (coff_symno == 0xf) {\nLAB_0005640c:\n      pdVar3 = debug_tag_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);\n      if (pdVar3 != (debug_type_conflict)0x0) {\n        ppdVar4 = coff_get_slot((coff_types *)abfd,(long)sym);\n        *ppdVar4 = pdVar3;\n      }\n      return (uint)(pdVar3 != (debug_type_conflict)0x0);\n    }\n    if ((uint)coff_symno < 0x10) {\n      if (coff_symno != 0xc) {\n        if (coff_symno != 0xd) {\n          return 1;\n        }\n        pdVar3 = debug_name_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);\n        return (uint)(pdVar3 != (debug_type_conflict)0x0);\n      }\n      goto LAB_0005640c;\n    }\n    if (coff_symno != 0x11) {\n      if (coff_symno != 0x7f) {\n        return 1;\n      }\nLAB_00056400:\n      pdVar9 = types->basic[4];\n      uVar7 = 1;\n      goto LAB_00056358;\n    }\n    pdVar9 = types->basic[4];\n    uVar7 = 2;\n    pdVar5 = types->basic[2];\n    pdVar10 = types->basic[1];\n  }\nLAB_0005636c:\n  uVar1 = pdVar9[2].size;\n  dVar8 = pdVar9[2].kind;\n  pdVar9 = types->basic[0];\n  uVar6 = (int)&pdVar5->kind + uVar1;\nLAB_0005637c:\n  iVar2 = (*pcVar11)(psyment,pdVar9,dhandle,uVar7,(int)&pdVar10->kind + (uVar6 < uVar1) + dVar8,\n                     uVar6);\n  return (uint)(iVar2 != 0);\n}\n\n" (function_definition "bfd_boolean\nparse_coff_symbol(bfd *abfd,coff_types *types,asymbol *sym,long coff_symno,internal_syment *psyment,\n                 void *dhandle,debug_type type,bfd_boolean within_function)\n\n{\n  uint uVar1;\n  int iVar2;\n  debug_type_conflict pdVar3;\n  debug_type_conflict *ppdVar4;\n  debug_type pdVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  debug_type_kind dVar8;\n  debug_type pdVar9;\n  debug_type pdVar10;\n  code *pcVar11;\n  \n  if (coff_symno == 10) goto LAB_0005640c;\n  pcVar11 = (code *)PTR_debug_record_parameter_000821b8;\n  if ((uint)coff_symno < 0xb) {\n    if (coff_symno == 3) {\n      pdVar10 = types->basic[1];\n      uVar7 = 3;\n      if (type == (debug_type)0x0) {\n        uVar7 = 2;\n      }\n      uVar1 = types->basic[4][2].size;\n      dVar8 = types->basic[4][2].kind;\n      uVar6 = (int)&types->basic[2]->kind + uVar1;\n      pdVar9 = types->basic[0];\n      pcVar11 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }\n    if ((uint)coff_symno < 4) {\n      if (coff_symno != 1) {\n        if (coff_symno != 2) {\n          return 1;\n        }\n        goto LAB_00056400;\n      }\n      pdVar9 = types->basic[4];\n      uVar7 = 4;\n    }\n    else {\n      if (coff_symno != 4) {\n        uVar7 = 1;\n        if (coff_symno != 9) {\n          return 1;\n        }\n        pdVar9 = types->basic[4];\n        pdVar5 = types->basic[2];\n        pdVar10 = types->basic[1];\n        goto LAB_0005636c;\n      }\n      pdVar9 = types->basic[4];\n      uVar7 = 5;\n    }\nLAB_00056358:\n    pdVar5 = types->basic[2];\n    pdVar10 = types->basic[1];\n    pcVar11 = (code *)PTR_debug_record_variable_0008210c;\n  }\n  else {\n    if (coff_symno == 0xf) {\nLAB_0005640c:\n      pdVar3 = debug_tag_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);\n      if (pdVar3 != (debug_type_conflict)0x0) {\n        ppdVar4 = coff_get_slot((coff_types *)abfd,(long)sym);\n        *ppdVar4 = pdVar3;\n      }\n      return (uint)(pdVar3 != (debug_type_conflict)0x0);\n    }\n    if ((uint)coff_symno < 0x10) {\n      if (coff_symno != 0xc) {\n        if (coff_symno != 0xd) {\n          return 1;\n        }\n        pdVar3 = debug_name_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);\n        return (uint)(pdVar3 != (debug_type_conflict)0x0);\n      }\n      goto LAB_0005640c;\n    }\n    if (coff_symno != 0x11) {\n      if (coff_symno != 0x7f) {\n        return 1;\n      }\nLAB_00056400:\n      pdVar9 = types->basic[4];\n      uVar7 = 1;\n      goto LAB_00056358;\n    }\n    pdVar9 = types->basic[4];\n    uVar7 = 2;\n    pdVar5 = types->basic[2];\n    pdVar10 = types->basic[1];\n  }\nLAB_0005636c:\n  uVar1 = pdVar9[2].size;\n  dVar8 = pdVar9[2].kind;\n  pdVar9 = types->basic[0];\n  uVar6 = (int)&pdVar5->kind + uVar1;\nLAB_0005637c:\n  iVar2 = (*pcVar11)(psyment,pdVar9,dhandle,uVar7,(int)&pdVar10->kind + (uVar6 < uVar1) + dVar8,\n                     uVar6);\n  return (uint)(iVar2 != 0);\n}" type_identifier (function_declarator "parse_coff_symbol(bfd *abfd,coff_types *types,asymbol *sym,long coff_symno,internal_syment *psyment,\n                 void *dhandle,debug_type type,bfd_boolean within_function)" identifier (parameter_list "(bfd *abfd,coff_types *types,asymbol *sym,long coff_symno,internal_syment *psyment,\n                 void *dhandle,debug_type type,bfd_boolean within_function)" ( (parameter_declaration "bfd *abfd" type_identifier (pointer_declarator "*abfd" * identifier)) , (parameter_declaration "coff_types *types" type_identifier (pointer_declarator "*types" * identifier)) , (parameter_declaration "asymbol *sym" type_identifier (pointer_declarator "*sym" * identifier)) , (parameter_declaration "long coff_symno" (sized_type_specifier "long" long) identifier) , (parameter_declaration "internal_syment *psyment" type_identifier (pointer_declarator "*psyment" * identifier)) , (parameter_declaration "void *dhandle" primitive_type (pointer_declarator "*dhandle" * identifier)) , (parameter_declaration "debug_type type" type_identifier identifier) , (parameter_declaration "bfd_boolean within_function" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  debug_type_conflict pdVar3;\n  debug_type_conflict *ppdVar4;\n  debug_type pdVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  debug_type_kind dVar8;\n  debug_type pdVar9;\n  debug_type pdVar10;\n  code *pcVar11;\n  \n  if (coff_symno == 10) goto LAB_0005640c;\n  pcVar11 = (code *)PTR_debug_record_parameter_000821b8;\n  if ((uint)coff_symno < 0xb) {\n    if (coff_symno == 3) {\n      pdVar10 = types->basic[1];\n      uVar7 = 3;\n      if (type == (debug_type)0x0) {\n        uVar7 = 2;\n      }\n      uVar1 = types->basic[4][2].size;\n      dVar8 = types->basic[4][2].kind;\n      uVar6 = (int)&types->basic[2]->kind + uVar1;\n      pdVar9 = types->basic[0];\n      pcVar11 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }\n    if ((uint)coff_symno < 4) {\n      if (coff_symno != 1) {\n        if (coff_symno != 2) {\n          return 1;\n        }\n        goto LAB_00056400;\n      }\n      pdVar9 = types->basic[4];\n      uVar7 = 4;\n    }\n    else {\n      if (coff_symno != 4) {\n        uVar7 = 1;\n        if (coff_symno != 9) {\n          return 1;\n        }\n        pdVar9 = types->basic[4];\n        pdVar5 = types->basic[2];\n        pdVar10 = types->basic[1];\n        goto LAB_0005636c;\n      }\n      pdVar9 = types->basic[4];\n      uVar7 = 5;\n    }\nLAB_00056358:\n    pdVar5 = types->basic[2];\n    pdVar10 = types->basic[1];\n    pcVar11 = (code *)PTR_debug_record_variable_0008210c;\n  }\n  else {\n    if (coff_symno == 0xf) {\nLAB_0005640c:\n      pdVar3 = debug_tag_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);\n      if (pdVar3 != (debug_type_conflict)0x0) {\n        ppdVar4 = coff_get_slot((coff_types *)abfd,(long)sym);\n        *ppdVar4 = pdVar3;\n      }\n      return (uint)(pdVar3 != (debug_type_conflict)0x0);\n    }\n    if ((uint)coff_symno < 0x10) {\n      if (coff_symno != 0xc) {\n        if (coff_symno != 0xd) {\n          return 1;\n        }\n        pdVar3 = debug_name_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);\n        return (uint)(pdVar3 != (debug_type_conflict)0x0);\n      }\n      goto LAB_0005640c;\n    }\n    if (coff_symno != 0x11) {\n      if (coff_symno != 0x7f) {\n        return 1;\n      }\nLAB_00056400:\n      pdVar9 = types->basic[4];\n      uVar7 = 1;\n      goto LAB_00056358;\n    }\n    pdVar9 = types->basic[4];\n    uVar7 = 2;\n    pdVar5 = types->basic[2];\n    pdVar10 = types->basic[1];\n  }\nLAB_0005636c:\n  uVar1 = pdVar9[2].size;\n  dVar8 = pdVar9[2].kind;\n  pdVar9 = types->basic[0];\n  uVar6 = (int)&pdVar5->kind + uVar1;\nLAB_0005637c:\n  iVar2 = (*pcVar11)(psyment,pdVar9,dhandle,uVar7,(int)&pdVar10->kind + (uVar6 < uVar1) + dVar8,\n                     uVar6);\n  return (uint)(iVar2 != 0);\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "debug_type_conflict pdVar3;" type_identifier identifier ;) (declaration "debug_type_conflict *ppdVar4;" type_identifier (pointer_declarator "*ppdVar4" * identifier) ;) (declaration "debug_type pdVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "debug_type_kind dVar8;" type_identifier identifier ;) (declaration "debug_type pdVar9;" type_identifier identifier ;) (declaration "debug_type pdVar10;" type_identifier identifier ;) (declaration "code *pcVar11;" type_identifier (pointer_declarator "*pcVar11" * identifier) ;) (if_statement "if (coff_symno == 10) goto LAB_0005640c;" if (parenthesized_expression "(coff_symno == 10)" ( (binary_expression "coff_symno == 10" identifier == number_literal) )) (goto_statement "goto LAB_0005640c;" goto statement_identifier ;)) (expression_statement "pcVar11 = (code *)PTR_debug_record_parameter_000821b8;" (assignment_expression "pcVar11 = (code *)PTR_debug_record_parameter_000821b8" identifier = (cast_expression "(code *)PTR_debug_record_parameter_000821b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((uint)coff_symno < 0xb) {\n    if (coff_symno == 3) {\n      pdVar10 = types->basic[1];\n      uVar7 = 3;\n      if (type == (debug_type)0x0) {\n        uVar7 = 2;\n      }\n      uVar1 = types->basic[4][2].size;\n      dVar8 = types->basic[4][2].kind;\n      uVar6 = (int)&types->basic[2]->kind + uVar1;\n      pdVar9 = types->basic[0];\n      pcVar11 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }\n    if ((uint)coff_symno < 4) {\n      if (coff_symno != 1) {\n        if (coff_symno != 2) {\n          return 1;\n        }\n        goto LAB_00056400;\n      }\n      pdVar9 = types->basic[4];\n      uVar7 = 4;\n    }\n    else {\n      if (coff_symno != 4) {\n        uVar7 = 1;\n        if (coff_symno != 9) {\n          return 1;\n        }\n        pdVar9 = types->basic[4];\n        pdVar5 = types->basic[2];\n        pdVar10 = types->basic[1];\n        goto LAB_0005636c;\n      }\n      pdVar9 = types->basic[4];\n      uVar7 = 5;\n    }\nLAB_00056358:\n    pdVar5 = types->basic[2];\n    pdVar10 = types->basic[1];\n    pcVar11 = (code *)PTR_debug_record_variable_0008210c;\n  }\n  else {\n    if (coff_symno == 0xf) {\nLAB_0005640c:\n      pdVar3 = debug_tag_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);\n      if (pdVar3 != (debug_type_conflict)0x0) {\n        ppdVar4 = coff_get_slot((coff_types *)abfd,(long)sym);\n        *ppdVar4 = pdVar3;\n      }\n      return (uint)(pdVar3 != (debug_type_conflict)0x0);\n    }\n    if ((uint)coff_symno < 0x10) {\n      if (coff_symno != 0xc) {\n        if (coff_symno != 0xd) {\n          return 1;\n        }\n        pdVar3 = debug_name_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);\n        return (uint)(pdVar3 != (debug_type_conflict)0x0);\n      }\n      goto LAB_0005640c;\n    }\n    if (coff_symno != 0x11) {\n      if (coff_symno != 0x7f) {\n        return 1;\n      }\nLAB_00056400:\n      pdVar9 = types->basic[4];\n      uVar7 = 1;\n      goto LAB_00056358;\n    }\n    pdVar9 = types->basic[4];\n    uVar7 = 2;\n    pdVar5 = types->basic[2];\n    pdVar10 = types->basic[1];\n  }" if (parenthesized_expression "((uint)coff_symno < 0xb)" ( (binary_expression "(uint)coff_symno < 0xb" (cast_expression "(uint)coff_symno" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n    if (coff_symno == 3) {\n      pdVar10 = types->basic[1];\n      uVar7 = 3;\n      if (type == (debug_type)0x0) {\n        uVar7 = 2;\n      }\n      uVar1 = types->basic[4][2].size;\n      dVar8 = types->basic[4][2].kind;\n      uVar6 = (int)&types->basic[2]->kind + uVar1;\n      pdVar9 = types->basic[0];\n      pcVar11 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }\n    if ((uint)coff_symno < 4) {\n      if (coff_symno != 1) {\n        if (coff_symno != 2) {\n          return 1;\n        }\n        goto LAB_00056400;\n      }\n      pdVar9 = types->basic[4];\n      uVar7 = 4;\n    }\n    else {\n      if (coff_symno != 4) {\n        uVar7 = 1;\n        if (coff_symno != 9) {\n          return 1;\n        }\n        pdVar9 = types->basic[4];\n        pdVar5 = types->basic[2];\n        pdVar10 = types->basic[1];\n        goto LAB_0005636c;\n      }\n      pdVar9 = types->basic[4];\n      uVar7 = 5;\n    }\nLAB_00056358:\n    pdVar5 = types->basic[2];\n    pdVar10 = types->basic[1];\n    pcVar11 = (code *)PTR_debug_record_variable_0008210c;\n  }" { (if_statement "if (coff_symno == 3) {\n      pdVar10 = types->basic[1];\n      uVar7 = 3;\n      if (type == (debug_type)0x0) {\n        uVar7 = 2;\n      }\n      uVar1 = types->basic[4][2].size;\n      dVar8 = types->basic[4][2].kind;\n      uVar6 = (int)&types->basic[2]->kind + uVar1;\n      pdVar9 = types->basic[0];\n      pcVar11 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }" if (parenthesized_expression "(coff_symno == 3)" ( (binary_expression "coff_symno == 3" identifier == number_literal) )) (compound_statement "{\n      pdVar10 = types->basic[1];\n      uVar7 = 3;\n      if (type == (debug_type)0x0) {\n        uVar7 = 2;\n      }\n      uVar1 = types->basic[4][2].size;\n      dVar8 = types->basic[4][2].kind;\n      uVar6 = (int)&types->basic[2]->kind + uVar1;\n      pdVar9 = types->basic[0];\n      pcVar11 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }" { (expression_statement "pdVar10 = types->basic[1];" (assignment_expression "pdVar10 = types->basic[1]" identifier = (subscript_expression "types->basic[1]" (field_expression "types->basic" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar7 = 3;" (assignment_expression "uVar7 = 3" identifier = number_literal) ;) (if_statement "if (type == (debug_type)0x0) {\n        uVar7 = 2;\n      }" if (parenthesized_expression "(type == (debug_type)0x0)" ( (binary_expression "type == (debug_type)0x0" identifier == (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal)) )) (compound_statement "{\n        uVar7 = 2;\n      }" { (expression_statement "uVar7 = 2;" (assignment_expression "uVar7 = 2" identifier = number_literal) ;) })) (expression_statement "uVar1 = types->basic[4][2].size;" (assignment_expression "uVar1 = types->basic[4][2].size" identifier = (field_expression "types->basic[4][2].size" (subscript_expression "types->basic[4][2]" (subscript_expression "types->basic[4]" (field_expression "types->basic" identifier -> field_identifier) [ number_literal ]) [ number_literal ]) . field_identifier)) ;) (expression_statement "dVar8 = types->basic[4][2].kind;" (assignment_expression "dVar8 = types->basic[4][2].kind" identifier = (field_expression "types->basic[4][2].kind" (subscript_expression "types->basic[4][2]" (subscript_expression "types->basic[4]" (field_expression "types->basic" identifier -> field_identifier) [ number_literal ]) [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar6 = (int)&types->basic[2]->kind + uVar1;" (assignment_expression "uVar6 = (int)&types->basic[2]->kind + uVar1" identifier = (binary_expression "(int)&types->basic[2]->kind + uVar1" (cast_expression "(int)&types->basic[2]->kind" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&types->basic[2]->kind" & (field_expression "types->basic[2]->kind" (subscript_expression "types->basic[2]" (field_expression "types->basic" identifier -> field_identifier) [ number_literal ]) -> field_identifier))) + identifier)) ;) (expression_statement "pdVar9 = types->basic[0];" (assignment_expression "pdVar9 = types->basic[0]" identifier = (subscript_expression "types->basic[0]" (field_expression "types->basic" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "pcVar11 = (code *)PTR_debug_record_variable_0008210c;" (assignment_expression "pcVar11 = (code *)PTR_debug_record_variable_0008210c" identifier = (cast_expression "(code *)PTR_debug_record_variable_0008210c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_0005637c;" goto statement_identifier ;) })) (if_statement "if ((uint)coff_symno < 4) {\n      if (coff_symno != 1) {\n        if (coff_symno != 2) {\n          return 1;\n        }\n        goto LAB_00056400;\n      }\n      pdVar9 = types->basic[4];\n      uVar7 = 4;\n    }\n    else {\n      if (coff_symno != 4) {\n        uVar7 = 1;\n        if (coff_symno != 9) {\n          return 1;\n        }\n        pdVar9 = types->basic[4];\n        pdVar5 = types->basic[2];\n        pdVar10 = types->basic[1];\n        goto LAB_0005636c;\n      }\n      pdVar9 = types->basic[4];\n      uVar7 = 5;\n    }" if (parenthesized_expression "((uint)coff_symno < 4)" ( (binary_expression "(uint)coff_symno < 4" (cast_expression "(uint)coff_symno" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n      if (coff_symno != 1) {\n        if (coff_symno != 2) {\n          return 1;\n        }\n        goto LAB_00056400;\n      }\n      pdVar9 = types->basic[4];\n      uVar7 = 4;\n    }" { (if_statement "if (coff_symno != 1) {\n        if (coff_symno != 2) {\n          return 1;\n        }\n        goto LAB_00056400;\n      }" if (parenthesized_expression "(coff_symno != 1)" ( (binary_expression "coff_symno != 1" identifier != number_literal) )) (compound_statement "{\n        if (coff_symno != 2) {\n          return 1;\n        }\n        goto LAB_00056400;\n      }" { (if_statement "if (coff_symno != 2) {\n          return 1;\n        }" if (parenthesized_expression "(coff_symno != 2)" ( (binary_expression "coff_symno != 2" identifier != number_literal) )) (compound_statement "{\n          return 1;\n        }" { (return_statement "return 1;" return number_literal ;) })) (goto_statement "goto LAB_00056400;" goto statement_identifier ;) })) (expression_statement "pdVar9 = types->basic[4];" (assignment_expression "pdVar9 = types->basic[4]" identifier = (subscript_expression "types->basic[4]" (field_expression "types->basic" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar7 = 4;" (assignment_expression "uVar7 = 4" identifier = number_literal) ;) }) (else_clause "else {\n      if (coff_symno != 4) {\n        uVar7 = 1;\n        if (coff_symno != 9) {\n          return 1;\n        }\n        pdVar9 = types->basic[4];\n        pdVar5 = types->basic[2];\n        pdVar10 = types->basic[1];\n        goto LAB_0005636c;\n      }\n      pdVar9 = types->basic[4];\n      uVar7 = 5;\n    }" else (compound_statement "{\n      if (coff_symno != 4) {\n        uVar7 = 1;\n        if (coff_symno != 9) {\n          return 1;\n        }\n        pdVar9 = types->basic[4];\n        pdVar5 = types->basic[2];\n        pdVar10 = types->basic[1];\n        goto LAB_0005636c;\n      }\n      pdVar9 = types->basic[4];\n      uVar7 = 5;\n    }" { (if_statement "if (coff_symno != 4) {\n        uVar7 = 1;\n        if (coff_symno != 9) {\n          return 1;\n        }\n        pdVar9 = types->basic[4];\n        pdVar5 = types->basic[2];\n        pdVar10 = types->basic[1];\n        goto LAB_0005636c;\n      }" if (parenthesized_expression "(coff_symno != 4)" ( (binary_expression "coff_symno != 4" identifier != number_literal) )) (compound_statement "{\n        uVar7 = 1;\n        if (coff_symno != 9) {\n          return 1;\n        }\n        pdVar9 = types->basic[4];\n        pdVar5 = types->basic[2];\n        pdVar10 = types->basic[1];\n        goto LAB_0005636c;\n      }" { (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) (if_statement "if (coff_symno != 9) {\n          return 1;\n        }" if (parenthesized_expression "(coff_symno != 9)" ( (binary_expression "coff_symno != 9" identifier != number_literal) )) (compound_statement "{\n          return 1;\n        }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "pdVar9 = types->basic[4];" (assignment_expression "pdVar9 = types->basic[4]" identifier = (subscript_expression "types->basic[4]" (field_expression "types->basic" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "pdVar5 = types->basic[2];" (assignment_expression "pdVar5 = types->basic[2]" identifier = (subscript_expression "types->basic[2]" (field_expression "types->basic" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "pdVar10 = types->basic[1];" (assignment_expression "pdVar10 = types->basic[1]" identifier = (subscript_expression "types->basic[1]" (field_expression "types->basic" identifier -> field_identifier) [ number_literal ])) ;) (goto_statement "goto LAB_0005636c;" goto statement_identifier ;) })) (expression_statement "pdVar9 = types->basic[4];" (assignment_expression "pdVar9 = types->basic[4]" identifier = (subscript_expression "types->basic[4]" (field_expression "types->basic" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar7 = 5;" (assignment_expression "uVar7 = 5" identifier = number_literal) ;) }))) (labeled_statement "LAB_00056358:\n    pdVar5 = types->basic[2];" statement_identifier : (expression_statement "pdVar5 = types->basic[2];" (assignment_expression "pdVar5 = types->basic[2]" identifier = (subscript_expression "types->basic[2]" (field_expression "types->basic" identifier -> field_identifier) [ number_literal ])) ;)) (expression_statement "pdVar10 = types->basic[1];" (assignment_expression "pdVar10 = types->basic[1]" identifier = (subscript_expression "types->basic[1]" (field_expression "types->basic" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "pcVar11 = (code *)PTR_debug_record_variable_0008210c;" (assignment_expression "pcVar11 = (code *)PTR_debug_record_variable_0008210c" identifier = (cast_expression "(code *)PTR_debug_record_variable_0008210c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n    if (coff_symno == 0xf) {\nLAB_0005640c:\n      pdVar3 = debug_tag_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);\n      if (pdVar3 != (debug_type_conflict)0x0) {\n        ppdVar4 = coff_get_slot((coff_types *)abfd,(long)sym);\n        *ppdVar4 = pdVar3;\n      }\n      return (uint)(pdVar3 != (debug_type_conflict)0x0);\n    }\n    if ((uint)coff_symno < 0x10) {\n      if (coff_symno != 0xc) {\n        if (coff_symno != 0xd) {\n          return 1;\n        }\n        pdVar3 = debug_name_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);\n        return (uint)(pdVar3 != (debug_type_conflict)0x0);\n      }\n      goto LAB_0005640c;\n    }\n    if (coff_symno != 0x11) {\n      if (coff_symno != 0x7f) {\n        return 1;\n      }\nLAB_00056400:\n      pdVar9 = types->basic[4];\n      uVar7 = 1;\n      goto LAB_00056358;\n    }\n    pdVar9 = types->basic[4];\n    uVar7 = 2;\n    pdVar5 = types->basic[2];\n    pdVar10 = types->basic[1];\n  }" else (compound_statement "{\n    if (coff_symno == 0xf) {\nLAB_0005640c:\n      pdVar3 = debug_tag_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);\n      if (pdVar3 != (debug_type_conflict)0x0) {\n        ppdVar4 = coff_get_slot((coff_types *)abfd,(long)sym);\n        *ppdVar4 = pdVar3;\n      }\n      return (uint)(pdVar3 != (debug_type_conflict)0x0);\n    }\n    if ((uint)coff_symno < 0x10) {\n      if (coff_symno != 0xc) {\n        if (coff_symno != 0xd) {\n          return 1;\n        }\n        pdVar3 = debug_name_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);\n        return (uint)(pdVar3 != (debug_type_conflict)0x0);\n      }\n      goto LAB_0005640c;\n    }\n    if (coff_symno != 0x11) {\n      if (coff_symno != 0x7f) {\n        return 1;\n      }\nLAB_00056400:\n      pdVar9 = types->basic[4];\n      uVar7 = 1;\n      goto LAB_00056358;\n    }\n    pdVar9 = types->basic[4];\n    uVar7 = 2;\n    pdVar5 = types->basic[2];\n    pdVar10 = types->basic[1];\n  }" { (if_statement "if (coff_symno == 0xf) {\nLAB_0005640c:\n      pdVar3 = debug_tag_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);\n      if (pdVar3 != (debug_type_conflict)0x0) {\n        ppdVar4 = coff_get_slot((coff_types *)abfd,(long)sym);\n        *ppdVar4 = pdVar3;\n      }\n      return (uint)(pdVar3 != (debug_type_conflict)0x0);\n    }" if (parenthesized_expression "(coff_symno == 0xf)" ( (binary_expression "coff_symno == 0xf" identifier == number_literal) )) (compound_statement "{\nLAB_0005640c:\n      pdVar3 = debug_tag_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);\n      if (pdVar3 != (debug_type_conflict)0x0) {\n        ppdVar4 = coff_get_slot((coff_types *)abfd,(long)sym);\n        *ppdVar4 = pdVar3;\n      }\n      return (uint)(pdVar3 != (debug_type_conflict)0x0);\n    }" { (labeled_statement "LAB_0005640c:\n      pdVar3 = debug_tag_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);" statement_identifier : (expression_statement "pdVar3 = debug_tag_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);" (assignment_expression "pdVar3 = debug_tag_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle)" identifier = (call_expression "debug_tag_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle)" identifier (argument_list "(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle)" ( identifier , (cast_expression "(char *)types->basic[0]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "types->basic[0]" (field_expression "types->basic" identifier -> field_identifier) [ number_literal ])) , (cast_expression "(debug_type_conflict)dhandle" ( (type_descriptor "debug_type_conflict" type_identifier) ) identifier) )))) ;)) (if_statement "if (pdVar3 != (debug_type_conflict)0x0) {\n        ppdVar4 = coff_get_slot((coff_types *)abfd,(long)sym);\n        *ppdVar4 = pdVar3;\n      }" if (parenthesized_expression "(pdVar3 != (debug_type_conflict)0x0)" ( (binary_expression "pdVar3 != (debug_type_conflict)0x0" identifier != (cast_expression "(debug_type_conflict)0x0" ( (type_descriptor "debug_type_conflict" type_identifier) ) number_literal)) )) (compound_statement "{\n        ppdVar4 = coff_get_slot((coff_types *)abfd,(long)sym);\n        *ppdVar4 = pdVar3;\n      }" { (expression_statement "ppdVar4 = coff_get_slot((coff_types *)abfd,(long)sym);" (assignment_expression "ppdVar4 = coff_get_slot((coff_types *)abfd,(long)sym)" identifier = (call_expression "coff_get_slot((coff_types *)abfd,(long)sym)" identifier (argument_list "((coff_types *)abfd,(long)sym)" ( (cast_expression "(coff_types *)abfd" ( (type_descriptor "coff_types *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(long)sym" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) )))) ;) (expression_statement "*ppdVar4 = pdVar3;" (assignment_expression "*ppdVar4 = pdVar3" (pointer_expression "*ppdVar4" * identifier) = identifier) ;) })) (return_statement "return (uint)(pdVar3 != (debug_type_conflict)0x0);" return (call_expression "(uint)(pdVar3 != (debug_type_conflict)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pdVar3 != (debug_type_conflict)0x0)" ( (binary_expression "pdVar3 != (debug_type_conflict)0x0" identifier != (cast_expression "(debug_type_conflict)0x0" ( (type_descriptor "debug_type_conflict" type_identifier) ) number_literal)) ))) ;) })) (if_statement "if ((uint)coff_symno < 0x10) {\n      if (coff_symno != 0xc) {\n        if (coff_symno != 0xd) {\n          return 1;\n        }\n        pdVar3 = debug_name_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);\n        return (uint)(pdVar3 != (debug_type_conflict)0x0);\n      }\n      goto LAB_0005640c;\n    }" if (parenthesized_expression "((uint)coff_symno < 0x10)" ( (binary_expression "(uint)coff_symno < 0x10" (cast_expression "(uint)coff_symno" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n      if (coff_symno != 0xc) {\n        if (coff_symno != 0xd) {\n          return 1;\n        }\n        pdVar3 = debug_name_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);\n        return (uint)(pdVar3 != (debug_type_conflict)0x0);\n      }\n      goto LAB_0005640c;\n    }" { (if_statement "if (coff_symno != 0xc) {\n        if (coff_symno != 0xd) {\n          return 1;\n        }\n        pdVar3 = debug_name_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);\n        return (uint)(pdVar3 != (debug_type_conflict)0x0);\n      }" if (parenthesized_expression "(coff_symno != 0xc)" ( (binary_expression "coff_symno != 0xc" identifier != number_literal) )) (compound_statement "{\n        if (coff_symno != 0xd) {\n          return 1;\n        }\n        pdVar3 = debug_name_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);\n        return (uint)(pdVar3 != (debug_type_conflict)0x0);\n      }" { (if_statement "if (coff_symno != 0xd) {\n          return 1;\n        }" if (parenthesized_expression "(coff_symno != 0xd)" ( (binary_expression "coff_symno != 0xd" identifier != number_literal) )) (compound_statement "{\n          return 1;\n        }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "pdVar3 = debug_name_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle);" (assignment_expression "pdVar3 = debug_name_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle)" identifier = (call_expression "debug_name_type(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle)" identifier (argument_list "(psyment,(char *)types->basic[0],(debug_type_conflict)dhandle)" ( identifier , (cast_expression "(char *)types->basic[0]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "types->basic[0]" (field_expression "types->basic" identifier -> field_identifier) [ number_literal ])) , (cast_expression "(debug_type_conflict)dhandle" ( (type_descriptor "debug_type_conflict" type_identifier) ) identifier) )))) ;) (return_statement "return (uint)(pdVar3 != (debug_type_conflict)0x0);" return (call_expression "(uint)(pdVar3 != (debug_type_conflict)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pdVar3 != (debug_type_conflict)0x0)" ( (binary_expression "pdVar3 != (debug_type_conflict)0x0" identifier != (cast_expression "(debug_type_conflict)0x0" ( (type_descriptor "debug_type_conflict" type_identifier) ) number_literal)) ))) ;) })) (goto_statement "goto LAB_0005640c;" goto statement_identifier ;) })) (if_statement "if (coff_symno != 0x11) {\n      if (coff_symno != 0x7f) {\n        return 1;\n      }\nLAB_00056400:\n      pdVar9 = types->basic[4];\n      uVar7 = 1;\n      goto LAB_00056358;\n    }" if (parenthesized_expression "(coff_symno != 0x11)" ( (binary_expression "coff_symno != 0x11" identifier != number_literal) )) (compound_statement "{\n      if (coff_symno != 0x7f) {\n        return 1;\n      }\nLAB_00056400:\n      pdVar9 = types->basic[4];\n      uVar7 = 1;\n      goto LAB_00056358;\n    }" { (if_statement "if (coff_symno != 0x7f) {\n        return 1;\n      }" if (parenthesized_expression "(coff_symno != 0x7f)" ( (binary_expression "coff_symno != 0x7f" identifier != number_literal) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_00056400:\n      pdVar9 = types->basic[4];" statement_identifier : (expression_statement "pdVar9 = types->basic[4];" (assignment_expression "pdVar9 = types->basic[4]" identifier = (subscript_expression "types->basic[4]" (field_expression "types->basic" identifier -> field_identifier) [ number_literal ])) ;)) (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00056358;" goto statement_identifier ;) })) (expression_statement "pdVar9 = types->basic[4];" (assignment_expression "pdVar9 = types->basic[4]" identifier = (subscript_expression "types->basic[4]" (field_expression "types->basic" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar7 = 2;" (assignment_expression "uVar7 = 2" identifier = number_literal) ;) (expression_statement "pdVar5 = types->basic[2];" (assignment_expression "pdVar5 = types->basic[2]" identifier = (subscript_expression "types->basic[2]" (field_expression "types->basic" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "pdVar10 = types->basic[1];" (assignment_expression "pdVar10 = types->basic[1]" identifier = (subscript_expression "types->basic[1]" (field_expression "types->basic" identifier -> field_identifier) [ number_literal ])) ;) }))) (labeled_statement "LAB_0005636c:\n  uVar1 = pdVar9[2].size;" statement_identifier : (expression_statement "uVar1 = pdVar9[2].size;" (assignment_expression "uVar1 = pdVar9[2].size" identifier = (field_expression "pdVar9[2].size" (subscript_expression "pdVar9[2]" identifier [ number_literal ]) . field_identifier)) ;)) (expression_statement "dVar8 = pdVar9[2].kind;" (assignment_expression "dVar8 = pdVar9[2].kind" identifier = (field_expression "pdVar9[2].kind" (subscript_expression "pdVar9[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pdVar9 = types->basic[0];" (assignment_expression "pdVar9 = types->basic[0]" identifier = (subscript_expression "types->basic[0]" (field_expression "types->basic" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar6 = (int)&pdVar5->kind + uVar1;" (assignment_expression "uVar6 = (int)&pdVar5->kind + uVar1" identifier = (binary_expression "(int)&pdVar5->kind + uVar1" (cast_expression "(int)&pdVar5->kind" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pdVar5->kind" & (field_expression "pdVar5->kind" identifier -> field_identifier))) + identifier)) ;) (labeled_statement "LAB_0005637c:\n  iVar2 = (*pcVar11)(psyment,pdVar9,dhandle,uVar7,(int)&pdVar10->kind + (uVar6 < uVar1) + dVar8,\n                     uVar6);" statement_identifier : (expression_statement "iVar2 = (*pcVar11)(psyment,pdVar9,dhandle,uVar7,(int)&pdVar10->kind + (uVar6 < uVar1) + dVar8,\n                     uVar6);" (assignment_expression "iVar2 = (*pcVar11)(psyment,pdVar9,dhandle,uVar7,(int)&pdVar10->kind + (uVar6 < uVar1) + dVar8,\n                     uVar6)" identifier = (call_expression "(*pcVar11)(psyment,pdVar9,dhandle,uVar7,(int)&pdVar10->kind + (uVar6 < uVar1) + dVar8,\n                     uVar6)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(psyment,pdVar9,dhandle,uVar7,(int)&pdVar10->kind + (uVar6 < uVar1) + dVar8,\n                     uVar6)" ( identifier , identifier , identifier , identifier , (binary_expression "(int)&pdVar10->kind + (uVar6 < uVar1) + dVar8" (binary_expression "(int)&pdVar10->kind + (uVar6 < uVar1)" (cast_expression "(int)&pdVar10->kind" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pdVar10->kind" & (field_expression "pdVar10->kind" identifier -> field_identifier))) + (parenthesized_expression "(uVar6 < uVar1)" ( (binary_expression "uVar6 < uVar1" identifier < identifier) ))) + identifier) , identifier )))) ;)) (return_statement "return (uint)(iVar2 != 0);" return (call_expression "(uint)(iVar2 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) ))) ;) })))
(translation_unit "bool FUN_00056260(undefined4 param_1,int param_2,undefined4 param_3,uint param_4,undefined4 param_5,\n                 undefined4 param_6,int param_7)\n\n{\n  uint uVar1;\n  int *piVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  code *pcVar9;\n  \n  if (param_4 == 10) goto LAB_0005640c;\n  pcVar9 = (code *)PTR_debug_record_parameter_000821b8;\n  if (param_4 < 0xb) {\n    if (param_4 == 3) {\n      iVar8 = *(int *)(param_2 + 8);\n      uVar6 = 3;\n      if (param_7 == 0) {\n        uVar6 = 2;\n      }\n      uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);\n      iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);\n      uVar4 = uVar1 + *(int *)(param_2 + 0xc);\n      uVar5 = *(undefined4 *)(param_2 + 4);\n      pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }\n    if (param_4 < 4) {\n      if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 4;\n    }\n    else {\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }\nLAB_00056358:\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n    pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n  }\n  else {\n    if (param_4 == 0xf) {\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }\n    if (param_4 < 0x10) {\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }\n    if (param_4 != 0x11) {\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }\n    iVar7 = *(int *)(param_2 + 0x14);\n    uVar6 = 2;\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n  }\nLAB_0005636c:\n  uVar1 = *(uint *)(iVar7 + 0x24);\n  iVar7 = *(int *)(iVar7 + 0x20);\n  uVar5 = *(undefined4 *)(param_2 + 4);\n  uVar4 = uVar1 + iVar3;\nLAB_0005637c:\n  iVar8 = (*pcVar9)(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4);\n  return iVar8 != 0;\n}\n\n" (function_definition "bool FUN_00056260(undefined4 param_1,int param_2,undefined4 param_3,uint param_4,undefined4 param_5,\n                 undefined4 param_6,int param_7)\n\n{\n  uint uVar1;\n  int *piVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  code *pcVar9;\n  \n  if (param_4 == 10) goto LAB_0005640c;\n  pcVar9 = (code *)PTR_debug_record_parameter_000821b8;\n  if (param_4 < 0xb) {\n    if (param_4 == 3) {\n      iVar8 = *(int *)(param_2 + 8);\n      uVar6 = 3;\n      if (param_7 == 0) {\n        uVar6 = 2;\n      }\n      uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);\n      iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);\n      uVar4 = uVar1 + *(int *)(param_2 + 0xc);\n      uVar5 = *(undefined4 *)(param_2 + 4);\n      pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }\n    if (param_4 < 4) {\n      if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 4;\n    }\n    else {\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }\nLAB_00056358:\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n    pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n  }\n  else {\n    if (param_4 == 0xf) {\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }\n    if (param_4 < 0x10) {\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }\n    if (param_4 != 0x11) {\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }\n    iVar7 = *(int *)(param_2 + 0x14);\n    uVar6 = 2;\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n  }\nLAB_0005636c:\n  uVar1 = *(uint *)(iVar7 + 0x24);\n  iVar7 = *(int *)(iVar7 + 0x20);\n  uVar5 = *(undefined4 *)(param_2 + 4);\n  uVar4 = uVar1 + iVar3;\nLAB_0005637c:\n  iVar8 = (*pcVar9)(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4);\n  return iVar8 != 0;\n}" primitive_type (function_declarator "FUN_00056260(undefined4 param_1,int param_2,undefined4 param_3,uint param_4,undefined4 param_5,\n                 undefined4 param_6,int param_7)" identifier (parameter_list "(undefined4 param_1,int param_2,undefined4 param_3,uint param_4,undefined4 param_5,\n                 undefined4 param_6,int param_7)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "int param_7" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  int *piVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  code *pcVar9;\n  \n  if (param_4 == 10) goto LAB_0005640c;\n  pcVar9 = (code *)PTR_debug_record_parameter_000821b8;\n  if (param_4 < 0xb) {\n    if (param_4 == 3) {\n      iVar8 = *(int *)(param_2 + 8);\n      uVar6 = 3;\n      if (param_7 == 0) {\n        uVar6 = 2;\n      }\n      uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);\n      iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);\n      uVar4 = uVar1 + *(int *)(param_2 + 0xc);\n      uVar5 = *(undefined4 *)(param_2 + 4);\n      pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }\n    if (param_4 < 4) {\n      if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 4;\n    }\n    else {\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }\nLAB_00056358:\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n    pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n  }\n  else {\n    if (param_4 == 0xf) {\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }\n    if (param_4 < 0x10) {\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }\n    if (param_4 != 0x11) {\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }\n    iVar7 = *(int *)(param_2 + 0x14);\n    uVar6 = 2;\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n  }\nLAB_0005636c:\n  uVar1 = *(uint *)(iVar7 + 0x24);\n  iVar7 = *(int *)(iVar7 + 0x20);\n  uVar5 = *(undefined4 *)(param_2 + 4);\n  uVar4 = uVar1 + iVar3;\nLAB_0005637c:\n  iVar8 = (*pcVar9)(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4);\n  return iVar8 != 0;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (if_statement "if (param_4 == 10) goto LAB_0005640c;" if (parenthesized_expression "(param_4 == 10)" ( (binary_expression "param_4 == 10" identifier == number_literal) )) (goto_statement "goto LAB_0005640c;" goto statement_identifier ;)) (expression_statement "pcVar9 = (code *)PTR_debug_record_parameter_000821b8;" (assignment_expression "pcVar9 = (code *)PTR_debug_record_parameter_000821b8" identifier = (cast_expression "(code *)PTR_debug_record_parameter_000821b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (param_4 < 0xb) {\n    if (param_4 == 3) {\n      iVar8 = *(int *)(param_2 + 8);\n      uVar6 = 3;\n      if (param_7 == 0) {\n        uVar6 = 2;\n      }\n      uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);\n      iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);\n      uVar4 = uVar1 + *(int *)(param_2 + 0xc);\n      uVar5 = *(undefined4 *)(param_2 + 4);\n      pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }\n    if (param_4 < 4) {\n      if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 4;\n    }\n    else {\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }\nLAB_00056358:\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n    pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n  }\n  else {\n    if (param_4 == 0xf) {\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }\n    if (param_4 < 0x10) {\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }\n    if (param_4 != 0x11) {\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }\n    iVar7 = *(int *)(param_2 + 0x14);\n    uVar6 = 2;\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n  }" if (parenthesized_expression "(param_4 < 0xb)" ( (binary_expression "param_4 < 0xb" identifier < number_literal) )) (compound_statement "{\n    if (param_4 == 3) {\n      iVar8 = *(int *)(param_2 + 8);\n      uVar6 = 3;\n      if (param_7 == 0) {\n        uVar6 = 2;\n      }\n      uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);\n      iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);\n      uVar4 = uVar1 + *(int *)(param_2 + 0xc);\n      uVar5 = *(undefined4 *)(param_2 + 4);\n      pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }\n    if (param_4 < 4) {\n      if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 4;\n    }\n    else {\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }\nLAB_00056358:\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n    pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n  }" { (if_statement "if (param_4 == 3) {\n      iVar8 = *(int *)(param_2 + 8);\n      uVar6 = 3;\n      if (param_7 == 0) {\n        uVar6 = 2;\n      }\n      uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);\n      iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);\n      uVar4 = uVar1 + *(int *)(param_2 + 0xc);\n      uVar5 = *(undefined4 *)(param_2 + 4);\n      pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }" if (parenthesized_expression "(param_4 == 3)" ( (binary_expression "param_4 == 3" identifier == number_literal) )) (compound_statement "{\n      iVar8 = *(int *)(param_2 + 8);\n      uVar6 = 3;\n      if (param_7 == 0) {\n        uVar6 = 2;\n      }\n      uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);\n      iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);\n      uVar4 = uVar1 + *(int *)(param_2 + 0xc);\n      uVar5 = *(undefined4 *)(param_2 + 4);\n      pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }" { (expression_statement "iVar8 = *(int *)(param_2 + 8);" (assignment_expression "iVar8 = *(int *)(param_2 + 8)" identifier = (pointer_expression "*(int *)(param_2 + 8)" * (cast_expression "(int *)(param_2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = 3;" (assignment_expression "uVar6 = 3" identifier = number_literal) ;) (if_statement "if (param_7 == 0) {\n        uVar6 = 2;\n      }" if (parenthesized_expression "(param_7 == 0)" ( (binary_expression "param_7 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar6 = 2;\n      }" { (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) })) (expression_statement "uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);" (assignment_expression "uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24)" identifier = (pointer_expression "*(uint *)(*(int *)(param_2 + 0x14) + 0x24)" * (cast_expression "(uint *)(*(int *)(param_2 + 0x14) + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x14) + 0x24)" ( (binary_expression "*(int *)(param_2 + 0x14) + 0x24" (pointer_expression "*(int *)(param_2 + 0x14)" * (cast_expression "(int *)(param_2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);" (assignment_expression "iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20)" identifier = (pointer_expression "*(int *)(*(int *)(param_2 + 0x14) + 0x20)" * (cast_expression "(int *)(*(int *)(param_2 + 0x14) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x14) + 0x20)" ( (binary_expression "*(int *)(param_2 + 0x14) + 0x20" (pointer_expression "*(int *)(param_2 + 0x14)" * (cast_expression "(int *)(param_2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar4 = uVar1 + *(int *)(param_2 + 0xc);" (assignment_expression "uVar4 = uVar1 + *(int *)(param_2 + 0xc)" identifier = (binary_expression "uVar1 + *(int *)(param_2 + 0xc)" identifier + (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))))) ;) (expression_statement "uVar5 = *(undefined4 *)(param_2 + 4);" (assignment_expression "uVar5 = *(undefined4 *)(param_2 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 4)" * (cast_expression "(undefined4 *)(param_2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) ))))) ;) (expression_statement "pcVar9 = (code *)PTR_debug_record_variable_0008210c;" (assignment_expression "pcVar9 = (code *)PTR_debug_record_variable_0008210c" identifier = (cast_expression "(code *)PTR_debug_record_variable_0008210c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_0005637c;" goto statement_identifier ;) })) (if_statement "if (param_4 < 4) {\n      if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 4;\n    }\n    else {\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }" if (parenthesized_expression "(param_4 < 4)" ( (binary_expression "param_4 < 4" identifier < number_literal) )) (compound_statement "{\n      if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 4;\n    }" { (if_statement "if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }" if (parenthesized_expression "(param_4 != 1)" ( (binary_expression "param_4 != 1" identifier != number_literal) )) (compound_statement "{\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }" { (if_statement "if (param_4 != 2) {\n          return true;\n        }" if (parenthesized_expression "(param_4 != 2)" ( (binary_expression "param_4 != 2" identifier != number_literal) )) (compound_statement "{\n          return true;\n        }" { (return_statement "return true;" return true ;) })) (goto_statement "goto LAB_00056400;" goto statement_identifier ;) })) (expression_statement "iVar7 = *(int *)(param_2 + 0x14);" (assignment_expression "iVar7 = *(int *)(param_2 + 0x14)" identifier = (pointer_expression "*(int *)(param_2 + 0x14)" * (cast_expression "(int *)(param_2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = 4;" (assignment_expression "uVar6 = 4" identifier = number_literal) ;) }) (else_clause "else {\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }" else (compound_statement "{\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }" { (if_statement "if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }" if (parenthesized_expression "(param_4 != 4)" ( (binary_expression "param_4 != 4" identifier != number_literal) )) (compound_statement "{\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }" { (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if (param_4 != 9) {\n          return true;\n        }" if (parenthesized_expression "(param_4 != 9)" ( (binary_expression "param_4 != 9" identifier != number_literal) )) (compound_statement "{\n          return true;\n        }" { (return_statement "return true;" return true ;) })) (expression_statement "iVar7 = *(int *)(param_2 + 0x14);" (assignment_expression "iVar7 = *(int *)(param_2 + 0x14)" identifier = (pointer_expression "*(int *)(param_2 + 0x14)" * (cast_expression "(int *)(param_2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = *(int *)(param_2 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_2 + 0xc)" identifier = (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(param_2 + 8);" (assignment_expression "iVar8 = *(int *)(param_2 + 8)" identifier = (pointer_expression "*(int *)(param_2 + 8)" * (cast_expression "(int *)(param_2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0005636c;" goto statement_identifier ;) })) (expression_statement "iVar7 = *(int *)(param_2 + 0x14);" (assignment_expression "iVar7 = *(int *)(param_2 + 0x14)" identifier = (pointer_expression "*(int *)(param_2 + 0x14)" * (cast_expression "(int *)(param_2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = 5;" (assignment_expression "uVar6 = 5" identifier = number_literal) ;) }))) (labeled_statement "LAB_00056358:\n    iVar3 = *(int *)(param_2 + 0xc);" statement_identifier : (expression_statement "iVar3 = *(int *)(param_2 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_2 + 0xc)" identifier = (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) ))))) ;)) (expression_statement "iVar8 = *(int *)(param_2 + 8);" (assignment_expression "iVar8 = *(int *)(param_2 + 8)" identifier = (pointer_expression "*(int *)(param_2 + 8)" * (cast_expression "(int *)(param_2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) ;) (expression_statement "pcVar9 = (code *)PTR_debug_record_variable_0008210c;" (assignment_expression "pcVar9 = (code *)PTR_debug_record_variable_0008210c" identifier = (cast_expression "(code *)PTR_debug_record_variable_0008210c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n    if (param_4 == 0xf) {\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }\n    if (param_4 < 0x10) {\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }\n    if (param_4 != 0x11) {\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }\n    iVar7 = *(int *)(param_2 + 0x14);\n    uVar6 = 2;\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n  }" else (compound_statement "{\n    if (param_4 == 0xf) {\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }\n    if (param_4 < 0x10) {\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }\n    if (param_4 != 0x11) {\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }\n    iVar7 = *(int *)(param_2 + 0x14);\n    uVar6 = 2;\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n  }" { (if_statement "if (param_4 == 0xf) {\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }" if (parenthesized_expression "(param_4 == 0xf)" ( (binary_expression "param_4 == 0xf" identifier == number_literal) )) (compound_statement "{\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }" { (labeled_statement "LAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);" statement_identifier : (expression_statement "iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);" (assignment_expression "iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6)" identifier = (call_expression "debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6)" identifier (argument_list "(param_5,*(undefined4 *)(param_2 + 4),param_6)" ( identifier , (pointer_expression "*(undefined4 *)(param_2 + 4)" * (cast_expression "(undefined4 *)(param_2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) , identifier )))) ;)) (if_statement "if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }" { (expression_statement "piVar2 = (int *)FUN_00056110(param_1,param_3);" (assignment_expression "piVar2 = (int *)FUN_00056110(param_1,param_3)" identifier = (cast_expression "(int *)FUN_00056110(param_1,param_3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00056110(param_1,param_3)" identifier (argument_list "(param_1,param_3)" ( identifier , identifier ))))) ;) (expression_statement "*piVar2 = iVar8;" (assignment_expression "*piVar2 = iVar8" (pointer_expression "*piVar2" * identifier) = identifier) ;) })) (return_statement "return iVar8 != 0;" return (binary_expression "iVar8 != 0" identifier != number_literal) ;) })) (if_statement "if (param_4 < 0x10) {\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }" if (parenthesized_expression "(param_4 < 0x10)" ( (binary_expression "param_4 < 0x10" identifier < number_literal) )) (compound_statement "{\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }" { (if_statement "if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }" if (parenthesized_expression "(param_4 != 0xc)" ( (binary_expression "param_4 != 0xc" identifier != number_literal) )) (compound_statement "{\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }" { (if_statement "if (param_4 != 0xd) {\n          return true;\n        }" if (parenthesized_expression "(param_4 != 0xd)" ( (binary_expression "param_4 != 0xd" identifier != number_literal) )) (compound_statement "{\n          return true;\n        }" { (return_statement "return true;" return true ;) })) (expression_statement "iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);" (assignment_expression "iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6)" identifier = (call_expression "debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6)" identifier (argument_list "(param_5,*(undefined4 *)(param_2 + 4),param_6)" ( identifier , (pointer_expression "*(undefined4 *)(param_2 + 4)" * (cast_expression "(undefined4 *)(param_2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) , identifier )))) ;) (return_statement "return iVar8 != 0;" return (binary_expression "iVar8 != 0" identifier != number_literal) ;) })) (goto_statement "goto LAB_0005640c;" goto statement_identifier ;) })) (if_statement "if (param_4 != 0x11) {\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }" if (parenthesized_expression "(param_4 != 0x11)" ( (binary_expression "param_4 != 0x11" identifier != number_literal) )) (compound_statement "{\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }" { (if_statement "if (param_4 != 0x7f) {\n        return true;\n      }" if (parenthesized_expression "(param_4 != 0x7f)" ( (binary_expression "param_4 != 0x7f" identifier != number_literal) )) (compound_statement "{\n        return true;\n      }" { (return_statement "return true;" return true ;) })) (labeled_statement "LAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);" statement_identifier : (expression_statement "iVar7 = *(int *)(param_2 + 0x14);" (assignment_expression "iVar7 = *(int *)(param_2 + 0x14)" identifier = (pointer_expression "*(int *)(param_2 + 0x14)" * (cast_expression "(int *)(param_2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) ))))) ;)) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00056358;" goto statement_identifier ;) })) (expression_statement "iVar7 = *(int *)(param_2 + 0x14);" (assignment_expression "iVar7 = *(int *)(param_2 + 0x14)" identifier = (pointer_expression "*(int *)(param_2 + 0x14)" * (cast_expression "(int *)(param_2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (expression_statement "iVar3 = *(int *)(param_2 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_2 + 0xc)" identifier = (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(param_2 + 8);" (assignment_expression "iVar8 = *(int *)(param_2 + 8)" identifier = (pointer_expression "*(int *)(param_2 + 8)" * (cast_expression "(int *)(param_2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) ;) }))) (labeled_statement "LAB_0005636c:\n  uVar1 = *(uint *)(iVar7 + 0x24);" statement_identifier : (expression_statement "uVar1 = *(uint *)(iVar7 + 0x24);" (assignment_expression "uVar1 = *(uint *)(iVar7 + 0x24)" identifier = (pointer_expression "*(uint *)(iVar7 + 0x24)" * (cast_expression "(uint *)(iVar7 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x24)" ( (binary_expression "iVar7 + 0x24" identifier + number_literal) ))))) ;)) (expression_statement "iVar7 = *(int *)(iVar7 + 0x20);" (assignment_expression "iVar7 = *(int *)(iVar7 + 0x20)" identifier = (pointer_expression "*(int *)(iVar7 + 0x20)" * (cast_expression "(int *)(iVar7 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(undefined4 *)(param_2 + 4);" (assignment_expression "uVar5 = *(undefined4 *)(param_2 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 4)" * (cast_expression "(undefined4 *)(param_2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = uVar1 + iVar3;" (assignment_expression "uVar4 = uVar1 + iVar3" identifier = (binary_expression "uVar1 + iVar3" identifier + identifier)) ;) (labeled_statement "LAB_0005637c:\n  iVar8 = (*pcVar9)(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4);" statement_identifier : (expression_statement "iVar8 = (*pcVar9)(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4);" (assignment_expression "iVar8 = (*pcVar9)(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4)" identifier = (call_expression "(*pcVar9)(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4)" ( identifier , identifier , identifier , identifier , (binary_expression "(uint)(uVar4 < uVar1) + iVar7 + iVar8" (binary_expression "(uint)(uVar4 < uVar1) + iVar7" (call_expression "(uint)(uVar4 < uVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 < uVar1)" ( (binary_expression "uVar4 < uVar1" identifier < identifier) ))) + identifier) + identifier) , identifier )))) ;)) (return_statement "return iVar8 != 0;" return (binary_expression "iVar8 != 0" identifier != number_literal) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return BOOL ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return BOOL ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) (return_statement return (binary_expression IDENT != LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return BOOL ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;) (return_statement return (binary_expression IDENT != LIT) ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return BOOL ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + IDENT) + IDENT) , IDENT )))) ;)) (return_statement return (binary_expression IDENT != LIT) ;) })))
(function_definition "bool FUN_00056260(undefined4 param_1,int param_2,undefined4 param_3,uint param_4,undefined4 param_5,\n                 undefined4 param_6,int param_7)\n\n{\n  uint uVar1;\n  int *piVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  code *pcVar9;\n  \n  if (param_4 == 10) goto LAB_0005640c;\n  pcVar9 = (code *)PTR_debug_record_parameter_000821b8;\n  if (param_4 < 0xb) {\n    if (param_4 == 3) {\n      iVar8 = *(int *)(param_2 + 8);\n      uVar6 = 3;\n      if (param_7 == 0) {\n        uVar6 = 2;\n      }\n      uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);\n      iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);\n      uVar4 = uVar1 + *(int *)(param_2 + 0xc);\n      uVar5 = *(undefined4 *)(param_2 + 4);\n      pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }\n    if (param_4 < 4) {\n      if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 4;\n    }\n    else {\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }\nLAB_00056358:\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n    pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n  }\n  else {\n    if (param_4 == 0xf) {\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }\n    if (param_4 < 0x10) {\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }\n    if (param_4 != 0x11) {\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }\n    iVar7 = *(int *)(param_2 + 0x14);\n    uVar6 = 2;\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n  }\nLAB_0005636c:\n  uVar1 = *(uint *)(iVar7 + 0x24);\n  iVar7 = *(int *)(iVar7 + 0x20);\n  uVar5 = *(undefined4 *)(param_2 + 4);\n  uVar4 = uVar1 + iVar3;\nLAB_0005637c:\n  iVar8 = (*pcVar9)(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4);\n  return iVar8 != 0;\n}" (primitive_type "bool") (function_declarator "FUN_00056260(undefined4 param_1,int param_2,undefined4 param_3,uint param_4,undefined4 param_5,\n                 undefined4 param_6,int param_7)" (identifier "FUN_00056260") (parameter_list "(undefined4 param_1,int param_2,undefined4 param_3,uint param_4,undefined4 param_5,\n                 undefined4 param_6,int param_7)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "uint param_4" (type_identifier "uint") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) (, ",") (parameter_declaration "int param_7" (primitive_type "int") (identifier "param_7")) () ")"))) (compound_statement "{\n  uint uVar1;\n  int *piVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  code *pcVar9;\n  \n  if (param_4 == 10) goto LAB_0005640c;\n  pcVar9 = (code *)PTR_debug_record_parameter_000821b8;\n  if (param_4 < 0xb) {\n    if (param_4 == 3) {\n      iVar8 = *(int *)(param_2 + 8);\n      uVar6 = 3;\n      if (param_7 == 0) {\n        uVar6 = 2;\n      }\n      uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);\n      iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);\n      uVar4 = uVar1 + *(int *)(param_2 + 0xc);\n      uVar5 = *(undefined4 *)(param_2 + 4);\n      pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }\n    if (param_4 < 4) {\n      if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 4;\n    }\n    else {\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }\nLAB_00056358:\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n    pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n  }\n  else {\n    if (param_4 == 0xf) {\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }\n    if (param_4 < 0x10) {\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }\n    if (param_4 != 0x11) {\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }\n    iVar7 = *(int *)(param_2 + 0x14);\n    uVar6 = 2;\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n  }\nLAB_0005636c:\n  uVar1 = *(uint *)(iVar7 + 0x24);\n  iVar7 = *(int *)(iVar7 + 0x20);\n  uVar5 = *(undefined4 *)(param_2 + 4);\n  uVar4 = uVar1 + iVar3;\nLAB_0005637c:\n  iVar8 = (*pcVar9)(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4);\n  return iVar8 != 0;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "code *pcVar9;" (type_identifier "code") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (if_statement "if (param_4 == 10) goto LAB_0005640c;" (if "if") (parenthesized_expression "(param_4 == 10)" (( "(") (binary_expression "param_4 == 10" (identifier "param_4") (== "==") (number_literal "10")) () ")")) (goto_statement "goto LAB_0005640c;" (goto "goto") (statement_identifier "LAB_0005640c") (; ";"))) (expression_statement "pcVar9 = (code *)PTR_debug_record_parameter_000821b8;" (assignment_expression "pcVar9 = (code *)PTR_debug_record_parameter_000821b8" (identifier "pcVar9") (= "=") (cast_expression "(code *)PTR_debug_record_parameter_000821b8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_debug_record_parameter_000821b8"))) (; ";")) (if_statement "if (param_4 < 0xb) {\n    if (param_4 == 3) {\n      iVar8 = *(int *)(param_2 + 8);\n      uVar6 = 3;\n      if (param_7 == 0) {\n        uVar6 = 2;\n      }\n      uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);\n      iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);\n      uVar4 = uVar1 + *(int *)(param_2 + 0xc);\n      uVar5 = *(undefined4 *)(param_2 + 4);\n      pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }\n    if (param_4 < 4) {\n      if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 4;\n    }\n    else {\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }\nLAB_00056358:\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n    pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n  }\n  else {\n    if (param_4 == 0xf) {\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }\n    if (param_4 < 0x10) {\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }\n    if (param_4 != 0x11) {\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }\n    iVar7 = *(int *)(param_2 + 0x14);\n    uVar6 = 2;\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n  }" (if "if") (parenthesized_expression "(param_4 < 0xb)" (( "(") (binary_expression "param_4 < 0xb" (identifier "param_4") (< "<") (number_literal "0xb")) () ")")) (compound_statement "{\n    if (param_4 == 3) {\n      iVar8 = *(int *)(param_2 + 8);\n      uVar6 = 3;\n      if (param_7 == 0) {\n        uVar6 = 2;\n      }\n      uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);\n      iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);\n      uVar4 = uVar1 + *(int *)(param_2 + 0xc);\n      uVar5 = *(undefined4 *)(param_2 + 4);\n      pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }\n    if (param_4 < 4) {\n      if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 4;\n    }\n    else {\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }\nLAB_00056358:\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n    pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n  }" ({ "{") (if_statement "if (param_4 == 3) {\n      iVar8 = *(int *)(param_2 + 8);\n      uVar6 = 3;\n      if (param_7 == 0) {\n        uVar6 = 2;\n      }\n      uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);\n      iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);\n      uVar4 = uVar1 + *(int *)(param_2 + 0xc);\n      uVar5 = *(undefined4 *)(param_2 + 4);\n      pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }" (if "if") (parenthesized_expression "(param_4 == 3)" (( "(") (binary_expression "param_4 == 3" (identifier "param_4") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n      iVar8 = *(int *)(param_2 + 8);\n      uVar6 = 3;\n      if (param_7 == 0) {\n        uVar6 = 2;\n      }\n      uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);\n      iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);\n      uVar4 = uVar1 + *(int *)(param_2 + 0xc);\n      uVar5 = *(undefined4 *)(param_2 + 4);\n      pcVar9 = (code *)PTR_debug_record_variable_0008210c;\n      goto LAB_0005637c;\n    }" ({ "{") (expression_statement "iVar8 = *(int *)(param_2 + 8);" (assignment_expression "iVar8 = *(int *)(param_2 + 8)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(param_2 + 8)" (* "*") (cast_expression "(int *)(param_2 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar6 = 3;" (assignment_expression "uVar6 = 3" (identifier "uVar6") (= "=") (number_literal "3")) (; ";")) (if_statement "if (param_7 == 0) {\n        uVar6 = 2;\n      }" (if "if") (parenthesized_expression "(param_7 == 0)" (( "(") (binary_expression "param_7 == 0" (identifier "param_7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar6 = 2;\n      }" ({ "{") (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (} "}"))) (expression_statement "uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);" (assignment_expression "uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24)" (identifier "uVar1") (= "=") (pointer_expression "*(uint *)(*(int *)(param_2 + 0x14) + 0x24)" (* "*") (cast_expression "(uint *)(*(int *)(param_2 + 0x14) + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_2 + 0x14) + 0x24)" (( "(") (binary_expression "*(int *)(param_2 + 0x14) + 0x24" (pointer_expression "*(int *)(param_2 + 0x14)" (* "*") (cast_expression "(int *)(param_2 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x14)" (( "(") (binary_expression "param_2 + 0x14" (identifier "param_2") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);" (assignment_expression "iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(*(int *)(param_2 + 0x14) + 0x20)" (* "*") (cast_expression "(int *)(*(int *)(param_2 + 0x14) + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_2 + 0x14) + 0x20)" (( "(") (binary_expression "*(int *)(param_2 + 0x14) + 0x20" (pointer_expression "*(int *)(param_2 + 0x14)" (* "*") (cast_expression "(int *)(param_2 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x14)" (( "(") (binary_expression "param_2 + 0x14" (identifier "param_2") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "uVar4 = uVar1 + *(int *)(param_2 + 0xc);" (assignment_expression "uVar4 = uVar1 + *(int *)(param_2 + 0xc)" (identifier "uVar4") (= "=") (binary_expression "uVar1 + *(int *)(param_2 + 0xc)" (identifier "uVar1") (+ "+") (pointer_expression "*(int *)(param_2 + 0xc)" (* "*") (cast_expression "(int *)(param_2 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")")))))) (; ";")) (expression_statement "uVar5 = *(undefined4 *)(param_2 + 4);" (assignment_expression "uVar5 = *(undefined4 *)(param_2 + 4)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(param_2 + 4)" (* "*") (cast_expression "(undefined4 *)(param_2 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "pcVar9 = (code *)PTR_debug_record_variable_0008210c;" (assignment_expression "pcVar9 = (code *)PTR_debug_record_variable_0008210c" (identifier "pcVar9") (= "=") (cast_expression "(code *)PTR_debug_record_variable_0008210c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_debug_record_variable_0008210c"))) (; ";")) (goto_statement "goto LAB_0005637c;" (goto "goto") (statement_identifier "LAB_0005637c") (; ";")) (} "}"))) (if_statement "if (param_4 < 4) {\n      if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 4;\n    }\n    else {\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }" (if "if") (parenthesized_expression "(param_4 < 4)" (( "(") (binary_expression "param_4 < 4" (identifier "param_4") (< "<") (number_literal "4")) () ")")) (compound_statement "{\n      if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 4;\n    }" ({ "{") (if_statement "if (param_4 != 1) {\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }" (if "if") (parenthesized_expression "(param_4 != 1)" (( "(") (binary_expression "param_4 != 1" (identifier "param_4") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n        if (param_4 != 2) {\n          return true;\n        }\n        goto LAB_00056400;\n      }" ({ "{") (if_statement "if (param_4 != 2) {\n          return true;\n        }" (if "if") (parenthesized_expression "(param_4 != 2)" (( "(") (binary_expression "param_4 != 2" (identifier "param_4") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n          return true;\n        }" ({ "{") (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (goto_statement "goto LAB_00056400;" (goto "goto") (statement_identifier "LAB_00056400") (; ";")) (} "}"))) (expression_statement "iVar7 = *(int *)(param_2 + 0x14);" (assignment_expression "iVar7 = *(int *)(param_2 + 0x14)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(param_2 + 0x14)" (* "*") (cast_expression "(int *)(param_2 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x14)" (( "(") (binary_expression "param_2 + 0x14" (identifier "param_2") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar6 = 4;" (assignment_expression "uVar6 = 4" (identifier "uVar6") (= "=") (number_literal "4")) (; ";")) (} "}")) (else_clause "else {\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }" (else "else") (compound_statement "{\n      if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 5;\n    }" ({ "{") (if_statement "if (param_4 != 4) {\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }" (if "if") (parenthesized_expression "(param_4 != 4)" (( "(") (binary_expression "param_4 != 4" (identifier "param_4") (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n        uVar6 = 1;\n        if (param_4 != 9) {\n          return true;\n        }\n        iVar7 = *(int *)(param_2 + 0x14);\n        iVar3 = *(int *)(param_2 + 0xc);\n        iVar8 = *(int *)(param_2 + 8);\n        goto LAB_0005636c;\n      }" ({ "{") (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (if_statement "if (param_4 != 9) {\n          return true;\n        }" (if "if") (parenthesized_expression "(param_4 != 9)" (( "(") (binary_expression "param_4 != 9" (identifier "param_4") (!= "!=") (number_literal "9")) () ")")) (compound_statement "{\n          return true;\n        }" ({ "{") (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (expression_statement "iVar7 = *(int *)(param_2 + 0x14);" (assignment_expression "iVar7 = *(int *)(param_2 + 0x14)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(param_2 + 0x14)" (* "*") (cast_expression "(int *)(param_2 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x14)" (( "(") (binary_expression "param_2 + 0x14" (identifier "param_2") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar3 = *(int *)(param_2 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_2 + 0xc)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(param_2 + 0xc)" (* "*") (cast_expression "(int *)(param_2 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar8 = *(int *)(param_2 + 8);" (assignment_expression "iVar8 = *(int *)(param_2 + 8)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(param_2 + 8)" (* "*") (cast_expression "(int *)(param_2 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (goto_statement "goto LAB_0005636c;" (goto "goto") (statement_identifier "LAB_0005636c") (; ";")) (} "}"))) (expression_statement "iVar7 = *(int *)(param_2 + 0x14);" (assignment_expression "iVar7 = *(int *)(param_2 + 0x14)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(param_2 + 0x14)" (* "*") (cast_expression "(int *)(param_2 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x14)" (( "(") (binary_expression "param_2 + 0x14" (identifier "param_2") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar6 = 5;" (assignment_expression "uVar6 = 5" (identifier "uVar6") (= "=") (number_literal "5")) (; ";")) (} "}")))) (labeled_statement "LAB_00056358:\n    iVar3 = *(int *)(param_2 + 0xc);" (statement_identifier "LAB_00056358") (: ":") (expression_statement "iVar3 = *(int *)(param_2 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_2 + 0xc)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(param_2 + 0xc)" (* "*") (cast_expression "(int *)(param_2 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")"))))) (; ";"))) (expression_statement "iVar8 = *(int *)(param_2 + 8);" (assignment_expression "iVar8 = *(int *)(param_2 + 8)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(param_2 + 8)" (* "*") (cast_expression "(int *)(param_2 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pcVar9 = (code *)PTR_debug_record_variable_0008210c;" (assignment_expression "pcVar9 = (code *)PTR_debug_record_variable_0008210c" (identifier "pcVar9") (= "=") (cast_expression "(code *)PTR_debug_record_variable_0008210c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_debug_record_variable_0008210c"))) (; ";")) (} "}")) (else_clause "else {\n    if (param_4 == 0xf) {\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }\n    if (param_4 < 0x10) {\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }\n    if (param_4 != 0x11) {\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }\n    iVar7 = *(int *)(param_2 + 0x14);\n    uVar6 = 2;\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n  }" (else "else") (compound_statement "{\n    if (param_4 == 0xf) {\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }\n    if (param_4 < 0x10) {\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }\n    if (param_4 != 0x11) {\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }\n    iVar7 = *(int *)(param_2 + 0x14);\n    uVar6 = 2;\n    iVar3 = *(int *)(param_2 + 0xc);\n    iVar8 = *(int *)(param_2 + 8);\n  }" ({ "{") (if_statement "if (param_4 == 0xf) {\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }" (if "if") (parenthesized_expression "(param_4 == 0xf)" (( "(") (binary_expression "param_4 == 0xf" (identifier "param_4") (== "==") (number_literal "0xf")) () ")")) (compound_statement "{\nLAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n      if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }\n      return iVar8 != 0;\n    }" ({ "{") (labeled_statement "LAB_0005640c:\n      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);" (statement_identifier "LAB_0005640c") (: ":") (expression_statement "iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);" (assignment_expression "iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6)" (identifier "iVar8") (= "=") (call_expression "debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6)" (identifier "debug_tag_type") (argument_list "(param_5,*(undefined4 *)(param_2 + 4),param_6)" (( "(") (identifier "param_5") (, ",") (pointer_expression "*(undefined4 *)(param_2 + 4)" (* "*") (cast_expression "(undefined4 *)(param_2 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "param_6") () ")")))) (; ";"))) (if_statement "if (iVar8 != 0) {\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        piVar2 = (int *)FUN_00056110(param_1,param_3);\n        *piVar2 = iVar8;\n      }" ({ "{") (expression_statement "piVar2 = (int *)FUN_00056110(param_1,param_3);" (assignment_expression "piVar2 = (int *)FUN_00056110(param_1,param_3)" (identifier "piVar2") (= "=") (cast_expression "(int *)FUN_00056110(param_1,param_3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00056110(param_1,param_3)" (identifier "FUN_00056110") (argument_list "(param_1,param_3)" (( "(") (identifier "param_1") (, ",") (identifier "param_3") () ")"))))) (; ";")) (expression_statement "*piVar2 = iVar8;" (assignment_expression "*piVar2 = iVar8" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (identifier "iVar8")) (; ";")) (} "}"))) (return_statement "return iVar8 != 0;" (return "return") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) (; ";")) (} "}"))) (if_statement "if (param_4 < 0x10) {\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }" (if "if") (parenthesized_expression "(param_4 < 0x10)" (( "(") (binary_expression "param_4 < 0x10" (identifier "param_4") (< "<") (number_literal "0x10")) () ")")) (compound_statement "{\n      if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }\n      goto LAB_0005640c;\n    }" ({ "{") (if_statement "if (param_4 != 0xc) {\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }" (if "if") (parenthesized_expression "(param_4 != 0xc)" (( "(") (binary_expression "param_4 != 0xc" (identifier "param_4") (!= "!=") (number_literal "0xc")) () ")")) (compound_statement "{\n        if (param_4 != 0xd) {\n          return true;\n        }\n        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);\n        return iVar8 != 0;\n      }" ({ "{") (if_statement "if (param_4 != 0xd) {\n          return true;\n        }" (if "if") (parenthesized_expression "(param_4 != 0xd)" (( "(") (binary_expression "param_4 != 0xd" (identifier "param_4") (!= "!=") (number_literal "0xd")) () ")")) (compound_statement "{\n          return true;\n        }" ({ "{") (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (expression_statement "iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);" (assignment_expression "iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6)" (identifier "iVar8") (= "=") (call_expression "debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6)" (identifier "debug_name_type") (argument_list "(param_5,*(undefined4 *)(param_2 + 4),param_6)" (( "(") (identifier "param_5") (, ",") (pointer_expression "*(undefined4 *)(param_2 + 4)" (* "*") (cast_expression "(undefined4 *)(param_2 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "param_6") () ")")))) (; ";")) (return_statement "return iVar8 != 0;" (return "return") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) (; ";")) (} "}"))) (goto_statement "goto LAB_0005640c;" (goto "goto") (statement_identifier "LAB_0005640c") (; ";")) (} "}"))) (if_statement "if (param_4 != 0x11) {\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }" (if "if") (parenthesized_expression "(param_4 != 0x11)" (( "(") (binary_expression "param_4 != 0x11" (identifier "param_4") (!= "!=") (number_literal "0x11")) () ")")) (compound_statement "{\n      if (param_4 != 0x7f) {\n        return true;\n      }\nLAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);\n      uVar6 = 1;\n      goto LAB_00056358;\n    }" ({ "{") (if_statement "if (param_4 != 0x7f) {\n        return true;\n      }" (if "if") (parenthesized_expression "(param_4 != 0x7f)" (( "(") (binary_expression "param_4 != 0x7f" (identifier "param_4") (!= "!=") (number_literal "0x7f")) () ")")) (compound_statement "{\n        return true;\n      }" ({ "{") (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (labeled_statement "LAB_00056400:\n      iVar7 = *(int *)(param_2 + 0x14);" (statement_identifier "LAB_00056400") (: ":") (expression_statement "iVar7 = *(int *)(param_2 + 0x14);" (assignment_expression "iVar7 = *(int *)(param_2 + 0x14)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(param_2 + 0x14)" (* "*") (cast_expression "(int *)(param_2 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x14)" (( "(") (binary_expression "param_2 + 0x14" (identifier "param_2") (+ "+") (number_literal "0x14")) () ")"))))) (; ";"))) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00056358;" (goto "goto") (statement_identifier "LAB_00056358") (; ";")) (} "}"))) (expression_statement "iVar7 = *(int *)(param_2 + 0x14);" (assignment_expression "iVar7 = *(int *)(param_2 + 0x14)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(param_2 + 0x14)" (* "*") (cast_expression "(int *)(param_2 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x14)" (( "(") (binary_expression "param_2 + 0x14" (identifier "param_2") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (expression_statement "iVar3 = *(int *)(param_2 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_2 + 0xc)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(param_2 + 0xc)" (* "*") (cast_expression "(int *)(param_2 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar8 = *(int *)(param_2 + 8);" (assignment_expression "iVar8 = *(int *)(param_2 + 8)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(param_2 + 8)" (* "*") (cast_expression "(int *)(param_2 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}")))) (labeled_statement "LAB_0005636c:\n  uVar1 = *(uint *)(iVar7 + 0x24);" (statement_identifier "LAB_0005636c") (: ":") (expression_statement "uVar1 = *(uint *)(iVar7 + 0x24);" (assignment_expression "uVar1 = *(uint *)(iVar7 + 0x24)" (identifier "uVar1") (= "=") (pointer_expression "*(uint *)(iVar7 + 0x24)" (* "*") (cast_expression "(uint *)(iVar7 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x24)" (( "(") (binary_expression "iVar7 + 0x24" (identifier "iVar7") (+ "+") (number_literal "0x24")) () ")"))))) (; ";"))) (expression_statement "iVar7 = *(int *)(iVar7 + 0x20);" (assignment_expression "iVar7 = *(int *)(iVar7 + 0x20)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar7 + 0x20)" (* "*") (cast_expression "(int *)(iVar7 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x20)" (( "(") (binary_expression "iVar7 + 0x20" (identifier "iVar7") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "uVar5 = *(undefined4 *)(param_2 + 4);" (assignment_expression "uVar5 = *(undefined4 *)(param_2 + 4)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(param_2 + 4)" (* "*") (cast_expression "(undefined4 *)(param_2 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar4 = uVar1 + iVar3;" (assignment_expression "uVar4 = uVar1 + iVar3" (identifier "uVar4") (= "=") (binary_expression "uVar1 + iVar3" (identifier "uVar1") (+ "+") (identifier "iVar3"))) (; ";")) (labeled_statement "LAB_0005637c:\n  iVar8 = (*pcVar9)(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4);" (statement_identifier "LAB_0005637c") (: ":") (expression_statement "iVar8 = (*pcVar9)(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4);" (assignment_expression "iVar8 = (*pcVar9)(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4)" (identifier "iVar8") (= "=") (call_expression "(*pcVar9)(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4)" (( "(") (identifier "param_5") (, ",") (identifier "uVar5") (, ",") (identifier "param_6") (, ",") (identifier "uVar6") (, ",") (binary_expression "(uint)(uVar4 < uVar1) + iVar7 + iVar8" (binary_expression "(uint)(uVar4 < uVar1) + iVar7" (call_expression "(uint)(uVar4 < uVar1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar4 < uVar1)" (( "(") (binary_expression "uVar4 < uVar1" (identifier "uVar4") (< "<") (identifier "uVar1")) () ")"))) (+ "+") (identifier "iVar7")) (+ "+") (identifier "iVar8")) (, ",") (identifier "uVar4") () ")")))) (; ";"))) (return_statement "return iVar8 != 0;" (return "return") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) (; ";")) (} "}")))

type_1
function_1(type_2 *abfd,type_3 *types,type_4 *sym,long var_1,type_5 *psyment,
                 void *dhandle,type_6 var_2,type_1 within_function)

{
  type_7 var_3;
  int var_10;
  type_8 var_5;
  type_8 *ppdVar4;
  type_6 pdVar5;
  type_7 var_8;
  type_9 uVar7;
  type_10 var_9;
  type_6 pdVar9;
  type_6 pdVar10;
  type_11 *pcVar11;
  
  if (var_1 == 10) goto LAB_0005640c;
  pcVar11 = (type_11 *)PTR_debug_record_parameter_000821b8;
  if ((type_7)var_1 < 0xb) {
    if (var_1 == 3) {
      pdVar10 = types->basic[1];
      uVar7 = 3;
      if (var_2 == (type_6)0x0) {
        uVar7 = 2;
      }
      var_3 = types->basic[4][2].size;
      var_9 = types->basic[4][2].kind;
      var_8 = (int)&types->basic[2]->kind + var_3;
      pdVar9 = types->basic[0];
      pcVar11 = (type_11 *)PTR_debug_record_variable_0008210c;
      goto LAB_0005637c;
    }
    if ((type_7)var_1 < 4) {
      if (var_1 != 1) {
        if (var_1 != 2) {
          return 1;
        }
        goto LAB_00056400;
      }
      pdVar9 = types->basic[4];
      uVar7 = 4;
    }
    else {
      if (var_1 != 4) {
        uVar7 = 1;
        if (var_1 != 9) {
          return 1;
        }
        pdVar9 = types->basic[4];
        pdVar5 = types->basic[2];
        pdVar10 = types->basic[1];
        goto LAB_0005636c;
      }
      pdVar9 = types->basic[4];
      uVar7 = 5;
    }
LAB_00056358:
    pdVar5 = types->basic[2];
    pdVar10 = types->basic[1];
    pcVar11 = (type_11 *)PTR_debug_record_variable_0008210c;
  }
  else {
    if (var_1 == 0xf) {
LAB_0005640c:
      var_5 = var_4(psyment,(char *)types->basic[0],(type_8)dhandle);
      if (var_5 != (type_8)0x0) {
        ppdVar4 = var_6((type_3 *)abfd,(long)sym);
        *ppdVar4 = var_5;
      }
      return (type_7)(var_5 != (type_8)0x0);
    }
    if ((type_7)var_1 < 0x10) {
      if (var_1 != 0xc) {
        if (var_1 != 0xd) {
          return 1;
        }
        var_5 = var_7(psyment,(char *)types->basic[0],(type_8)dhandle);
        return (type_7)(var_5 != (type_8)0x0);
      }
      goto LAB_0005640c;
    }
    if (var_1 != 0x11) {
      if (var_1 != 0x7f) {
        return 1;
      }
LAB_00056400:
      pdVar9 = types->basic[4];
      uVar7 = 1;
      goto LAB_00056358;
    }
    pdVar9 = types->basic[4];
    uVar7 = 2;
    pdVar5 = types->basic[2];
    pdVar10 = types->basic[1];
  }
LAB_0005636c:
  var_3 = pdVar9[2].size;
  var_9 = pdVar9[2].kind;
  pdVar9 = types->basic[0];
  var_8 = (int)&pdVar5->kind + var_3;
LAB_0005637c:
  var_10 = (*pcVar11)(psyment,pdVar9,dhandle,uVar7,(int)&pdVar10->kind + (var_8 < var_3) + var_9,
                     var_8);
  return (type_7)(var_10 != 0);
}


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

bool MASKED(undefined4 param_1,int param_2,undefined4 param_3,uint param_4,undefined4 param_5,
                 undefined4 param_6,int param_7)

{
  uint uVar1;
  int *piVar2;
  int iVar3;
  uint uVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  int iVar7;
  int iVar8;
  code *pcVar9;
  
  if (param_4 == 10) goto LAB_0005640c;
  pcVar9 = (code *)PTR_debug_record_parameter_000821b8;
  if (param_4 < 0xb) {
    if (param_4 == 3) {
      iVar8 = *(int *)(param_2 + 8);
      uVar6 = 3;
      if (param_7 == 0) {
        uVar6 = 2;
      }
      uVar1 = *(uint *)(*(int *)(param_2 + 0x14) + 0x24);
      iVar7 = *(int *)(*(int *)(param_2 + 0x14) + 0x20);
      uVar4 = uVar1 + *(int *)(param_2 + 0xc);
      uVar5 = *(undefined4 *)(param_2 + 4);
      pcVar9 = (code *)PTR_debug_record_variable_0008210c;
      goto LAB_0005637c;
    }
    if (param_4 < 4) {
      if (param_4 != 1) {
        if (param_4 != 2) {
          return true;
        }
        goto LAB_00056400;
      }
      iVar7 = *(int *)(param_2 + 0x14);
      uVar6 = 4;
    }
    else {
      if (param_4 != 4) {
        uVar6 = 1;
        if (param_4 != 9) {
          return true;
        }
        iVar7 = *(int *)(param_2 + 0x14);
        iVar3 = *(int *)(param_2 + 0xc);
        iVar8 = *(int *)(param_2 + 8);
        goto LAB_0005636c;
      }
      iVar7 = *(int *)(param_2 + 0x14);
      uVar6 = 5;
    }
LAB_00056358:
    iVar3 = *(int *)(param_2 + 0xc);
    iVar8 = *(int *)(param_2 + 8);
    pcVar9 = (code *)PTR_debug_record_variable_0008210c;
  }
  else {
    if (param_4 == 0xf) {
LAB_0005640c:
      iVar8 = debug_tag_type(param_5,*(undefined4 *)(param_2 + 4),param_6);
      if (iVar8 != 0) {
        piVar2 = (int *)FUN_00056110(param_1,param_3);
        *piVar2 = iVar8;
      }
      return iVar8 != 0;
    }
    if (param_4 < 0x10) {
      if (param_4 != 0xc) {
        if (param_4 != 0xd) {
          return true;
        }
        iVar8 = debug_name_type(param_5,*(undefined4 *)(param_2 + 4),param_6);
        return iVar8 != 0;
      }
      goto LAB_0005640c;
    }
    if (param_4 != 0x11) {
      if (param_4 != 0x7f) {
        return true;
      }
LAB_00056400:
      iVar7 = *(int *)(param_2 + 0x14);
      uVar6 = 1;
      goto LAB_00056358;
    }
    iVar7 = *(int *)(param_2 + 0x14);
    uVar6 = 2;
    iVar3 = *(int *)(param_2 + 0xc);
    iVar8 = *(int *)(param_2 + 8);
  }
LAB_0005636c:
  uVar1 = *(uint *)(iVar7 + 0x24);
  iVar7 = *(int *)(iVar7 + 0x20);
  uVar5 = *(undefined4 *)(param_2 + 4);
  uVar4 = uVar1 + iVar3;
LAB_0005637c:
  iVar8 = (*pcVar9)(param_5,uVar5,param_6,uVar6,(uint)(uVar4 < uVar1) + iVar7 + iVar8,uVar4);
  return iVar8 != 0;
}

