
void subsegs_print_statistics(FILE *file)

{
  int iVar1;
  int iVar2;
  int *piVar3;
  undefined4 *puVar4;
  undefined *puVar5;
  
  puVar5 = PTR_stdoutput_000b5d60;
  if (*(int *)PTR_stdoutput_000b5d60 != 0) {
    (*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,file);
    puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);
    if (puVar4 != (undefined4 *)0x0) {
      puVar5 = PTR_s_operand_000b5e4c + -0x722c;
      do {
        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {
          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {
            iVar2 = 0;
            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {
              iVar2 = iVar2 + 1;
            }
            (*(code *)PTR_fputc_000b65cc)(10,file);
            (*(code *)PTR_fprintf_000b6670)(file,puVar5,piVar3,*puVar4,iVar2);
          }
        }
        puVar4 = (undefined4 *)puVar4[3];
      } while (puVar4 != (undefined4 *)0x0);
    }
  }
  return;
}



void subsegs_print_statistics(undefined4 param_1)

{
  int iVar1;
  int iVar2;
  int *piVar3;
  undefined4 *puVar4;
  undefined *puVar5;
  
  puVar5 = PTR_stdoutput_000b5d60;
  if (*(int *)PTR_stdoutput_000b5d60 != 0) {
    (*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1);
    puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);
    if (puVar4 != (undefined4 *)0x0) {
      puVar5 = PTR_s_operand_000b5e4c + -0x722c;
      do {
        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {
          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {
            iVar2 = 0;
            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {
              iVar2 = iVar2 + 1;
            }
            (*(code *)PTR_fputc_000b65cc)(10,param_1);
            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);
          }
        }
        puVar4 = (undefined4 *)puVar4[3];
      } while (puVar4 != (undefined4 *)0x0);
    }
  }
  return;
}


