
/* WARNING: Unknown calling convention */

void * more_blocks(int id)

{
  undefined4 *puVar1;
  char *mesg;
  undefined4 *puVar2;
  undefined4 *puVar3;
  undefined4 *puVar4;
  undefined4 uVar5;
  int iVar6;
  int iVar7;
  undefined4 *puVar8;
  
  iVar6 = *(int *)(&DAT_004b1904 + id * 0x10);
  iVar7 = iVar6 * 100;
  if (iVar7 == 0) {
    set_loc("awk.h",0x7c5);
    r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);
    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);
    if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;
LAB_00469190:
    set_loc("awk.h",0x7c9);
    mesg = (char *)(*(code *)PTR_dcgettext_004b235c)
                             (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);
    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();
    uVar5 = (*(code *)PTR_strerror_004b22c4)(*puVar2);
    r_fatal(mesg,"node.c",0x431,"more_blocks","freep",iVar7,uVar5);
    puVar4 = puVar1 + iVar6 * 0x19;
    puVar2 = (undefined4 *)((int)puVar1 + iVar6);
    puVar3 = puVar1;
    puVar8 = puVar1;
    if (puVar4 <= (undefined4 *)((int)puVar1 + iVar6)) goto LAB_004690fc;
  }
  else {
    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar7);
    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;
LAB_004690c8:
    puVar4 = puVar1 + iVar6 * 0x19;
    puVar2 = (undefined4 *)((int)puVar1 + iVar6);
    puVar3 = puVar1;
    puVar8 = puVar1;
    if (puVar4 <= (undefined4 *)((int)puVar1 + iVar6)) goto LAB_004690fc;
  }
  do {
    puVar1 = puVar2;
    *puVar3 = puVar1;
    puVar3 = (undefined4 *)((int)puVar3 + iVar6);
    puVar2 = (undefined4 *)((int)puVar1 + iVar6);
  } while ((undefined4 *)((int)puVar1 + iVar6) < puVar4);
LAB_004690fc:
  *puVar1 = 0;
  uVar5 = *puVar8;
  (&DAT_004b190c)[id * 4] = (&DAT_004b190c)[id * 4] + 100;
  (&nextfree)[id * 4] = uVar5;
  return puVar8;
}



undefined4 * more_blocks(int param_1)

{
  undefined4 *puVar1;
  undefined4 *puVar2;
  undefined4 uVar3;
  undefined4 *puVar4;
  undefined4 *puVar5;
  undefined4 uVar6;
  int iVar7;
  int iVar8;
  undefined4 *puVar9;
  
  iVar7 = *(int *)(&DAT_004b1904 + param_1 * 0x10);
  iVar8 = iVar7 * 100;
  if (iVar8 == 0) {
    set_loc("awk.h",0x7c5);
    r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);
    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);
    if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;
LAB_00469190:
    set_loc("awk.h",0x7c9);
    uVar6 = (*(code *)PTR_dcgettext_004b235c)
                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);
    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();
    uVar3 = (*(code *)PTR_strerror_004b22c4)(*puVar2);
    r_fatal(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3);
    puVar5 = puVar1 + iVar7 * 0x19;
    puVar2 = (undefined4 *)((int)puVar1 + iVar7);
    puVar4 = puVar1;
    puVar9 = puVar1;
    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;
  }
  else {
    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8);
    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;
LAB_004690c8:
    puVar5 = puVar1 + iVar7 * 0x19;
    puVar2 = (undefined4 *)((int)puVar1 + iVar7);
    puVar4 = puVar1;
    puVar9 = puVar1;
    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;
  }
  do {
    puVar1 = puVar2;
    *puVar4 = puVar1;
    puVar4 = (undefined4 *)((int)puVar4 + iVar7);
    puVar2 = (undefined4 *)((int)puVar1 + iVar7);
  } while ((undefined4 *)((int)puVar1 + iVar7) < puVar5);
LAB_004690fc:
  *puVar1 = 0;
  uVar6 = *puVar9;
  (&DAT_004b190c)[param_1 * 4] = (&DAT_004b190c)[param_1 * 4] + 100;
  (&nextfree)[param_1 * 4] = uVar6;
  return puVar9;
}