lui gp,0x7
addiu gp,gp,0x1c2c
addu gp,gp,t9
addiu sp,sp,-0x40
sw s0,0x24(sp)
lw s0,-0x7f20(gp)
sw gp,0x18(sp)
sw ra,0x3c(sp)
sw s5,0x38(sp)
sw s4,0x34(sp)
sw s3,0x30(sp)
sw s2,0x2c(sp)
sw s1,0x28(sp)
lw v0,0x0(s0)
beq v0,zero,0x0004c154
_or a3,a0,zero
lw t9,-0x7584(gp)
or s3,a0,zero
lw a0,-0x7e34(gp)
li a2,0xd
li a1,0x1
jalr t9
_addiu a0,a0,-0x723c
lw v0,0x0(s0)
lw s2,0x64(v0)
beq s2,zero,0x0004c154
_lw gp,0x18(sp)
lw s4,-0x7e34(gp)
li s5,0x2a
addiu s4,s4,-0x722c
lw v0,0x0(s2)
lb v0,0x0(v0)
beq v0,s5,0x0004c148
_nop
lw v0,0x88(s2)
beq v0,zero,0x0004c148
_nop
lw s1,0x0(v0)
beq s1,zero,0x0004c148
_nop
lw v0,0x0(s1)
beq v0,zero,0x0004c10c
_or s0,zero,zero
lw v0,0x30(v0)
bne v0,zero,0x0004c100
_addiu s0,s0,0x1
lw t9,-0x76b4(gp)
li a0,0xa
jalr t9
_or a1,s3,zero
or a2,s1,zero
lw gp,0x18(sp)
or a1,s4,zero
lw a3,0x0(s2)
or a0,s3,zero
lw t9,-0x7610(gp)
jalr t9
_sw s0,0x10(sp)
lw s1,0x8(s1)
bne s1,zero,0x0004c0f4
_lw gp,0x18(sp)
lw s2,0xc(s2)
bne s2,zero,0x0004c0cc
_nop
lw ra,0x3c(sp)
lw s5,0x38(sp)
lw s4,0x34(sp)
lw s3,0x30(sp)
lw s2,0x2c(sp)
lw s1,0x28(sp)
lw s0,0x24(sp)
jr ra
_addiu sp,sp,0x40
(translation_unit "void subsegs_print_statistics(undefined4 param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  int *piVar3;\n  undefined4 *puVar4;\n  undefined *puVar5;\n  \n  puVar5 = PTR_stdoutput_000b5d60;\n  if (*(int *)PTR_stdoutput_000b5d60 != 0) {\n    (*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1);\n    puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);\n    if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }\n  }\n  return;\n}\n\n" (function_definition "void subsegs_print_statistics(undefined4 param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  int *piVar3;\n  undefined4 *puVar4;\n  undefined *puVar5;\n  \n  puVar5 = PTR_stdoutput_000b5d60;\n  if (*(int *)PTR_stdoutput_000b5d60 != 0) {\n    (*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1);\n    puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);\n    if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }\n  }\n  return;\n}" primitive_type (function_declarator "subsegs_print_statistics(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  int *piVar3;\n  undefined4 *puVar4;\n  undefined *puVar5;\n  \n  puVar5 = PTR_stdoutput_000b5d60;\n  if (*(int *)PTR_stdoutput_000b5d60 != 0) {\n    (*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1);\n    puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);\n    if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (expression_statement "puVar5 = PTR_stdoutput_000b5d60;" (assignment_expression "puVar5 = PTR_stdoutput_000b5d60" identifier = identifier) ;) (if_statement "if (*(int *)PTR_stdoutput_000b5d60 != 0) {\n    (*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1);\n    puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);\n    if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }\n  }" if (parenthesized_expression "(*(int *)PTR_stdoutput_000b5d60 != 0)" ( (binary_expression "*(int *)PTR_stdoutput_000b5d60 != 0" (pointer_expression "*(int *)PTR_stdoutput_000b5d60" * (cast_expression "(int *)PTR_stdoutput_000b5d60" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n    (*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1);\n    puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);\n    if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }\n  }" { (expression_statement "(*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1);" (call_expression "(*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1)" (parenthesized_expression "(*(code *)PTR_fwrite_000b66fc)" ( (pointer_expression "*(code *)PTR_fwrite_000b66fc" * (cast_expression "(code *)PTR_fwrite_000b66fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1)" ( (binary_expression "PTR_s_operand_000b5e4c + -0x723c" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);" (assignment_expression "puVar4 = *(undefined4 **)(*(int *)puVar5 + 100)" identifier = (pointer_expression "*(undefined4 **)(*(int *)puVar5 + 100)" * (cast_expression "(undefined4 **)(*(int *)puVar5 + 100)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar5 + 100)" ( (binary_expression "*(int *)puVar5 + 100" (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (if_statement "if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }" if (parenthesized_expression "(puVar4 != (undefined4 *)0x0)" ( (binary_expression "puVar4 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }" { (expression_statement "puVar5 = PTR_s_operand_000b5e4c + -0x722c;" (assignment_expression "puVar5 = PTR_s_operand_000b5e4c + -0x722c" identifier = (binary_expression "PTR_s_operand_000b5e4c + -0x722c" identifier + number_literal)) ;) (do_statement "do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);" do (compound_statement "{\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      }" { (if_statement "if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }" if (parenthesized_expression "((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0))" ( (binary_expression "(*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)" (parenthesized_expression "(*(char *)*puVar4 != '*')" ( (binary_expression "*(char *)*puVar4 != '*'" (pointer_expression "*(char *)*puVar4" * (cast_expression "(char *)*puVar4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar4" * identifier))) != (char_literal "'*'" ' character ')) )) && (parenthesized_expression "((int *)puVar4[0x22] != (int *)0x0)" ( (binary_expression "(int *)puVar4[0x22] != (int *)0x0" (cast_expression "(int *)puVar4[0x22]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[0x22]" identifier [ number_literal ])) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }" { (for_statement "for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }" for ( (assignment_expression "piVar3 = *(int **)puVar4[0x22]" identifier = (pointer_expression "*(int **)puVar4[0x22]" * (cast_expression "(int **)puVar4[0x22]" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "puVar4[0x22]" identifier [ number_literal ])))) ; (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "piVar3 = (int *)piVar3[2]" identifier = (cast_expression "(int *)piVar3[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar3[2]" identifier [ number_literal ]))) ) (compound_statement "{\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }" { (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (for_statement "for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }" for ( (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ; (binary_expression "iVar1 != 0" identifier != number_literal) ; (assignment_expression "iVar1 = *(int *)(iVar1 + 0x30)" identifier = (pointer_expression "*(int *)(iVar1 + 0x30)" * (cast_expression "(int *)(iVar1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x30)" ( (binary_expression "iVar1 + 0x30" identifier + number_literal) ))))) ) (compound_statement "{\n              iVar2 = iVar2 + 1;\n            }" { (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) ;) })) (expression_statement "(*(code *)PTR_fputc_000b65cc)(10,param_1);" (call_expression "(*(code *)PTR_fputc_000b65cc)(10,param_1)" (parenthesized_expression "(*(code *)PTR_fputc_000b65cc)" ( (pointer_expression "*(code *)PTR_fputc_000b65cc" * (cast_expression "(code *)PTR_fputc_000b65cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(10,param_1)" ( number_literal , identifier ))) ;) (expression_statement "(*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);" (call_expression "(*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2)" (parenthesized_expression "(*(code *)PTR_fprintf_000b6670)" ( (pointer_expression "*(code *)PTR_fprintf_000b6670" * (cast_expression "(code *)PTR_fprintf_000b6670" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,puVar5,piVar3,*puVar4,iVar2)" ( identifier , identifier , identifier , (pointer_expression "*puVar4" * identifier) , identifier ))) ;) })) })) (expression_statement "puVar4 = (undefined4 *)puVar4[3];" (assignment_expression "puVar4 = (undefined4 *)puVar4[3]" identifier = (cast_expression "(undefined4 *)puVar4[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[3]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(puVar4 != (undefined4 *)0x0)" ( (binary_expression "puVar4 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit "void subsegs_print_statistics(FILE *file)\n\n{\n  int iVar1;\n  int iVar2;\n  int *piVar3;\n  undefined4 *puVar4;\n  undefined *puVar5;\n  \n  puVar5 = PTR_stdoutput_000b5d60;\n  if (*(int *)PTR_stdoutput_000b5d60 != 0) {\n    (*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,file);\n    puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);\n    if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,file);\n            (*(code *)PTR_fprintf_000b6670)(file,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }\n  }\n  return;\n}\n\n" (function_definition "void subsegs_print_statistics(FILE *file)\n\n{\n  int iVar1;\n  int iVar2;\n  int *piVar3;\n  undefined4 *puVar4;\n  undefined *puVar5;\n  \n  puVar5 = PTR_stdoutput_000b5d60;\n  if (*(int *)PTR_stdoutput_000b5d60 != 0) {\n    (*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,file);\n    puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);\n    if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,file);\n            (*(code *)PTR_fprintf_000b6670)(file,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }\n  }\n  return;\n}" primitive_type (function_declarator "subsegs_print_statistics(FILE *file)" identifier (parameter_list "(FILE *file)" ( (parameter_declaration "FILE *file" type_identifier (pointer_declarator "*file" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  int *piVar3;\n  undefined4 *puVar4;\n  undefined *puVar5;\n  \n  puVar5 = PTR_stdoutput_000b5d60;\n  if (*(int *)PTR_stdoutput_000b5d60 != 0) {\n    (*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,file);\n    puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);\n    if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,file);\n            (*(code *)PTR_fprintf_000b6670)(file,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (expression_statement "puVar5 = PTR_stdoutput_000b5d60;" (assignment_expression "puVar5 = PTR_stdoutput_000b5d60" identifier = identifier) ;) (if_statement "if (*(int *)PTR_stdoutput_000b5d60 != 0) {\n    (*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,file);\n    puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);\n    if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,file);\n            (*(code *)PTR_fprintf_000b6670)(file,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }\n  }" if (parenthesized_expression "(*(int *)PTR_stdoutput_000b5d60 != 0)" ( (binary_expression "*(int *)PTR_stdoutput_000b5d60 != 0" (pointer_expression "*(int *)PTR_stdoutput_000b5d60" * (cast_expression "(int *)PTR_stdoutput_000b5d60" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n    (*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,file);\n    puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);\n    if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,file);\n            (*(code *)PTR_fprintf_000b6670)(file,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }\n  }" { (expression_statement "(*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,file);" (call_expression "(*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,file)" (parenthesized_expression "(*(code *)PTR_fwrite_000b66fc)" ( (pointer_expression "*(code *)PTR_fwrite_000b66fc" * (cast_expression "(code *)PTR_fwrite_000b66fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_operand_000b5e4c + -0x723c,1,0xd,file)" ( (binary_expression "PTR_s_operand_000b5e4c + -0x723c" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);" (assignment_expression "puVar4 = *(undefined4 **)(*(int *)puVar5 + 100)" identifier = (pointer_expression "*(undefined4 **)(*(int *)puVar5 + 100)" * (cast_expression "(undefined4 **)(*(int *)puVar5 + 100)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar5 + 100)" ( (binary_expression "*(int *)puVar5 + 100" (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (if_statement "if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,file);\n            (*(code *)PTR_fprintf_000b6670)(file,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }" if (parenthesized_expression "(puVar4 != (undefined4 *)0x0)" ( (binary_expression "puVar4 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,file);\n            (*(code *)PTR_fprintf_000b6670)(file,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }" { (expression_statement "puVar5 = PTR_s_operand_000b5e4c + -0x722c;" (assignment_expression "puVar5 = PTR_s_operand_000b5e4c + -0x722c" identifier = (binary_expression "PTR_s_operand_000b5e4c + -0x722c" identifier + number_literal)) ;) (do_statement "do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,file);\n            (*(code *)PTR_fprintf_000b6670)(file,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);" do (compound_statement "{\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,file);\n            (*(code *)PTR_fprintf_000b6670)(file,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      }" { (if_statement "if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,file);\n            (*(code *)PTR_fprintf_000b6670)(file,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }" if (parenthesized_expression "((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0))" ( (binary_expression "(*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)" (parenthesized_expression "(*(char *)*puVar4 != '*')" ( (binary_expression "*(char *)*puVar4 != '*'" (pointer_expression "*(char *)*puVar4" * (cast_expression "(char *)*puVar4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar4" * identifier))) != (char_literal "'*'" ' character ')) )) && (parenthesized_expression "((int *)puVar4[0x22] != (int *)0x0)" ( (binary_expression "(int *)puVar4[0x22] != (int *)0x0" (cast_expression "(int *)puVar4[0x22]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[0x22]" identifier [ number_literal ])) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,file);\n            (*(code *)PTR_fprintf_000b6670)(file,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }" { (for_statement "for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,file);\n            (*(code *)PTR_fprintf_000b6670)(file,puVar5,piVar3,*puVar4,iVar2);\n          }" for ( (assignment_expression "piVar3 = *(int **)puVar4[0x22]" identifier = (pointer_expression "*(int **)puVar4[0x22]" * (cast_expression "(int **)puVar4[0x22]" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "puVar4[0x22]" identifier [ number_literal ])))) ; (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "piVar3 = (int *)piVar3[2]" identifier = (cast_expression "(int *)piVar3[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar3[2]" identifier [ number_literal ]))) ) (compound_statement "{\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,file);\n            (*(code *)PTR_fprintf_000b6670)(file,puVar5,piVar3,*puVar4,iVar2);\n          }" { (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (for_statement "for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }" for ( (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ; (binary_expression "iVar1 != 0" identifier != number_literal) ; (assignment_expression "iVar1 = *(int *)(iVar1 + 0x30)" identifier = (pointer_expression "*(int *)(iVar1 + 0x30)" * (cast_expression "(int *)(iVar1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x30)" ( (binary_expression "iVar1 + 0x30" identifier + number_literal) ))))) ) (compound_statement "{\n              iVar2 = iVar2 + 1;\n            }" { (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) ;) })) (expression_statement "(*(code *)PTR_fputc_000b65cc)(10,file);" (call_expression "(*(code *)PTR_fputc_000b65cc)(10,file)" (parenthesized_expression "(*(code *)PTR_fputc_000b65cc)" ( (pointer_expression "*(code *)PTR_fputc_000b65cc" * (cast_expression "(code *)PTR_fputc_000b65cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(10,file)" ( number_literal , identifier ))) ;) (expression_statement "(*(code *)PTR_fprintf_000b6670)(file,puVar5,piVar3,*puVar4,iVar2);" (call_expression "(*(code *)PTR_fprintf_000b6670)(file,puVar5,piVar3,*puVar4,iVar2)" (parenthesized_expression "(*(code *)PTR_fprintf_000b6670)" ( (pointer_expression "*(code *)PTR_fprintf_000b6670" * (cast_expression "(code *)PTR_fprintf_000b6670" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(file,puVar5,piVar3,*puVar4,iVar2)" ( identifier , identifier , identifier , (pointer_expression "*puVar4" * identifier) , identifier ))) ;) })) })) (expression_statement "puVar4 = (undefined4 *)puVar4[3];" (assignment_expression "puVar4 = (undefined4 *)puVar4[3]" identifier = (cast_expression "(undefined4 *)puVar4[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[3]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(puVar4 != (undefined4 *)0x0)" ( (binary_expression "puVar4 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit "void subsegs_print_statistics(undefined4 param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  int *piVar3;\n  undefined4 *puVar4;\n  undefined *puVar5;\n  \n  puVar5 = PTR_stdoutput_000b5d60;\n  if (*(int *)PTR_stdoutput_000b5d60 != 0) {\n    (*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1);\n    puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);\n    if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }\n  }\n  return;\n}\n\n" (function_definition "void subsegs_print_statistics(undefined4 param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  int *piVar3;\n  undefined4 *puVar4;\n  undefined *puVar5;\n  \n  puVar5 = PTR_stdoutput_000b5d60;\n  if (*(int *)PTR_stdoutput_000b5d60 != 0) {\n    (*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1);\n    puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);\n    if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }\n  }\n  return;\n}" primitive_type (function_declarator "subsegs_print_statistics(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  int *piVar3;\n  undefined4 *puVar4;\n  undefined *puVar5;\n  \n  puVar5 = PTR_stdoutput_000b5d60;\n  if (*(int *)PTR_stdoutput_000b5d60 != 0) {\n    (*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1);\n    puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);\n    if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (expression_statement "puVar5 = PTR_stdoutput_000b5d60;" (assignment_expression "puVar5 = PTR_stdoutput_000b5d60" identifier = identifier) ;) (if_statement "if (*(int *)PTR_stdoutput_000b5d60 != 0) {\n    (*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1);\n    puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);\n    if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }\n  }" if (parenthesized_expression "(*(int *)PTR_stdoutput_000b5d60 != 0)" ( (binary_expression "*(int *)PTR_stdoutput_000b5d60 != 0" (pointer_expression "*(int *)PTR_stdoutput_000b5d60" * (cast_expression "(int *)PTR_stdoutput_000b5d60" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n    (*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1);\n    puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);\n    if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }\n  }" { (expression_statement "(*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1);" (call_expression "(*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1)" (parenthesized_expression "(*(code *)PTR_fwrite_000b66fc)" ( (pointer_expression "*(code *)PTR_fwrite_000b66fc" * (cast_expression "(code *)PTR_fwrite_000b66fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1)" ( (binary_expression "PTR_s_operand_000b5e4c + -0x723c" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);" (assignment_expression "puVar4 = *(undefined4 **)(*(int *)puVar5 + 100)" identifier = (pointer_expression "*(undefined4 **)(*(int *)puVar5 + 100)" * (cast_expression "(undefined4 **)(*(int *)puVar5 + 100)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar5 + 100)" ( (binary_expression "*(int *)puVar5 + 100" (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (if_statement "if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }" if (parenthesized_expression "(puVar4 != (undefined4 *)0x0)" ( (binary_expression "puVar4 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }" { (expression_statement "puVar5 = PTR_s_operand_000b5e4c + -0x722c;" (assignment_expression "puVar5 = PTR_s_operand_000b5e4c + -0x722c" identifier = (binary_expression "PTR_s_operand_000b5e4c + -0x722c" identifier + number_literal)) ;) (do_statement "do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);" do (compound_statement "{\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      }" { (if_statement "if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }" if (parenthesized_expression "((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0))" ( (binary_expression "(*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)" (parenthesized_expression "(*(char *)*puVar4 != '*')" ( (binary_expression "*(char *)*puVar4 != '*'" (pointer_expression "*(char *)*puVar4" * (cast_expression "(char *)*puVar4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar4" * identifier))) != (char_literal "'*'" ' character ')) )) && (parenthesized_expression "((int *)puVar4[0x22] != (int *)0x0)" ( (binary_expression "(int *)puVar4[0x22] != (int *)0x0" (cast_expression "(int *)puVar4[0x22]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[0x22]" identifier [ number_literal ])) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }" { (for_statement "for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }" for ( (assignment_expression "piVar3 = *(int **)puVar4[0x22]" identifier = (pointer_expression "*(int **)puVar4[0x22]" * (cast_expression "(int **)puVar4[0x22]" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "puVar4[0x22]" identifier [ number_literal ])))) ; (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "piVar3 = (int *)piVar3[2]" identifier = (cast_expression "(int *)piVar3[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar3[2]" identifier [ number_literal ]))) ) (compound_statement "{\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }" { (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (for_statement "for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }" for ( (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ; (binary_expression "iVar1 != 0" identifier != number_literal) ; (assignment_expression "iVar1 = *(int *)(iVar1 + 0x30)" identifier = (pointer_expression "*(int *)(iVar1 + 0x30)" * (cast_expression "(int *)(iVar1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x30)" ( (binary_expression "iVar1 + 0x30" identifier + number_literal) ))))) ) (compound_statement "{\n              iVar2 = iVar2 + 1;\n            }" { (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) ;) })) (expression_statement "(*(code *)PTR_fputc_000b65cc)(10,param_1);" (call_expression "(*(code *)PTR_fputc_000b65cc)(10,param_1)" (parenthesized_expression "(*(code *)PTR_fputc_000b65cc)" ( (pointer_expression "*(code *)PTR_fputc_000b65cc" * (cast_expression "(code *)PTR_fputc_000b65cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(10,param_1)" ( number_literal , identifier ))) ;) (expression_statement "(*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);" (call_expression "(*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2)" (parenthesized_expression "(*(code *)PTR_fprintf_000b6670)" ( (pointer_expression "*(code *)PTR_fprintf_000b6670" * (cast_expression "(code *)PTR_fprintf_000b6670" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,puVar5,piVar3,*puVar4,iVar2)" ( identifier , identifier , identifier , (pointer_expression "*puVar4" * identifier) , identifier ))) ;) })) })) (expression_statement "puVar4 = (undefined4 *)puVar4[3];" (assignment_expression "puVar4 = (undefined4 *)puVar4[3]" identifier = (cast_expression "(undefined4 *)puVar4[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[3]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(puVar4 != (undefined4 *)0x0)" ( (binary_expression "puVar4 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) != (char_literal ' character ')) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (for_statement for ( (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ])))) ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (for_statement for ( (assignment_expression IDENT = (pointer_expression * IDENT)) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , (pointer_expression * IDENT) , IDENT ))) ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) })) })) (return_statement return ;) })))
(function_definition "void subsegs_print_statistics(undefined4 param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  int *piVar3;\n  undefined4 *puVar4;\n  undefined *puVar5;\n  \n  puVar5 = PTR_stdoutput_000b5d60;\n  if (*(int *)PTR_stdoutput_000b5d60 != 0) {\n    (*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1);\n    puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);\n    if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }\n  }\n  return;\n}" (primitive_type "void") (function_declarator "subsegs_print_statistics(undefined4 param_1)" (identifier "subsegs_print_statistics") (parameter_list "(undefined4 param_1)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) () ")"))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  int *piVar3;\n  undefined4 *puVar4;\n  undefined *puVar5;\n  \n  puVar5 = PTR_stdoutput_000b5d60;\n  if (*(int *)PTR_stdoutput_000b5d60 != 0) {\n    (*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1);\n    puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);\n    if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }\n  }\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "undefined4 *puVar4;" (type_identifier "undefined4") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (expression_statement "puVar5 = PTR_stdoutput_000b5d60;" (assignment_expression "puVar5 = PTR_stdoutput_000b5d60" (identifier "puVar5") (= "=") (identifier "PTR_stdoutput_000b5d60")) (; ";")) (if_statement "if (*(int *)PTR_stdoutput_000b5d60 != 0) {\n    (*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1);\n    puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);\n    if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)PTR_stdoutput_000b5d60 != 0)" (( "(") (binary_expression "*(int *)PTR_stdoutput_000b5d60 != 0" (pointer_expression "*(int *)PTR_stdoutput_000b5d60" (* "*") (cast_expression "(int *)PTR_stdoutput_000b5d60" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdoutput_000b5d60"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1);\n    puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);\n    if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }\n  }" ({ "{") (expression_statement "(*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1);" (call_expression "(*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1)" (parenthesized_expression "(*(code *)PTR_fwrite_000b66fc)" (( "(") (pointer_expression "*(code *)PTR_fwrite_000b66fc" (* "*") (cast_expression "(code *)PTR_fwrite_000b66fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fwrite_000b66fc"))) () ")")) (argument_list "(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1)" (( "(") (binary_expression "PTR_s_operand_000b5e4c + -0x723c" (identifier "PTR_s_operand_000b5e4c") (+ "+") (number_literal "-0x723c")) (, ",") (number_literal "1") (, ",") (number_literal "0xd") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);" (assignment_expression "puVar4 = *(undefined4 **)(*(int *)puVar5 + 100)" (identifier "puVar4") (= "=") (pointer_expression "*(undefined4 **)(*(int *)puVar5 + 100)" (* "*") (cast_expression "(undefined4 **)(*(int *)puVar5 + 100)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)puVar5 + 100)" (( "(") (binary_expression "*(int *)puVar5 + 100" (pointer_expression "*(int *)puVar5" (* "*") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5"))) (+ "+") (number_literal "100")) () ")"))))) (; ";")) (if_statement "if (puVar4 != (undefined4 *)0x0) {\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }" (if "if") (parenthesized_expression "(puVar4 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar4 != (undefined4 *)0x0" (identifier "puVar4") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      puVar5 = PTR_s_operand_000b5e4c + -0x722c;\n      do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);\n    }" ({ "{") (expression_statement "puVar5 = PTR_s_operand_000b5e4c + -0x722c;" (assignment_expression "puVar5 = PTR_s_operand_000b5e4c + -0x722c" (identifier "puVar5") (= "=") (binary_expression "PTR_s_operand_000b5e4c + -0x722c" (identifier "PTR_s_operand_000b5e4c") (+ "+") (number_literal "-0x722c"))) (; ";")) (do_statement "do {\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      } while (puVar4 != (undefined4 *)0x0);" (do "do") (compound_statement "{\n        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }\n        puVar4 = (undefined4 *)puVar4[3];\n      }" ({ "{") (if_statement "if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }" (if "if") (parenthesized_expression "((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0))" (( "(") (binary_expression "(*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)" (parenthesized_expression "(*(char *)*puVar4 != '*')" (( "(") (binary_expression "*(char *)*puVar4 != '*'" (pointer_expression "*(char *)*puVar4" (* "*") (cast_expression "(char *)*puVar4" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar4" (* "*") (identifier "puVar4")))) (!= "!=") (char_literal "'*'" (' "'") (character "*") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "((int *)puVar4[0x22] != (int *)0x0)" (( "(") (binary_expression "(int *)puVar4[0x22] != (int *)0x0" (cast_expression "(int *)puVar4[0x22]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar4[0x22]" (identifier "puVar4") ([ "[") (number_literal "0x22") (] "]"))) (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }\n        }" ({ "{") (for_statement "for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }" (for "for") (( "(") (assignment_expression "piVar3 = *(int **)puVar4[0x22]" (identifier "piVar3") (= "=") (pointer_expression "*(int **)puVar4[0x22]" (* "*") (cast_expression "(int **)puVar4[0x22]" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "puVar4[0x22]" (identifier "puVar4") ([ "[") (number_literal "0x22") (] "]"))))) (; ";") (binary_expression "piVar3 != (int *)0x0" (identifier "piVar3") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "piVar3 = (int *)piVar3[2]" (identifier "piVar3") (= "=") (cast_expression "(int *)piVar3[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar3[2]" (identifier "piVar3") ([ "[") (number_literal "2") (] "]")))) () ")") (compound_statement "{\n            iVar2 = 0;\n            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }\n            (*(code *)PTR_fputc_000b65cc)(10,param_1);\n            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);\n          }" ({ "{") (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (for_statement "for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {\n              iVar2 = iVar2 + 1;\n            }" (for "for") (( "(") (assignment_expression "iVar1 = *piVar3" (identifier "iVar1") (= "=") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) (; ";") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar1 = *(int *)(iVar1 + 0x30)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(iVar1 + 0x30)" (* "*") (cast_expression "(int *)(iVar1 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x30)" (( "(") (binary_expression "iVar1 + 0x30" (identifier "iVar1") (+ "+") (number_literal "0x30")) () ")"))))) () ")") (compound_statement "{\n              iVar2 = iVar2 + 1;\n            }" ({ "{") (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" (identifier "iVar2") (= "=") (binary_expression "iVar2 + 1" (identifier "iVar2") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_fputc_000b65cc)(10,param_1);" (call_expression "(*(code *)PTR_fputc_000b65cc)(10,param_1)" (parenthesized_expression "(*(code *)PTR_fputc_000b65cc)" (( "(") (pointer_expression "*(code *)PTR_fputc_000b65cc" (* "*") (cast_expression "(code *)PTR_fputc_000b65cc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fputc_000b65cc"))) () ")")) (argument_list "(10,param_1)" (( "(") (number_literal "10") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);" (call_expression "(*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2)" (parenthesized_expression "(*(code *)PTR_fprintf_000b6670)" (( "(") (pointer_expression "*(code *)PTR_fprintf_000b6670" (* "*") (cast_expression "(code *)PTR_fprintf_000b6670" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fprintf_000b6670"))) () ")")) (argument_list "(param_1,puVar5,piVar3,*puVar4,iVar2)" (( "(") (identifier "param_1") (, ",") (identifier "puVar5") (, ",") (identifier "piVar3") (, ",") (pointer_expression "*puVar4" (* "*") (identifier "puVar4")) (, ",") (identifier "iVar2") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar4 = (undefined4 *)puVar4[3];" (assignment_expression "puVar4 = (undefined4 *)puVar4[3]" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)puVar4[3]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar4[3]" (identifier "puVar4") ([ "[") (number_literal "3") (] "]")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar4 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar4 != (undefined4 *)0x0" (identifier "puVar4") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(type_1 *file)

{
  int var_4;
  int var_5;
  int *var_3;
  type_2 *var_2;
  type_3 *puVar5;
  
  puVar5 = PTR_stdoutput_000b5d60;
  if (*(int *)PTR_stdoutput_000b5d60 != 0) {
    (*(type_4 *)PTR_fwrite_000b66fc)(var_1 + -0x723c,1,0xd,file);
    var_2 = *(type_2 **)(*(int *)puVar5 + 100);
    if (var_2 != (type_2 *)0x0) {
      puVar5 = var_1 + -0x722c;
      do {
        if ((*(char *)*var_2 != '*') && ((int *)var_2[0x22] != (int *)0x0)) {
          for (var_3 = *(int **)var_2[0x22]; var_3 != (int *)0x0; var_3 = (int *)var_3[2]) {
            var_5 = 0;
            for (var_4 = *var_3; var_4 != 0; var_4 = *(int *)(var_4 + 0x30)) {
              var_5 = var_5 + 1;
            }
            (*(type_4 *)PTR_fputc_000b65cc)(10,file);
            (*(type_4 *)PTR_fprintf_000b6670)(file,puVar5,var_3,*var_2,var_5);
          }
        }
        var_2 = (type_2 *)var_2[3];
      } while (var_2 != (type_2 *)0x0);
    }
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (char_literal (character)))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) consequence: (compound_statement (for_statement initializer: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (subscript_expression argument: (identifier) index: (number_literal))))) condition: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) update: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (for_statement initializer: (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))) condition: (binary_expression left: (identifier) right: (number_literal)) update: (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)))))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (pointer_expression argument: (identifier)) (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))))) (return_statement))))

void MASKED(undefined4 param_1)

{
  int iVar1;
  int iVar2;
  int *piVar3;
  undefined4 *puVar4;
  undefined *puVar5;
  
  puVar5 = PTR_stdoutput_000b5d60;
  if (*(int *)PTR_stdoutput_000b5d60 != 0) {
    (*(code *)PTR_fwrite_000b66fc)(PTR_s_operand_000b5e4c + -0x723c,1,0xd,param_1);
    puVar4 = *(undefined4 **)(*(int *)puVar5 + 100);
    if (puVar4 != (undefined4 *)0x0) {
      puVar5 = PTR_s_operand_000b5e4c + -0x722c;
      do {
        if ((*(char *)*puVar4 != '*') && ((int *)puVar4[0x22] != (int *)0x0)) {
          for (piVar3 = *(int **)puVar4[0x22]; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[2]) {
            iVar2 = 0;
            for (iVar1 = *piVar3; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x30)) {
              iVar2 = iVar2 + 1;
            }
            (*(code *)PTR_fputc_000b65cc)(10,param_1);
            (*(code *)PTR_fprintf_000b6670)(param_1,puVar5,piVar3,*puVar4,iVar2);
          }
        }
        puVar4 = (undefined4 *)puVar4[3];
      } while (puVar4 != (undefined4 *)0x0);
    }
  }
  return;
}