addiu sp,sp,-0x48
lui v1,0x4b
lui gp,0x4c
sw s3,0x38(sp)
addiu s3,v1,0x1900
sw s2,0x34(sp)
sll s2,a0,0x4
sw s0,0x2c(sp)
li a0,0x64
addu v0,s3,s2
sw s1,0x30(sp)
addiu gp,gp,-0x64e0
sw ra,0x44(sp)
sw s5,0x40(sp)
lw s0,0x4(v0)
sw s4,0x3c(sp)
mul s1,s0,a0
beq s1,zero,0x00469140
_sw gp,0x20(sp)
lw t9,-0x784c(gp)
jalr t9
_or a0,s1,zero
lw gp,0x20(sp)
beq v0,zero,0x00469190
_or s4,v0,zero
addu a0,s4,s1
addu v0,s4,s0
sltu v1,v0,a0
beq v1,zero,0x0046922c
_or v1,s4,zero
b 0x004690e8
_nop
or v0,a1,zero
addu a1,v0,s0
sw v0,0x0(v1)
sltu a2,a1,a0
bne a2,zero,0x004690e4
_addu v1,v1,s0
addu v1,s3,s2
lw ra,0x44(sp)
sw zero,0x0(v0)
lw a0,0x0(s4)
lw v0,0xc(v1)
lw s5,0x40(sp)
lw s3,0x38(sp)
addiu v0,v0,0x64
lw s2,0x34(sp)
lw s1,0x30(sp)
lw s0,0x2c(sp)
sw v0,0xc(v1)
or v0,s4,zero
sw a0,0x0(v1)
lw s4,0x3c(sp)
jr ra
_addiu sp,sp,0x48
lui a0,0x49
lw t9,-0x7fb4(gp)
li a1,0x7c5
bal 0x00467090
_addiu a0,a0,-0x268
lui a1,0x4a
lw gp,0x20(sp)
lui a0,0x49
li a2,0x431
addiu a1,a1,-0x30a0
lw t9,-0x7fb0(gp)
bal 0x004675e4
_addiu a0,a0,-0x1e4
lw gp,0x20(sp)
lw t9,-0x784c(gp)
jalr t9
_or a0,s1,zero
lw gp,0x20(sp)
bne v0,zero,0x004690c8
_or s4,v0,zero
lui a0,0x49
lw t9,-0x7fb4(gp)
li a1,0x7c9
bal 0x00467090
_addiu a0,a0,-0x268
lui a1,0x49
lw gp,0x20(sp)
li a2,0x5
addiu a1,a1,-0x1bc
lw t9,-0x77c4(gp)
jalr t9
_or a0,zero,zero
lw gp,0x20(sp)
lw t9,-0x78d0(gp)
jalr t9
_or s5,v0,zero
lw gp,0x20(sp)
lw t9,-0x785c(gp)
jalr t9
_lw a0,0x0(v0)
lui a3,0x4a
lw gp,0x20(sp)
lui a1,0x4a
sw v0,0x18(sp)
lui v0,0x4a
addiu a3,a3,-0x2f44
sw s1,0x14(sp)
addiu v0,v0,-0x2f38
lw t9,-0x7fb0(gp)
li a2,0x431
addiu a1,a1,-0x30a0
sw v0,0x10(sp)
bal 0x004675e4
_or a0,s5,zero
addu a0,s4,s1
addu v0,s4,s0
sltu v1,v0,a0
bne v1,zero,0x004690e8
_or v1,s4,zero
b 0x004690fc
_or v0,s4,zero
(translation_unit "undefined4 * more_blocks(int param_1)\n\n{\n  undefined4 *puVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  \n  iVar7 = *(int *)(&DAT_004b1904 + param_1 * 0x10);\n  iVar8 = iVar7 * 100;\n  if (iVar8 == 0) {\n    set_loc("awk.h",0x7c5);\n    r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);\n    if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;\nLAB_00469190:\n    set_loc("awk.h",0x7c9);\n    uVar6 = (*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();\n    uVar3 = (*(code *)PTR_strerror_004b22c4)(*puVar2);\n    r_fatal(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3);\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }\n  else {\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }\n  do {\n    puVar1 = puVar2;\n    *puVar4 = puVar1;\n    puVar4 = (undefined4 *)((int)puVar4 + iVar7);\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n  } while ((undefined4 *)((int)puVar1 + iVar7) < puVar5);\nLAB_004690fc:\n  *puVar1 = 0;\n  uVar6 = *puVar9;\n  (&DAT_004b190c)[param_1 * 4] = (&DAT_004b190c)[param_1 * 4] + 100;\n  (&nextfree)[param_1 * 4] = uVar6;\n  return puVar9;\n}\n\n" (function_definition "undefined4 * more_blocks(int param_1)\n\n{\n  undefined4 *puVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  \n  iVar7 = *(int *)(&DAT_004b1904 + param_1 * 0x10);\n  iVar8 = iVar7 * 100;\n  if (iVar8 == 0) {\n    set_loc("awk.h",0x7c5);\n    r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);\n    if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;\nLAB_00469190:\n    set_loc("awk.h",0x7c9);\n    uVar6 = (*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();\n    uVar3 = (*(code *)PTR_strerror_004b22c4)(*puVar2);\n    r_fatal(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3);\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }\n  else {\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }\n  do {\n    puVar1 = puVar2;\n    *puVar4 = puVar1;\n    puVar4 = (undefined4 *)((int)puVar4 + iVar7);\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n  } while ((undefined4 *)((int)puVar1 + iVar7) < puVar5);\nLAB_004690fc:\n  *puVar1 = 0;\n  uVar6 = *puVar9;\n  (&DAT_004b190c)[param_1 * 4] = (&DAT_004b190c)[param_1 * 4] + 100;\n  (&nextfree)[param_1 * 4] = uVar6;\n  return puVar9;\n}" type_identifier (pointer_declarator "* more_blocks(int param_1)" * (function_declarator "more_blocks(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) )))) (compound_statement "{\n  undefined4 *puVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  \n  iVar7 = *(int *)(&DAT_004b1904 + param_1 * 0x10);\n  iVar8 = iVar7 * 100;\n  if (iVar8 == 0) {\n    set_loc("awk.h",0x7c5);\n    r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);\n    if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;\nLAB_00469190:\n    set_loc("awk.h",0x7c9);\n    uVar6 = (*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();\n    uVar3 = (*(code *)PTR_strerror_004b22c4)(*puVar2);\n    r_fatal(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3);\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }\n  else {\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }\n  do {\n    puVar1 = puVar2;\n    *puVar4 = puVar1;\n    puVar4 = (undefined4 *)((int)puVar4 + iVar7);\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n  } while ((undefined4 *)((int)puVar1 + iVar7) < puVar5);\nLAB_004690fc:\n  *puVar1 = 0;\n  uVar6 = *puVar9;\n  (&DAT_004b190c)[param_1 * 4] = (&DAT_004b190c)[param_1 * 4] + 100;\n  (&nextfree)[param_1 * 4] = uVar6;\n  return puVar9;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (expression_statement "iVar7 = *(int *)(&DAT_004b1904 + param_1 * 0x10);" (assignment_expression "iVar7 = *(int *)(&DAT_004b1904 + param_1 * 0x10)" identifier = (pointer_expression "*(int *)(&DAT_004b1904 + param_1 * 0x10)" * (cast_expression "(int *)(&DAT_004b1904 + param_1 * 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_004b1904 + param_1 * 0x10)" ( (binary_expression "&DAT_004b1904 + param_1 * 0x10" (pointer_expression "&DAT_004b1904" & identifier) + (binary_expression "param_1 * 0x10" identifier * number_literal)) ))))) ;) (expression_statement "iVar8 = iVar7 * 100;" (assignment_expression "iVar8 = iVar7 * 100" identifier = (binary_expression "iVar7 * 100" identifier * number_literal)) ;) (if_statement "if (iVar8 == 0) {\n    set_loc("awk.h",0x7c5);\n    r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);\n    if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;\nLAB_00469190:\n    set_loc("awk.h",0x7c9);\n    uVar6 = (*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();\n    uVar3 = (*(code *)PTR_strerror_004b22c4)(*puVar2);\n    r_fatal(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3);\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }\n  else {\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n    set_loc("awk.h",0x7c5);\n    r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);\n    if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;\nLAB_00469190:\n    set_loc("awk.h",0x7c9);\n    uVar6 = (*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();\n    uVar3 = (*(code *)PTR_strerror_004b22c4)(*puVar2);\n    r_fatal(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3);\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }" { (expression_statement "set_loc("awk.h",0x7c5);" (call_expression "set_loc("awk.h",0x7c5)" identifier (argument_list "("awk.h",0x7c5)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);" (call_expression "r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431)" identifier (argument_list "("%s:%d: emalloc called with zero bytes","node.c",0x431)" ( (string_literal ""%s:%d: emalloc called with zero bytes"" " string_content ") , (string_literal ""node.c"" " string_content ") , number_literal ))) ;) (expression_statement "puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);" (assignment_expression "puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_malloc_004b22d4)(0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_malloc_004b22d4)(0)" (parenthesized_expression "(*(code *)PTR_malloc_004b22d4)" ( (pointer_expression "*(code *)PTR_malloc_004b22d4" * (cast_expression "(code *)PTR_malloc_004b22d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0)" ( number_literal ))))) ;) (if_statement "if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;" if (parenthesized_expression "(puVar1 != (undefined4 *)0x0)" ( (binary_expression "puVar1 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_004690c8;" goto statement_identifier ;)) (labeled_statement "LAB_00469190:\n    set_loc("awk.h",0x7c9);" statement_identifier : (expression_statement "set_loc("awk.h",0x7c9);" (call_expression "set_loc("awk.h",0x7c9)" identifier (argument_list "("awk.h",0x7c9)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;)) (expression_statement "uVar6 = (*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);" (assignment_expression "uVar6 = (*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier = (call_expression "(*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" ( (pointer_expression "*(code *)PTR_dcgettext_004b235c" * (cast_expression "(code *)PTR_dcgettext_004b235c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" ( number_literal , (string_literal ""%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s"" " string_content ") , number_literal )))) ;) (expression_statement "puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();" (assignment_expression "puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_004b2250)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_004b2250)()" (parenthesized_expression "(*(code *)PTR___errno_location_004b2250)" ( (pointer_expression "*(code *)PTR___errno_location_004b2250" * (cast_expression "(code *)PTR___errno_location_004b2250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar3 = (*(code *)PTR_strerror_004b22c4)(*puVar2);" (assignment_expression "uVar3 = (*(code *)PTR_strerror_004b22c4)(*puVar2)" identifier = (call_expression "(*(code *)PTR_strerror_004b22c4)(*puVar2)" (parenthesized_expression "(*(code *)PTR_strerror_004b22c4)" ( (pointer_expression "*(code *)PTR_strerror_004b22c4" * (cast_expression "(code *)PTR_strerror_004b22c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar2)" ( (pointer_expression "*puVar2" * identifier) )))) ;) (expression_statement "r_fatal(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3);" (call_expression "r_fatal(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3)" identifier (argument_list "(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3)" ( identifier , (string_literal ""node.c"" " string_content ") , number_literal , (string_literal ""more_blocks"" " string_content ") , (string_literal ""freep"" " string_content ") , identifier , identifier ))) ;) (expression_statement "puVar5 = puVar1 + iVar7 * 0x19;" (assignment_expression "puVar5 = puVar1 + iVar7 * 0x19" identifier = (binary_expression "puVar1 + iVar7 * 0x19" identifier + (binary_expression "iVar7 * 0x19" identifier * number_literal))) ;) (expression_statement "puVar2 = (undefined4 *)((int)puVar1 + iVar7);" (assignment_expression "puVar2 = (undefined4 *)((int)puVar1 + iVar7)" identifier = (cast_expression "(undefined4 *)((int)puVar1 + iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + iVar7)" ( (binary_expression "(int)puVar1 + iVar7" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "puVar4 = puVar1;" (assignment_expression "puVar4 = puVar1" identifier = identifier) ;) (expression_statement "puVar9 = puVar1;" (assignment_expression "puVar9 = puVar1" identifier = identifier) ;) (if_statement "if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;" if (parenthesized_expression "(puVar5 <= (undefined4 *)((int)puVar1 + iVar7))" ( (binary_expression "puVar5 <= (undefined4 *)((int)puVar1 + iVar7)" identifier <= (cast_expression "(undefined4 *)((int)puVar1 + iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + iVar7)" ( (binary_expression "(int)puVar1 + iVar7" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )) (goto_statement "goto LAB_004690fc;" goto statement_identifier ;)) }) (else_clause "else {\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }" else (compound_statement "{\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }" { (expression_statement "puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8);" (assignment_expression "puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_malloc_004b22d4)(iVar8)" (parenthesized_expression "(*(code *)PTR_malloc_004b22d4)" ( (pointer_expression "*(code *)PTR_malloc_004b22d4" * (cast_expression "(code *)PTR_malloc_004b22d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8)" ( identifier ))))) ;) (if_statement "if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;" if (parenthesized_expression "(puVar1 == (undefined4 *)0x0)" ( (binary_expression "puVar1 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00469190;" goto statement_identifier ;)) (labeled_statement "LAB_004690c8:\n    puVar5 = puVar1 + iVar7 * 0x19;" statement_identifier : (expression_statement "puVar5 = puVar1 + iVar7 * 0x19;" (assignment_expression "puVar5 = puVar1 + iVar7 * 0x19" identifier = (binary_expression "puVar1 + iVar7 * 0x19" identifier + (binary_expression "iVar7 * 0x19" identifier * number_literal))) ;)) (expression_statement "puVar2 = (undefined4 *)((int)puVar1 + iVar7);" (assignment_expression "puVar2 = (undefined4 *)((int)puVar1 + iVar7)" identifier = (cast_expression "(undefined4 *)((int)puVar1 + iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + iVar7)" ( (binary_expression "(int)puVar1 + iVar7" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "puVar4 = puVar1;" (assignment_expression "puVar4 = puVar1" identifier = identifier) ;) (expression_statement "puVar9 = puVar1;" (assignment_expression "puVar9 = puVar1" identifier = identifier) ;) (if_statement "if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;" if (parenthesized_expression "(puVar5 <= (undefined4 *)((int)puVar1 + iVar7))" ( (binary_expression "puVar5 <= (undefined4 *)((int)puVar1 + iVar7)" identifier <= (cast_expression "(undefined4 *)((int)puVar1 + iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + iVar7)" ( (binary_expression "(int)puVar1 + iVar7" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )) (goto_statement "goto LAB_004690fc;" goto statement_identifier ;)) }))) (do_statement "do {\n    puVar1 = puVar2;\n    *puVar4 = puVar1;\n    puVar4 = (undefined4 *)((int)puVar4 + iVar7);\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n  } while ((undefined4 *)((int)puVar1 + iVar7) < puVar5);" do (compound_statement "{\n    puVar1 = puVar2;\n    *puVar4 = puVar1;\n    puVar4 = (undefined4 *)((int)puVar4 + iVar7);\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n  }" { (expression_statement "puVar1 = puVar2;" (assignment_expression "puVar1 = puVar2" identifier = identifier) ;) (expression_statement "*puVar4 = puVar1;" (assignment_expression "*puVar4 = puVar1" (pointer_expression "*puVar4" * identifier) = identifier) ;) (expression_statement "puVar4 = (undefined4 *)((int)puVar4 + iVar7);" (assignment_expression "puVar4 = (undefined4 *)((int)puVar4 + iVar7)" identifier = (cast_expression "(undefined4 *)((int)puVar4 + iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar4 + iVar7)" ( (binary_expression "(int)puVar4 + iVar7" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "puVar2 = (undefined4 *)((int)puVar1 + iVar7);" (assignment_expression "puVar2 = (undefined4 *)((int)puVar1 + iVar7)" identifier = (cast_expression "(undefined4 *)((int)puVar1 + iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + iVar7)" ( (binary_expression "(int)puVar1 + iVar7" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) while (parenthesized_expression "((undefined4 *)((int)puVar1 + iVar7) < puVar5)" ( (binary_expression "(undefined4 *)((int)puVar1 + iVar7) < puVar5" (cast_expression "(undefined4 *)((int)puVar1 + iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + iVar7)" ( (binary_expression "(int)puVar1 + iVar7" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) < identifier) )) ;) (labeled_statement "LAB_004690fc:\n  *puVar1 = 0;" statement_identifier : (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" * identifier) = number_literal) ;)) (expression_statement "uVar6 = *puVar9;" (assignment_expression "uVar6 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (expression_statement "(&DAT_004b190c)[param_1 * 4] = (&DAT_004b190c)[param_1 * 4] + 100;" (assignment_expression "(&DAT_004b190c)[param_1 * 4] = (&DAT_004b190c)[param_1 * 4] + 100" (subscript_expression "(&DAT_004b190c)[param_1 * 4]" (parenthesized_expression "(&DAT_004b190c)" ( (pointer_expression "&DAT_004b190c" & identifier) )) [ (binary_expression "param_1 * 4" identifier * number_literal) ]) = (binary_expression "(&DAT_004b190c)[param_1 * 4] + 100" (subscript_expression "(&DAT_004b190c)[param_1 * 4]" (parenthesized_expression "(&DAT_004b190c)" ( (pointer_expression "&DAT_004b190c" & identifier) )) [ (binary_expression "param_1 * 4" identifier * number_literal) ]) + number_literal)) ;) (expression_statement "(&nextfree)[param_1 * 4] = uVar6;" (assignment_expression "(&nextfree)[param_1 * 4] = uVar6" (subscript_expression "(&nextfree)[param_1 * 4]" (parenthesized_expression "(&nextfree)" ( (pointer_expression "&nextfree" & identifier) )) [ (binary_expression "param_1 * 4" identifier * number_literal) ]) = identifier) ;) (return_statement "return puVar9;" return identifier ;) })))
(translation_unit "/* WARNING: Unknown calling convention */\n\nvoid * more_blocks(int id)\n\n{\n  undefined4 *puVar1;\n  char *mesg;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  \n  iVar6 = *(int *)(&DAT_004b1904 + id * 0x10);\n  iVar7 = iVar6 * 100;\n  if (iVar7 == 0) {\n    set_loc("awk.h",0x7c5);\n    r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);\n    if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;\nLAB_00469190:\n    set_loc("awk.h",0x7c9);\n    mesg = (char *)(*(code *)PTR_dcgettext_004b235c)\n                             (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();\n    uVar5 = (*(code *)PTR_strerror_004b22c4)(*puVar2);\n    r_fatal(mesg,"node.c",0x431,"more_blocks","freep",iVar7,uVar5);\n    puVar4 = puVar1 + iVar6 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar6);\n    puVar3 = puVar1;\n    puVar8 = puVar1;\n    if (puVar4 <= (undefined4 *)((int)puVar1 + iVar6)) goto LAB_004690fc;\n  }\n  else {\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar7);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar4 = puVar1 + iVar6 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar6);\n    puVar3 = puVar1;\n    puVar8 = puVar1;\n    if (puVar4 <= (undefined4 *)((int)puVar1 + iVar6)) goto LAB_004690fc;\n  }\n  do {\n    puVar1 = puVar2;\n    *puVar3 = puVar1;\n    puVar3 = (undefined4 *)((int)puVar3 + iVar6);\n    puVar2 = (undefined4 *)((int)puVar1 + iVar6);\n  } while ((undefined4 *)((int)puVar1 + iVar6) < puVar4);\nLAB_004690fc:\n  *puVar1 = 0;\n  uVar5 = *puVar8;\n  (&DAT_004b190c)[id * 4] = (&DAT_004b190c)[id * 4] + 100;\n  (&nextfree)[id * 4] = uVar5;\n  return puVar8;\n}\n\n" comment (function_definition "void * more_blocks(int id)\n\n{\n  undefined4 *puVar1;\n  char *mesg;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  \n  iVar6 = *(int *)(&DAT_004b1904 + id * 0x10);\n  iVar7 = iVar6 * 100;\n  if (iVar7 == 0) {\n    set_loc("awk.h",0x7c5);\n    r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);\n    if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;\nLAB_00469190:\n    set_loc("awk.h",0x7c9);\n    mesg = (char *)(*(code *)PTR_dcgettext_004b235c)\n                             (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();\n    uVar5 = (*(code *)PTR_strerror_004b22c4)(*puVar2);\n    r_fatal(mesg,"node.c",0x431,"more_blocks","freep",iVar7,uVar5);\n    puVar4 = puVar1 + iVar6 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar6);\n    puVar3 = puVar1;\n    puVar8 = puVar1;\n    if (puVar4 <= (undefined4 *)((int)puVar1 + iVar6)) goto LAB_004690fc;\n  }\n  else {\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar7);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar4 = puVar1 + iVar6 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar6);\n    puVar3 = puVar1;\n    puVar8 = puVar1;\n    if (puVar4 <= (undefined4 *)((int)puVar1 + iVar6)) goto LAB_004690fc;\n  }\n  do {\n    puVar1 = puVar2;\n    *puVar3 = puVar1;\n    puVar3 = (undefined4 *)((int)puVar3 + iVar6);\n    puVar2 = (undefined4 *)((int)puVar1 + iVar6);\n  } while ((undefined4 *)((int)puVar1 + iVar6) < puVar4);\nLAB_004690fc:\n  *puVar1 = 0;\n  uVar5 = *puVar8;\n  (&DAT_004b190c)[id * 4] = (&DAT_004b190c)[id * 4] + 100;\n  (&nextfree)[id * 4] = uVar5;\n  return puVar8;\n}" primitive_type (pointer_declarator "* more_blocks(int id)" * (function_declarator "more_blocks(int id)" identifier (parameter_list "(int id)" ( (parameter_declaration "int id" primitive_type identifier) )))) (compound_statement "{\n  undefined4 *puVar1;\n  char *mesg;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  \n  iVar6 = *(int *)(&DAT_004b1904 + id * 0x10);\n  iVar7 = iVar6 * 100;\n  if (iVar7 == 0) {\n    set_loc("awk.h",0x7c5);\n    r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);\n    if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;\nLAB_00469190:\n    set_loc("awk.h",0x7c9);\n    mesg = (char *)(*(code *)PTR_dcgettext_004b235c)\n                             (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();\n    uVar5 = (*(code *)PTR_strerror_004b22c4)(*puVar2);\n    r_fatal(mesg,"node.c",0x431,"more_blocks","freep",iVar7,uVar5);\n    puVar4 = puVar1 + iVar6 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar6);\n    puVar3 = puVar1;\n    puVar8 = puVar1;\n    if (puVar4 <= (undefined4 *)((int)puVar1 + iVar6)) goto LAB_004690fc;\n  }\n  else {\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar7);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar4 = puVar1 + iVar6 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar6);\n    puVar3 = puVar1;\n    puVar8 = puVar1;\n    if (puVar4 <= (undefined4 *)((int)puVar1 + iVar6)) goto LAB_004690fc;\n  }\n  do {\n    puVar1 = puVar2;\n    *puVar3 = puVar1;\n    puVar3 = (undefined4 *)((int)puVar3 + iVar6);\n    puVar2 = (undefined4 *)((int)puVar1 + iVar6);\n  } while ((undefined4 *)((int)puVar1 + iVar6) < puVar4);\nLAB_004690fc:\n  *puVar1 = 0;\n  uVar5 = *puVar8;\n  (&DAT_004b190c)[id * 4] = (&DAT_004b190c)[id * 4] + 100;\n  (&nextfree)[id * 4] = uVar5;\n  return puVar8;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "char *mesg;" primitive_type (pointer_declarator "*mesg" * identifier) ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (expression_statement "iVar6 = *(int *)(&DAT_004b1904 + id * 0x10);" (assignment_expression "iVar6 = *(int *)(&DAT_004b1904 + id * 0x10)" identifier = (pointer_expression "*(int *)(&DAT_004b1904 + id * 0x10)" * (cast_expression "(int *)(&DAT_004b1904 + id * 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_004b1904 + id * 0x10)" ( (binary_expression "&DAT_004b1904 + id * 0x10" (pointer_expression "&DAT_004b1904" & identifier) + (binary_expression "id * 0x10" identifier * number_literal)) ))))) ;) (expression_statement "iVar7 = iVar6 * 100;" (assignment_expression "iVar7 = iVar6 * 100" identifier = (binary_expression "iVar6 * 100" identifier * number_literal)) ;) (if_statement "if (iVar7 == 0) {\n    set_loc("awk.h",0x7c5);\n    r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);\n    if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;\nLAB_00469190:\n    set_loc("awk.h",0x7c9);\n    mesg = (char *)(*(code *)PTR_dcgettext_004b235c)\n                             (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();\n    uVar5 = (*(code *)PTR_strerror_004b22c4)(*puVar2);\n    r_fatal(mesg,"node.c",0x431,"more_blocks","freep",iVar7,uVar5);\n    puVar4 = puVar1 + iVar6 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar6);\n    puVar3 = puVar1;\n    puVar8 = puVar1;\n    if (puVar4 <= (undefined4 *)((int)puVar1 + iVar6)) goto LAB_004690fc;\n  }\n  else {\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar7);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar4 = puVar1 + iVar6 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar6);\n    puVar3 = puVar1;\n    puVar8 = puVar1;\n    if (puVar4 <= (undefined4 *)((int)puVar1 + iVar6)) goto LAB_004690fc;\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    set_loc("awk.h",0x7c5);\n    r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);\n    if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;\nLAB_00469190:\n    set_loc("awk.h",0x7c9);\n    mesg = (char *)(*(code *)PTR_dcgettext_004b235c)\n                             (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();\n    uVar5 = (*(code *)PTR_strerror_004b22c4)(*puVar2);\n    r_fatal(mesg,"node.c",0x431,"more_blocks","freep",iVar7,uVar5);\n    puVar4 = puVar1 + iVar6 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar6);\n    puVar3 = puVar1;\n    puVar8 = puVar1;\n    if (puVar4 <= (undefined4 *)((int)puVar1 + iVar6)) goto LAB_004690fc;\n  }" { (expression_statement "set_loc("awk.h",0x7c5);" (call_expression "set_loc("awk.h",0x7c5)" identifier (argument_list "("awk.h",0x7c5)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);" (call_expression "r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431)" identifier (argument_list "("%s:%d: emalloc called with zero bytes","node.c",0x431)" ( (string_literal ""%s:%d: emalloc called with zero bytes"" " string_content ") , (string_literal ""node.c"" " string_content ") , number_literal ))) ;) (expression_statement "puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);" (assignment_expression "puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_malloc_004b22d4)(0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_malloc_004b22d4)(0)" (parenthesized_expression "(*(code *)PTR_malloc_004b22d4)" ( (pointer_expression "*(code *)PTR_malloc_004b22d4" * (cast_expression "(code *)PTR_malloc_004b22d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0)" ( number_literal ))))) ;) (if_statement "if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;" if (parenthesized_expression "(puVar1 != (undefined4 *)0x0)" ( (binary_expression "puVar1 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_004690c8;" goto statement_identifier ;)) (labeled_statement "LAB_00469190:\n    set_loc("awk.h",0x7c9);" statement_identifier : (expression_statement "set_loc("awk.h",0x7c9);" (call_expression "set_loc("awk.h",0x7c9)" identifier (argument_list "("awk.h",0x7c9)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;)) (expression_statement "mesg = (char *)(*(code *)PTR_dcgettext_004b235c)\n                             (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);" (assignment_expression "mesg = (char *)(*(code *)PTR_dcgettext_004b235c)\n                             (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_004b235c)\n                             (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_004b235c)\n                             (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" ( (pointer_expression "*(code *)PTR_dcgettext_004b235c" * (cast_expression "(code *)PTR_dcgettext_004b235c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" ( number_literal , (string_literal ""%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s"" " string_content ") , number_literal ))))) ;) (expression_statement "puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();" (assignment_expression "puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_004b2250)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_004b2250)()" (parenthesized_expression "(*(code *)PTR___errno_location_004b2250)" ( (pointer_expression "*(code *)PTR___errno_location_004b2250" * (cast_expression "(code *)PTR___errno_location_004b2250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar5 = (*(code *)PTR_strerror_004b22c4)(*puVar2);" (assignment_expression "uVar5 = (*(code *)PTR_strerror_004b22c4)(*puVar2)" identifier = (call_expression "(*(code *)PTR_strerror_004b22c4)(*puVar2)" (parenthesized_expression "(*(code *)PTR_strerror_004b22c4)" ( (pointer_expression "*(code *)PTR_strerror_004b22c4" * (cast_expression "(code *)PTR_strerror_004b22c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar2)" ( (pointer_expression "*puVar2" * identifier) )))) ;) (expression_statement "r_fatal(mesg,"node.c",0x431,"more_blocks","freep",iVar7,uVar5);" (call_expression "r_fatal(mesg,"node.c",0x431,"more_blocks","freep",iVar7,uVar5)" identifier (argument_list "(mesg,"node.c",0x431,"more_blocks","freep",iVar7,uVar5)" ( identifier , (string_literal ""node.c"" " string_content ") , number_literal , (string_literal ""more_blocks"" " string_content ") , (string_literal ""freep"" " string_content ") , identifier , identifier ))) ;) (expression_statement "puVar4 = puVar1 + iVar6 * 0x19;" (assignment_expression "puVar4 = puVar1 + iVar6 * 0x19" identifier = (binary_expression "puVar1 + iVar6 * 0x19" identifier + (binary_expression "iVar6 * 0x19" identifier * number_literal))) ;) (expression_statement "puVar2 = (undefined4 *)((int)puVar1 + iVar6);" (assignment_expression "puVar2 = (undefined4 *)((int)puVar1 + iVar6)" identifier = (cast_expression "(undefined4 *)((int)puVar1 + iVar6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + iVar6)" ( (binary_expression "(int)puVar1 + iVar6" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "puVar3 = puVar1;" (assignment_expression "puVar3 = puVar1" identifier = identifier) ;) (expression_statement "puVar8 = puVar1;" (assignment_expression "puVar8 = puVar1" identifier = identifier) ;) (if_statement "if (puVar4 <= (undefined4 *)((int)puVar1 + iVar6)) goto LAB_004690fc;" if (parenthesized_expression "(puVar4 <= (undefined4 *)((int)puVar1 + iVar6))" ( (binary_expression "puVar4 <= (undefined4 *)((int)puVar1 + iVar6)" identifier <= (cast_expression "(undefined4 *)((int)puVar1 + iVar6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + iVar6)" ( (binary_expression "(int)puVar1 + iVar6" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )) (goto_statement "goto LAB_004690fc;" goto statement_identifier ;)) }) (else_clause "else {\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar7);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar4 = puVar1 + iVar6 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar6);\n    puVar3 = puVar1;\n    puVar8 = puVar1;\n    if (puVar4 <= (undefined4 *)((int)puVar1 + iVar6)) goto LAB_004690fc;\n  }" else (compound_statement "{\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar7);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar4 = puVar1 + iVar6 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar6);\n    puVar3 = puVar1;\n    puVar8 = puVar1;\n    if (puVar4 <= (undefined4 *)((int)puVar1 + iVar6)) goto LAB_004690fc;\n  }" { (expression_statement "puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar7);" (assignment_expression "puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar7)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_malloc_004b22d4)(iVar7)" (parenthesized_expression "(*(code *)PTR_malloc_004b22d4)" ( (pointer_expression "*(code *)PTR_malloc_004b22d4" * (cast_expression "(code *)PTR_malloc_004b22d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))))) ;) (if_statement "if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;" if (parenthesized_expression "(puVar1 == (undefined4 *)0x0)" ( (binary_expression "puVar1 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00469190;" goto statement_identifier ;)) (labeled_statement "LAB_004690c8:\n    puVar4 = puVar1 + iVar6 * 0x19;" statement_identifier : (expression_statement "puVar4 = puVar1 + iVar6 * 0x19;" (assignment_expression "puVar4 = puVar1 + iVar6 * 0x19" identifier = (binary_expression "puVar1 + iVar6 * 0x19" identifier + (binary_expression "iVar6 * 0x19" identifier * number_literal))) ;)) (expression_statement "puVar2 = (undefined4 *)((int)puVar1 + iVar6);" (assignment_expression "puVar2 = (undefined4 *)((int)puVar1 + iVar6)" identifier = (cast_expression "(undefined4 *)((int)puVar1 + iVar6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + iVar6)" ( (binary_expression "(int)puVar1 + iVar6" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "puVar3 = puVar1;" (assignment_expression "puVar3 = puVar1" identifier = identifier) ;) (expression_statement "puVar8 = puVar1;" (assignment_expression "puVar8 = puVar1" identifier = identifier) ;) (if_statement "if (puVar4 <= (undefined4 *)((int)puVar1 + iVar6)) goto LAB_004690fc;" if (parenthesized_expression "(puVar4 <= (undefined4 *)((int)puVar1 + iVar6))" ( (binary_expression "puVar4 <= (undefined4 *)((int)puVar1 + iVar6)" identifier <= (cast_expression "(undefined4 *)((int)puVar1 + iVar6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + iVar6)" ( (binary_expression "(int)puVar1 + iVar6" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )) (goto_statement "goto LAB_004690fc;" goto statement_identifier ;)) }))) (do_statement "do {\n    puVar1 = puVar2;\n    *puVar3 = puVar1;\n    puVar3 = (undefined4 *)((int)puVar3 + iVar6);\n    puVar2 = (undefined4 *)((int)puVar1 + iVar6);\n  } while ((undefined4 *)((int)puVar1 + iVar6) < puVar4);" do (compound_statement "{\n    puVar1 = puVar2;\n    *puVar3 = puVar1;\n    puVar3 = (undefined4 *)((int)puVar3 + iVar6);\n    puVar2 = (undefined4 *)((int)puVar1 + iVar6);\n  }" { (expression_statement "puVar1 = puVar2;" (assignment_expression "puVar1 = puVar2" identifier = identifier) ;) (expression_statement "*puVar3 = puVar1;" (assignment_expression "*puVar3 = puVar1" (pointer_expression "*puVar3" * identifier) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)((int)puVar3 + iVar6);" (assignment_expression "puVar3 = (undefined4 *)((int)puVar3 + iVar6)" identifier = (cast_expression "(undefined4 *)((int)puVar3 + iVar6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + iVar6)" ( (binary_expression "(int)puVar3 + iVar6" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "puVar2 = (undefined4 *)((int)puVar1 + iVar6);" (assignment_expression "puVar2 = (undefined4 *)((int)puVar1 + iVar6)" identifier = (cast_expression "(undefined4 *)((int)puVar1 + iVar6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + iVar6)" ( (binary_expression "(int)puVar1 + iVar6" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) while (parenthesized_expression "((undefined4 *)((int)puVar1 + iVar6) < puVar4)" ( (binary_expression "(undefined4 *)((int)puVar1 + iVar6) < puVar4" (cast_expression "(undefined4 *)((int)puVar1 + iVar6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + iVar6)" ( (binary_expression "(int)puVar1 + iVar6" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) < identifier) )) ;) (labeled_statement "LAB_004690fc:\n  *puVar1 = 0;" statement_identifier : (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" * identifier) = number_literal) ;)) (expression_statement "uVar5 = *puVar8;" (assignment_expression "uVar5 = *puVar8" identifier = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "(&DAT_004b190c)[id * 4] = (&DAT_004b190c)[id * 4] + 100;" (assignment_expression "(&DAT_004b190c)[id * 4] = (&DAT_004b190c)[id * 4] + 100" (subscript_expression "(&DAT_004b190c)[id * 4]" (parenthesized_expression "(&DAT_004b190c)" ( (pointer_expression "&DAT_004b190c" & identifier) )) [ (binary_expression "id * 4" identifier * number_literal) ]) = (binary_expression "(&DAT_004b190c)[id * 4] + 100" (subscript_expression "(&DAT_004b190c)[id * 4]" (parenthesized_expression "(&DAT_004b190c)" ( (pointer_expression "&DAT_004b190c" & identifier) )) [ (binary_expression "id * 4" identifier * number_literal) ]) + number_literal)) ;) (expression_statement "(&nextfree)[id * 4] = uVar5;" (assignment_expression "(&nextfree)[id * 4] = uVar5" (subscript_expression "(&nextfree)[id * 4]" (parenthesized_expression "(&nextfree)" ( (pointer_expression "&nextfree" & identifier) )) [ (binary_expression "id * 4" identifier * number_literal) ]) = identifier) ;) (return_statement "return puVar8;" return identifier ;) })))
(translation_unit "undefined4 * more_blocks(int param_1)\n\n{\n  undefined4 *puVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  \n  iVar7 = *(int *)(&DAT_004b1904 + param_1 * 0x10);\n  iVar8 = iVar7 * 100;\n  if (iVar8 == 0) {\n    set_loc("awk.h",0x7c5);\n    r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);\n    if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;\nLAB_00469190:\n    set_loc("awk.h",0x7c9);\n    uVar6 = (*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();\n    uVar3 = (*(code *)PTR_strerror_004b22c4)(*puVar2);\n    r_fatal(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3);\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }\n  else {\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }\n  do {\n    puVar1 = puVar2;\n    *puVar4 = puVar1;\n    puVar4 = (undefined4 *)((int)puVar4 + iVar7);\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n  } while ((undefined4 *)((int)puVar1 + iVar7) < puVar5);\nLAB_004690fc:\n  *puVar1 = 0;\n  uVar6 = *puVar9;\n  (&DAT_004b190c)[param_1 * 4] = (&DAT_004b190c)[param_1 * 4] + 100;\n  (&nextfree)[param_1 * 4] = uVar6;\n  return puVar9;\n}\n\n" (function_definition "undefined4 * more_blocks(int param_1)\n\n{\n  undefined4 *puVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  \n  iVar7 = *(int *)(&DAT_004b1904 + param_1 * 0x10);\n  iVar8 = iVar7 * 100;\n  if (iVar8 == 0) {\n    set_loc("awk.h",0x7c5);\n    r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);\n    if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;\nLAB_00469190:\n    set_loc("awk.h",0x7c9);\n    uVar6 = (*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();\n    uVar3 = (*(code *)PTR_strerror_004b22c4)(*puVar2);\n    r_fatal(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3);\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }\n  else {\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }\n  do {\n    puVar1 = puVar2;\n    *puVar4 = puVar1;\n    puVar4 = (undefined4 *)((int)puVar4 + iVar7);\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n  } while ((undefined4 *)((int)puVar1 + iVar7) < puVar5);\nLAB_004690fc:\n  *puVar1 = 0;\n  uVar6 = *puVar9;\n  (&DAT_004b190c)[param_1 * 4] = (&DAT_004b190c)[param_1 * 4] + 100;\n  (&nextfree)[param_1 * 4] = uVar6;\n  return puVar9;\n}" type_identifier (pointer_declarator "* more_blocks(int param_1)" * (function_declarator "more_blocks(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) )))) (compound_statement "{\n  undefined4 *puVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  \n  iVar7 = *(int *)(&DAT_004b1904 + param_1 * 0x10);\n  iVar8 = iVar7 * 100;\n  if (iVar8 == 0) {\n    set_loc("awk.h",0x7c5);\n    r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);\n    if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;\nLAB_00469190:\n    set_loc("awk.h",0x7c9);\n    uVar6 = (*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();\n    uVar3 = (*(code *)PTR_strerror_004b22c4)(*puVar2);\n    r_fatal(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3);\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }\n  else {\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }\n  do {\n    puVar1 = puVar2;\n    *puVar4 = puVar1;\n    puVar4 = (undefined4 *)((int)puVar4 + iVar7);\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n  } while ((undefined4 *)((int)puVar1 + iVar7) < puVar5);\nLAB_004690fc:\n  *puVar1 = 0;\n  uVar6 = *puVar9;\n  (&DAT_004b190c)[param_1 * 4] = (&DAT_004b190c)[param_1 * 4] + 100;\n  (&nextfree)[param_1 * 4] = uVar6;\n  return puVar9;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (expression_statement "iVar7 = *(int *)(&DAT_004b1904 + param_1 * 0x10);" (assignment_expression "iVar7 = *(int *)(&DAT_004b1904 + param_1 * 0x10)" identifier = (pointer_expression "*(int *)(&DAT_004b1904 + param_1 * 0x10)" * (cast_expression "(int *)(&DAT_004b1904 + param_1 * 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_004b1904 + param_1 * 0x10)" ( (binary_expression "&DAT_004b1904 + param_1 * 0x10" (pointer_expression "&DAT_004b1904" & identifier) + (binary_expression "param_1 * 0x10" identifier * number_literal)) ))))) ;) (expression_statement "iVar8 = iVar7 * 100;" (assignment_expression "iVar8 = iVar7 * 100" identifier = (binary_expression "iVar7 * 100" identifier * number_literal)) ;) (if_statement "if (iVar8 == 0) {\n    set_loc("awk.h",0x7c5);\n    r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);\n    if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;\nLAB_00469190:\n    set_loc("awk.h",0x7c9);\n    uVar6 = (*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();\n    uVar3 = (*(code *)PTR_strerror_004b22c4)(*puVar2);\n    r_fatal(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3);\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }\n  else {\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n    set_loc("awk.h",0x7c5);\n    r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);\n    if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;\nLAB_00469190:\n    set_loc("awk.h",0x7c9);\n    uVar6 = (*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();\n    uVar3 = (*(code *)PTR_strerror_004b22c4)(*puVar2);\n    r_fatal(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3);\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }" { (expression_statement "set_loc("awk.h",0x7c5);" (call_expression "set_loc("awk.h",0x7c5)" identifier (argument_list "("awk.h",0x7c5)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);" (call_expression "r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431)" identifier (argument_list "("%s:%d: emalloc called with zero bytes","node.c",0x431)" ( (string_literal ""%s:%d: emalloc called with zero bytes"" " string_content ") , (string_literal ""node.c"" " string_content ") , number_literal ))) ;) (expression_statement "puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);" (assignment_expression "puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_malloc_004b22d4)(0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_malloc_004b22d4)(0)" (parenthesized_expression "(*(code *)PTR_malloc_004b22d4)" ( (pointer_expression "*(code *)PTR_malloc_004b22d4" * (cast_expression "(code *)PTR_malloc_004b22d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0)" ( number_literal ))))) ;) (if_statement "if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;" if (parenthesized_expression "(puVar1 != (undefined4 *)0x0)" ( (binary_expression "puVar1 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_004690c8;" goto statement_identifier ;)) (labeled_statement "LAB_00469190:\n    set_loc("awk.h",0x7c9);" statement_identifier : (expression_statement "set_loc("awk.h",0x7c9);" (call_expression "set_loc("awk.h",0x7c9)" identifier (argument_list "("awk.h",0x7c9)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;)) (expression_statement "uVar6 = (*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);" (assignment_expression "uVar6 = (*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier = (call_expression "(*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" ( (pointer_expression "*(code *)PTR_dcgettext_004b235c" * (cast_expression "(code *)PTR_dcgettext_004b235c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" ( number_literal , (string_literal ""%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s"" " string_content ") , number_literal )))) ;) (expression_statement "puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();" (assignment_expression "puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_004b2250)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_004b2250)()" (parenthesized_expression "(*(code *)PTR___errno_location_004b2250)" ( (pointer_expression "*(code *)PTR___errno_location_004b2250" * (cast_expression "(code *)PTR___errno_location_004b2250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar3 = (*(code *)PTR_strerror_004b22c4)(*puVar2);" (assignment_expression "uVar3 = (*(code *)PTR_strerror_004b22c4)(*puVar2)" identifier = (call_expression "(*(code *)PTR_strerror_004b22c4)(*puVar2)" (parenthesized_expression "(*(code *)PTR_strerror_004b22c4)" ( (pointer_expression "*(code *)PTR_strerror_004b22c4" * (cast_expression "(code *)PTR_strerror_004b22c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar2)" ( (pointer_expression "*puVar2" * identifier) )))) ;) (expression_statement "r_fatal(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3);" (call_expression "r_fatal(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3)" identifier (argument_list "(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3)" ( identifier , (string_literal ""node.c"" " string_content ") , number_literal , (string_literal ""more_blocks"" " string_content ") , (string_literal ""freep"" " string_content ") , identifier , identifier ))) ;) (expression_statement "puVar5 = puVar1 + iVar7 * 0x19;" (assignment_expression "puVar5 = puVar1 + iVar7 * 0x19" identifier = (binary_expression "puVar1 + iVar7 * 0x19" identifier + (binary_expression "iVar7 * 0x19" identifier * number_literal))) ;) (expression_statement "puVar2 = (undefined4 *)((int)puVar1 + iVar7);" (assignment_expression "puVar2 = (undefined4 *)((int)puVar1 + iVar7)" identifier = (cast_expression "(undefined4 *)((int)puVar1 + iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + iVar7)" ( (binary_expression "(int)puVar1 + iVar7" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "puVar4 = puVar1;" (assignment_expression "puVar4 = puVar1" identifier = identifier) ;) (expression_statement "puVar9 = puVar1;" (assignment_expression "puVar9 = puVar1" identifier = identifier) ;) (if_statement "if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;" if (parenthesized_expression "(puVar5 <= (undefined4 *)((int)puVar1 + iVar7))" ( (binary_expression "puVar5 <= (undefined4 *)((int)puVar1 + iVar7)" identifier <= (cast_expression "(undefined4 *)((int)puVar1 + iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + iVar7)" ( (binary_expression "(int)puVar1 + iVar7" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )) (goto_statement "goto LAB_004690fc;" goto statement_identifier ;)) }) (else_clause "else {\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }" else (compound_statement "{\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }" { (expression_statement "puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8);" (assignment_expression "puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_malloc_004b22d4)(iVar8)" (parenthesized_expression "(*(code *)PTR_malloc_004b22d4)" ( (pointer_expression "*(code *)PTR_malloc_004b22d4" * (cast_expression "(code *)PTR_malloc_004b22d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8)" ( identifier ))))) ;) (if_statement "if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;" if (parenthesized_expression "(puVar1 == (undefined4 *)0x0)" ( (binary_expression "puVar1 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00469190;" goto statement_identifier ;)) (labeled_statement "LAB_004690c8:\n    puVar5 = puVar1 + iVar7 * 0x19;" statement_identifier : (expression_statement "puVar5 = puVar1 + iVar7 * 0x19;" (assignment_expression "puVar5 = puVar1 + iVar7 * 0x19" identifier = (binary_expression "puVar1 + iVar7 * 0x19" identifier + (binary_expression "iVar7 * 0x19" identifier * number_literal))) ;)) (expression_statement "puVar2 = (undefined4 *)((int)puVar1 + iVar7);" (assignment_expression "puVar2 = (undefined4 *)((int)puVar1 + iVar7)" identifier = (cast_expression "(undefined4 *)((int)puVar1 + iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + iVar7)" ( (binary_expression "(int)puVar1 + iVar7" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "puVar4 = puVar1;" (assignment_expression "puVar4 = puVar1" identifier = identifier) ;) (expression_statement "puVar9 = puVar1;" (assignment_expression "puVar9 = puVar1" identifier = identifier) ;) (if_statement "if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;" if (parenthesized_expression "(puVar5 <= (undefined4 *)((int)puVar1 + iVar7))" ( (binary_expression "puVar5 <= (undefined4 *)((int)puVar1 + iVar7)" identifier <= (cast_expression "(undefined4 *)((int)puVar1 + iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + iVar7)" ( (binary_expression "(int)puVar1 + iVar7" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )) (goto_statement "goto LAB_004690fc;" goto statement_identifier ;)) }))) (do_statement "do {\n    puVar1 = puVar2;\n    *puVar4 = puVar1;\n    puVar4 = (undefined4 *)((int)puVar4 + iVar7);\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n  } while ((undefined4 *)((int)puVar1 + iVar7) < puVar5);" do (compound_statement "{\n    puVar1 = puVar2;\n    *puVar4 = puVar1;\n    puVar4 = (undefined4 *)((int)puVar4 + iVar7);\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n  }" { (expression_statement "puVar1 = puVar2;" (assignment_expression "puVar1 = puVar2" identifier = identifier) ;) (expression_statement "*puVar4 = puVar1;" (assignment_expression "*puVar4 = puVar1" (pointer_expression "*puVar4" * identifier) = identifier) ;) (expression_statement "puVar4 = (undefined4 *)((int)puVar4 + iVar7);" (assignment_expression "puVar4 = (undefined4 *)((int)puVar4 + iVar7)" identifier = (cast_expression "(undefined4 *)((int)puVar4 + iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar4 + iVar7)" ( (binary_expression "(int)puVar4 + iVar7" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "puVar2 = (undefined4 *)((int)puVar1 + iVar7);" (assignment_expression "puVar2 = (undefined4 *)((int)puVar1 + iVar7)" identifier = (cast_expression "(undefined4 *)((int)puVar1 + iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + iVar7)" ( (binary_expression "(int)puVar1 + iVar7" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) while (parenthesized_expression "((undefined4 *)((int)puVar1 + iVar7) < puVar5)" ( (binary_expression "(undefined4 *)((int)puVar1 + iVar7) < puVar5" (cast_expression "(undefined4 *)((int)puVar1 + iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + iVar7)" ( (binary_expression "(int)puVar1 + iVar7" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) < identifier) )) ;) (labeled_statement "LAB_004690fc:\n  *puVar1 = 0;" statement_identifier : (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" * identifier) = number_literal) ;)) (expression_statement "uVar6 = *puVar9;" (assignment_expression "uVar6 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (expression_statement "(&DAT_004b190c)[param_1 * 4] = (&DAT_004b190c)[param_1 * 4] + 100;" (assignment_expression "(&DAT_004b190c)[param_1 * 4] = (&DAT_004b190c)[param_1 * 4] + 100" (subscript_expression "(&DAT_004b190c)[param_1 * 4]" (parenthesized_expression "(&DAT_004b190c)" ( (pointer_expression "&DAT_004b190c" & identifier) )) [ (binary_expression "param_1 * 4" identifier * number_literal) ]) = (binary_expression "(&DAT_004b190c)[param_1 * 4] + 100" (subscript_expression "(&DAT_004b190c)[param_1 * 4]" (parenthesized_expression "(&DAT_004b190c)" ( (pointer_expression "&DAT_004b190c" & identifier) )) [ (binary_expression "param_1 * 4" identifier * number_literal) ]) + number_literal)) ;) (expression_statement "(&nextfree)[param_1 * 4] = uVar6;" (assignment_expression "(&nextfree)[param_1 * 4] = uVar6" (subscript_expression "(&nextfree)[param_1 * 4]" (parenthesized_expression "(&nextfree)" ( (pointer_expression "&nextfree" & identifier) )) [ (binary_expression "param_1 * 4" identifier * number_literal) ]) = identifier) ;) (return_statement "return puVar9;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT , (string_literal " string_content ") , (string_literal " string_content ") , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) )) (goto_statement goto statement_identifier ;)) }))) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) < IDENT) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) = (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) = IDENT) ;) (return_statement return IDENT ;) })))
(function_definition "undefined4 * more_blocks(int param_1)\n\n{\n  undefined4 *puVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  \n  iVar7 = *(int *)(&DAT_004b1904 + param_1 * 0x10);\n  iVar8 = iVar7 * 100;\n  if (iVar8 == 0) {\n    set_loc("awk.h",0x7c5);\n    r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);\n    if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;\nLAB_00469190:\n    set_loc("awk.h",0x7c9);\n    uVar6 = (*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();\n    uVar3 = (*(code *)PTR_strerror_004b22c4)(*puVar2);\n    r_fatal(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3);\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }\n  else {\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }\n  do {\n    puVar1 = puVar2;\n    *puVar4 = puVar1;\n    puVar4 = (undefined4 *)((int)puVar4 + iVar7);\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n  } while ((undefined4 *)((int)puVar1 + iVar7) < puVar5);\nLAB_004690fc:\n  *puVar1 = 0;\n  uVar6 = *puVar9;\n  (&DAT_004b190c)[param_1 * 4] = (&DAT_004b190c)[param_1 * 4] + 100;\n  (&nextfree)[param_1 * 4] = uVar6;\n  return puVar9;\n}" (type_identifier "undefined4") (pointer_declarator "* more_blocks(int param_1)" (* "*") (function_declarator "more_blocks(int param_1)" (identifier "more_blocks") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")")))) (compound_statement "{\n  undefined4 *puVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  \n  iVar7 = *(int *)(&DAT_004b1904 + param_1 * 0x10);\n  iVar8 = iVar7 * 100;\n  if (iVar8 == 0) {\n    set_loc("awk.h",0x7c5);\n    r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);\n    if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;\nLAB_00469190:\n    set_loc("awk.h",0x7c9);\n    uVar6 = (*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();\n    uVar3 = (*(code *)PTR_strerror_004b22c4)(*puVar2);\n    r_fatal(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3);\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }\n  else {\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }\n  do {\n    puVar1 = puVar2;\n    *puVar4 = puVar1;\n    puVar4 = (undefined4 *)((int)puVar4 + iVar7);\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n  } while ((undefined4 *)((int)puVar1 + iVar7) < puVar5);\nLAB_004690fc:\n  *puVar1 = 0;\n  uVar6 = *puVar9;\n  (&DAT_004b190c)[param_1 * 4] = (&DAT_004b190c)[param_1 * 4] + 100;\n  (&nextfree)[param_1 * 4] = uVar6;\n  return puVar9;\n}" ({ "{") (declaration "undefined4 *puVar1;" (type_identifier "undefined4") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined4 *puVar2;" (type_identifier "undefined4") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined4 *puVar4;" (type_identifier "undefined4") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (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 "undefined4 *puVar9;" (type_identifier "undefined4") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (expression_statement "iVar7 = *(int *)(&DAT_004b1904 + param_1 * 0x10);" (assignment_expression "iVar7 = *(int *)(&DAT_004b1904 + param_1 * 0x10)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(&DAT_004b1904 + param_1 * 0x10)" (* "*") (cast_expression "(int *)(&DAT_004b1904 + param_1 * 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_004b1904 + param_1 * 0x10)" (( "(") (binary_expression "&DAT_004b1904 + param_1 * 0x10" (pointer_expression "&DAT_004b1904" (& "&") (identifier "DAT_004b1904")) (+ "+") (binary_expression "param_1 * 0x10" (identifier "param_1") (* "*") (number_literal "0x10"))) () ")"))))) (; ";")) (expression_statement "iVar8 = iVar7 * 100;" (assignment_expression "iVar8 = iVar7 * 100" (identifier "iVar8") (= "=") (binary_expression "iVar7 * 100" (identifier "iVar7") (* "*") (number_literal "100"))) (; ";")) (if_statement "if (iVar8 == 0) {\n    set_loc("awk.h",0x7c5);\n    r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);\n    if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;\nLAB_00469190:\n    set_loc("awk.h",0x7c9);\n    uVar6 = (*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();\n    uVar3 = (*(code *)PTR_strerror_004b22c4)(*puVar2);\n    r_fatal(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3);\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }\n  else {\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    set_loc("awk.h",0x7c5);\n    r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);\n    if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;\nLAB_00469190:\n    set_loc("awk.h",0x7c9);\n    uVar6 = (*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();\n    uVar3 = (*(code *)PTR_strerror_004b22c4)(*puVar2);\n    r_fatal(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3);\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }" ({ "{") (expression_statement "set_loc("awk.h",0x7c5);" (call_expression "set_loc("awk.h",0x7c5)" (identifier "set_loc") (argument_list "("awk.h",0x7c5)" (( "(") (string_literal ""awk.h"" (" """) (string_content "awk.h") (" """)) (, ",") (number_literal "0x7c5") () ")"))) (; ";")) (expression_statement "r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);" (call_expression "r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431)" (identifier "r_fatal") (argument_list "("%s:%d: emalloc called with zero bytes","node.c",0x431)" (( "(") (string_literal ""%s:%d: emalloc called with zero bytes"" (" """) (string_content "%s:%d: emalloc called with zero bytes") (" """)) (, ",") (string_literal ""node.c"" (" """) (string_content "node.c") (" """)) (, ",") (number_literal "0x431") () ")"))) (; ";")) (expression_statement "puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);" (assignment_expression "puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0)" (identifier "puVar1") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR_malloc_004b22d4)(0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_malloc_004b22d4)(0)" (parenthesized_expression "(*(code *)PTR_malloc_004b22d4)" (( "(") (pointer_expression "*(code *)PTR_malloc_004b22d4" (* "*") (cast_expression "(code *)PTR_malloc_004b22d4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_malloc_004b22d4"))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;" (if "if") (parenthesized_expression "(puVar1 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar1 != (undefined4 *)0x0" (identifier "puVar1") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_004690c8;" (goto "goto") (statement_identifier "LAB_004690c8") (; ";"))) (labeled_statement "LAB_00469190:\n    set_loc("awk.h",0x7c9);" (statement_identifier "LAB_00469190") (: ":") (expression_statement "set_loc("awk.h",0x7c9);" (call_expression "set_loc("awk.h",0x7c9)" (identifier "set_loc") (argument_list "("awk.h",0x7c9)" (( "(") (string_literal ""awk.h"" (" """) (string_content "awk.h") (" """)) (, ",") (number_literal "0x7c9") () ")"))) (; ";"))) (expression_statement "uVar6 = (*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);" (assignment_expression "uVar6 = (*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_dcgettext_004b235c)\n                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_004b235c" (* "*") (cast_expression "(code *)PTR_dcgettext_004b235c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_004b235c"))) () ")")) (argument_list "(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s"" (" """) (string_content "%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();" (assignment_expression "puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)()" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_004b2250)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_004b2250)()" (parenthesized_expression "(*(code *)PTR___errno_location_004b2250)" (( "(") (pointer_expression "*(code *)PTR___errno_location_004b2250" (* "*") (cast_expression "(code *)PTR___errno_location_004b2250" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_004b2250"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar3 = (*(code *)PTR_strerror_004b22c4)(*puVar2);" (assignment_expression "uVar3 = (*(code *)PTR_strerror_004b22c4)(*puVar2)" (identifier "uVar3") (= "=") (call_expression "(*(code *)PTR_strerror_004b22c4)(*puVar2)" (parenthesized_expression "(*(code *)PTR_strerror_004b22c4)" (( "(") (pointer_expression "*(code *)PTR_strerror_004b22c4" (* "*") (cast_expression "(code *)PTR_strerror_004b22c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strerror_004b22c4"))) () ")")) (argument_list "(*puVar2)" (( "(") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) () ")")))) (; ";")) (expression_statement "r_fatal(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3);" (call_expression "r_fatal(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3)" (identifier "r_fatal") (argument_list "(uVar6,"node.c",0x431,"more_blocks","freep",iVar8,uVar3)" (( "(") (identifier "uVar6") (, ",") (string_literal ""node.c"" (" """) (string_content "node.c") (" """)) (, ",") (number_literal "0x431") (, ",") (string_literal ""more_blocks"" (" """) (string_content "more_blocks") (" """)) (, ",") (string_literal ""freep"" (" """) (string_content "freep") (" """)) (, ",") (identifier "iVar8") (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "puVar5 = puVar1 + iVar7 * 0x19;" (assignment_expression "puVar5 = puVar1 + iVar7 * 0x19" (identifier "puVar5") (= "=") (binary_expression "puVar1 + iVar7 * 0x19" (identifier "puVar1") (+ "+") (binary_expression "iVar7 * 0x19" (identifier "iVar7") (* "*") (number_literal "0x19")))) (; ";")) (expression_statement "puVar2 = (undefined4 *)((int)puVar1 + iVar7);" (assignment_expression "puVar2 = (undefined4 *)((int)puVar1 + iVar7)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)((int)puVar1 + iVar7)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar1 + iVar7)" (( "(") (binary_expression "(int)puVar1 + iVar7" (cast_expression "(int)puVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar1")) (+ "+") (identifier "iVar7")) () ")")))) (; ";")) (expression_statement "puVar4 = puVar1;" (assignment_expression "puVar4 = puVar1" (identifier "puVar4") (= "=") (identifier "puVar1")) (; ";")) (expression_statement "puVar9 = puVar1;" (assignment_expression "puVar9 = puVar1" (identifier "puVar9") (= "=") (identifier "puVar1")) (; ";")) (if_statement "if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;" (if "if") (parenthesized_expression "(puVar5 <= (undefined4 *)((int)puVar1 + iVar7))" (( "(") (binary_expression "puVar5 <= (undefined4 *)((int)puVar1 + iVar7)" (identifier "puVar5") (<= "<=") (cast_expression "(undefined4 *)((int)puVar1 + iVar7)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar1 + iVar7)" (( "(") (binary_expression "(int)puVar1 + iVar7" (cast_expression "(int)puVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar1")) (+ "+") (identifier "iVar7")) () ")")))) () ")")) (goto_statement "goto LAB_004690fc;" (goto "goto") (statement_identifier "LAB_004690fc") (; ";"))) (} "}")) (else_clause "else {\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }" (else "else") (compound_statement "{\n    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8);\n    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;\nLAB_004690c8:\n    puVar5 = puVar1 + iVar7 * 0x19;\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n    puVar4 = puVar1;\n    puVar9 = puVar1;\n    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;\n  }" ({ "{") (expression_statement "puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8);" (assignment_expression "puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8)" (identifier "puVar1") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_malloc_004b22d4)(iVar8)" (parenthesized_expression "(*(code *)PTR_malloc_004b22d4)" (( "(") (pointer_expression "*(code *)PTR_malloc_004b22d4" (* "*") (cast_expression "(code *)PTR_malloc_004b22d4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_malloc_004b22d4"))) () ")")) (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")"))))) (; ";")) (if_statement "if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;" (if "if") (parenthesized_expression "(puVar1 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar1 == (undefined4 *)0x0" (identifier "puVar1") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00469190;" (goto "goto") (statement_identifier "LAB_00469190") (; ";"))) (labeled_statement "LAB_004690c8:\n    puVar5 = puVar1 + iVar7 * 0x19;" (statement_identifier "LAB_004690c8") (: ":") (expression_statement "puVar5 = puVar1 + iVar7 * 0x19;" (assignment_expression "puVar5 = puVar1 + iVar7 * 0x19" (identifier "puVar5") (= "=") (binary_expression "puVar1 + iVar7 * 0x19" (identifier "puVar1") (+ "+") (binary_expression "iVar7 * 0x19" (identifier "iVar7") (* "*") (number_literal "0x19")))) (; ";"))) (expression_statement "puVar2 = (undefined4 *)((int)puVar1 + iVar7);" (assignment_expression "puVar2 = (undefined4 *)((int)puVar1 + iVar7)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)((int)puVar1 + iVar7)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar1 + iVar7)" (( "(") (binary_expression "(int)puVar1 + iVar7" (cast_expression "(int)puVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar1")) (+ "+") (identifier "iVar7")) () ")")))) (; ";")) (expression_statement "puVar4 = puVar1;" (assignment_expression "puVar4 = puVar1" (identifier "puVar4") (= "=") (identifier "puVar1")) (; ";")) (expression_statement "puVar9 = puVar1;" (assignment_expression "puVar9 = puVar1" (identifier "puVar9") (= "=") (identifier "puVar1")) (; ";")) (if_statement "if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;" (if "if") (parenthesized_expression "(puVar5 <= (undefined4 *)((int)puVar1 + iVar7))" (( "(") (binary_expression "puVar5 <= (undefined4 *)((int)puVar1 + iVar7)" (identifier "puVar5") (<= "<=") (cast_expression "(undefined4 *)((int)puVar1 + iVar7)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar1 + iVar7)" (( "(") (binary_expression "(int)puVar1 + iVar7" (cast_expression "(int)puVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar1")) (+ "+") (identifier "iVar7")) () ")")))) () ")")) (goto_statement "goto LAB_004690fc;" (goto "goto") (statement_identifier "LAB_004690fc") (; ";"))) (} "}")))) (do_statement "do {\n    puVar1 = puVar2;\n    *puVar4 = puVar1;\n    puVar4 = (undefined4 *)((int)puVar4 + iVar7);\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n  } while ((undefined4 *)((int)puVar1 + iVar7) < puVar5);" (do "do") (compound_statement "{\n    puVar1 = puVar2;\n    *puVar4 = puVar1;\n    puVar4 = (undefined4 *)((int)puVar4 + iVar7);\n    puVar2 = (undefined4 *)((int)puVar1 + iVar7);\n  }" ({ "{") (expression_statement "puVar1 = puVar2;" (assignment_expression "puVar1 = puVar2" (identifier "puVar1") (= "=") (identifier "puVar2")) (; ";")) (expression_statement "*puVar4 = puVar1;" (assignment_expression "*puVar4 = puVar1" (pointer_expression "*puVar4" (* "*") (identifier "puVar4")) (= "=") (identifier "puVar1")) (; ";")) (expression_statement "puVar4 = (undefined4 *)((int)puVar4 + iVar7);" (assignment_expression "puVar4 = (undefined4 *)((int)puVar4 + iVar7)" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)((int)puVar4 + iVar7)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar4 + iVar7)" (( "(") (binary_expression "(int)puVar4 + iVar7" (cast_expression "(int)puVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar4")) (+ "+") (identifier "iVar7")) () ")")))) (; ";")) (expression_statement "puVar2 = (undefined4 *)((int)puVar1 + iVar7);" (assignment_expression "puVar2 = (undefined4 *)((int)puVar1 + iVar7)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)((int)puVar1 + iVar7)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar1 + iVar7)" (( "(") (binary_expression "(int)puVar1 + iVar7" (cast_expression "(int)puVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar1")) (+ "+") (identifier "iVar7")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((undefined4 *)((int)puVar1 + iVar7) < puVar5)" (( "(") (binary_expression "(undefined4 *)((int)puVar1 + iVar7) < puVar5" (cast_expression "(undefined4 *)((int)puVar1 + iVar7)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar1 + iVar7)" (( "(") (binary_expression "(int)puVar1 + iVar7" (cast_expression "(int)puVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar1")) (+ "+") (identifier "iVar7")) () ")"))) (< "<") (identifier "puVar5")) () ")")) (; ";")) (labeled_statement "LAB_004690fc:\n  *puVar1 = 0;" (statement_identifier "LAB_004690fc") (: ":") (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (number_literal "0")) (; ";"))) (expression_statement "uVar6 = *puVar9;" (assignment_expression "uVar6 = *puVar9" (identifier "uVar6") (= "=") (pointer_expression "*puVar9" (* "*") (identifier "puVar9"))) (; ";")) (expression_statement "(&DAT_004b190c)[param_1 * 4] = (&DAT_004b190c)[param_1 * 4] + 100;" (assignment_expression "(&DAT_004b190c)[param_1 * 4] = (&DAT_004b190c)[param_1 * 4] + 100" (subscript_expression "(&DAT_004b190c)[param_1 * 4]" (parenthesized_expression "(&DAT_004b190c)" (( "(") (pointer_expression "&DAT_004b190c" (& "&") (identifier "DAT_004b190c")) () ")")) ([ "[") (binary_expression "param_1 * 4" (identifier "param_1") (* "*") (number_literal "4")) (] "]")) (= "=") (binary_expression "(&DAT_004b190c)[param_1 * 4] + 100" (subscript_expression "(&DAT_004b190c)[param_1 * 4]" (parenthesized_expression "(&DAT_004b190c)" (( "(") (pointer_expression "&DAT_004b190c" (& "&") (identifier "DAT_004b190c")) () ")")) ([ "[") (binary_expression "param_1 * 4" (identifier "param_1") (* "*") (number_literal "4")) (] "]")) (+ "+") (number_literal "100"))) (; ";")) (expression_statement "(&nextfree)[param_1 * 4] = uVar6;" (assignment_expression "(&nextfree)[param_1 * 4] = uVar6" (subscript_expression "(&nextfree)[param_1 * 4]" (parenthesized_expression "(&nextfree)" (( "(") (pointer_expression "&nextfree" (& "&") (identifier "nextfree")) () ")")) ([ "[") (binary_expression "param_1 * 4" (identifier "param_1") (* "*") (number_literal "4")) (] "]")) (= "=") (identifier "uVar6")) (; ";")) (return_statement "return puVar9;" (return "return") (identifier "puVar9") (; ";")) (} "}")))

/* WARNING: Unknown calling convention */

void * function_1(int var_1)

{
  type_1 *var_6;
  char *mesg;
  type_1 *puVar2;
  type_1 *puVar3;
  type_1 *var_7;
  type_1 uVar5;
  int var_2;
  int var_3;
  type_1 *puVar8;
  
  var_2 = *(int *)(&DAT_004b1904 + var_1 * 0x10);
  var_3 = var_2 * 100;
  if (var_3 == 0) {
    var_4("awk.h",0x7c5);
    var_5("%s:%d: emalloc called with zero bytes","node.c",0x431);
    var_6 = (type_1 *)(*(type_2 *)PTR_malloc_004b22d4)(0);
    if (var_6 != (type_1 *)0x0) goto LAB_004690c8;
LAB_00469190:
    var_4("awk.h",0x7c9);
    mesg = (char *)(*(type_2 *)PTR_dcgettext_004b235c)
                             (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);
    puVar2 = (type_1 *)(*(type_2 *)PTR___errno_location_004b2250)();
    uVar5 = (*(type_2 *)PTR_strerror_004b22c4)(*puVar2);
    var_5(mesg,"node.c",0x431,"more_blocks","freep",var_3,uVar5);
    var_7 = var_6 + var_2 * 0x19;
    puVar2 = (type_1 *)((int)var_6 + var_2);
    puVar3 = var_6;
    puVar8 = var_6;
    if (var_7 <= (type_1 *)((int)var_6 + var_2)) goto LAB_004690fc;
  }
  else {
    var_6 = (type_1 *)(*(type_2 *)PTR_malloc_004b22d4)(var_3);
    if (var_6 == (type_1 *)0x0) goto LAB_00469190;
LAB_004690c8:
    var_7 = var_6 + var_2 * 0x19;
    puVar2 = (type_1 *)((int)var_6 + var_2);
    puVar3 = var_6;
    puVar8 = var_6;
    if (var_7 <= (type_1 *)((int)var_6 + var_2)) goto LAB_004690fc;
  }
  do {
    var_6 = puVar2;
    *puVar3 = var_6;
    puVar3 = (type_1 *)((int)puVar3 + var_2);
    puVar2 = (type_1 *)((int)var_6 + var_2);
  } while ((type_1 *)((int)var_6 + var_2) < var_7);
LAB_004690fc:
  *var_6 = 0;
  uVar5 = *puVar8;
  (&DAT_004b190c)[var_1 * 4] = (&DAT_004b190c)[var_1 * 4] + 100;
  (&nextfree)[var_1 * 4] = uVar5;
  return puVar8;
}


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

undefined4 * MASKED(int param_1)

{
  undefined4 *puVar1;
  undefined4 *puVar2;
  undefined4 uVar3;
  undefined4 *puVar4;
  undefined4 *puVar5;
  undefined4 uVar6;
  int iVar7;
  int iVar8;
  undefined4 *puVar9;
  
  iVar7 = *(int *)(&DAT_004b1904 + param_1 * 0x10);
  iVar8 = iVar7 * 100;
  if (iVar8 == 0) {
    set_loc("awk.h",0x7c5);
    r_fatal("%s:%d: emalloc called with zero bytes","node.c",0x431);
    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(0);
    if (puVar1 != (undefined4 *)0x0) goto LAB_004690c8;
LAB_00469190:
    set_loc("awk.h",0x7c9);
    uVar6 = (*(code *)PTR_dcgettext_004b235c)
                      (0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);
    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_004b2250)();
    uVar3 = (*(code *)PTR_strerror_004b22c4)(*puVar2);
    r_fatal(uVar6,"node.c",0x431,"MASKED","freep",iVar8,uVar3);
    puVar5 = puVar1 + iVar7 * 0x19;
    puVar2 = (undefined4 *)((int)puVar1 + iVar7);
    puVar4 = puVar1;
    puVar9 = puVar1;
    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;
  }
  else {
    puVar1 = (undefined4 *)(*(code *)PTR_malloc_004b22d4)(iVar8);
    if (puVar1 == (undefined4 *)0x0) goto LAB_00469190;
LAB_004690c8:
    puVar5 = puVar1 + iVar7 * 0x19;
    puVar2 = (undefined4 *)((int)puVar1 + iVar7);
    puVar4 = puVar1;
    puVar9 = puVar1;
    if (puVar5 <= (undefined4 *)((int)puVar1 + iVar7)) goto LAB_004690fc;
  }
  do {
    puVar1 = puVar2;
    *puVar4 = puVar1;
    puVar4 = (undefined4 *)((int)puVar4 + iVar7);
    puVar2 = (undefined4 *)((int)puVar1 + iVar7);
  } while ((undefined4 *)((int)puVar1 + iVar7) < puVar5);
LAB_004690fc:
  *puVar1 = 0;
  uVar6 = *puVar9;
  (&DAT_004b190c)[param_1 * 4] = (&DAT_004b190c)[param_1 * 4] + 100;
  (&nextfree)[param_1 * 4] = uVar6;
  return puVar9;
}

