
int vbprintf(char *format,...)

{
  undefined1 uVar1;
  undefined *puVar2;
  undefined *puVar3;
  int iVar4;
  void *pvVar5;
  uint uVar6;
  undefined1 *puVar7;
  undefined4 in_a1;
  int iVar8;
  int iVar9;
  undefined4 in_a2;
  undefined4 in_a3;
  int iVar10;
  undefined *puVar11;
  undefined4 local_res4;
  undefined4 local_res8;
  undefined4 local_resc;
  va_list args;
  
  puVar3 = PTR___stack_chk_guard_001464dc;
  puVar11 = PTR___environ_00145154;
  puVar7 = *(undefined1 **)PTR___stack_chk_guard_001464dc;
  local_res4 = in_a1;
  local_res8 = in_a2;
  local_resc = in_a3;
  iVar4 = (*(code *)PTR___vsnprintf_chk_0014630c)
                    (*(int *)(PTR___environ_00145154 + -0x66e4) +
                     *(int *)(PTR___environ_00145154 + -0x66f0),
                     *(int *)(PTR___environ_00145154 + -0x66ec) -
                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,format,&local_res4);
  iVar8 = iVar4 + *(int *)(puVar11 + -0x66f0);
  if (*(uint *)(puVar11 + -0x66ec) <= iVar8 + 1U) {
    uVar6 = iVar8 + 0x40U & 0xffffffc0;
    *(uint *)(puVar11 + -0x66ec) = uVar6;
    pvVar5 = xrealloc(*(void **)(puVar11 + -0x66e4),uVar6);
    puVar2 = PTR___vsnprintf_chk_0014630c;
    *(void **)(puVar11 + -0x66e4) = pvVar5;
    iVar4 = (*(code *)puVar2)((int)pvVar5 + *(int *)(puVar11 + -0x66f0),
                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff
                              ,format,&local_res4);
    iVar8 = iVar4 + *(int *)(puVar11 + -0x66f0);
  }
  *(int *)(puVar11 + -0x66f0) = iVar8;
  *(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar8) = 0;
  if (puVar7 == *(undefined1 **)puVar3) {
    return iVar4;
  }
  puVar11 = PTR___stack_chk_fail_00146488;
  (*(code *)PTR___stack_chk_fail_00146488)();
  iVar8 = *(int *)(puVar11 + 0x7bf9c);
  iVar4 = *(int *)(iVar8 + -0x66f0);
  iVar10 = *(int *)(puVar11 + 0x7bf9c);
  pvVar5 = *(void **)(iVar10 + -0x66e4);
  if (iVar4 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)) {
    uVar1 = *puVar7;
    *(int *)(iVar8 + -0x66f0) = iVar4 + 1;
    *(undefined1 *)((int)pvVar5 + iVar4) = uVar1;
    *(undefined1 *)((int)pvVar5 + iVar4 + 1) = 0;
    return (int)pvVar5;
  }
  uVar6 = iVar4 + 0x41U & 0xffffffc0;
  *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec) = uVar6;
  pvVar5 = xrealloc(pvVar5,uVar6);
  iVar9 = *(int *)(iVar8 + -0x66f0);
  uVar1 = *puVar7;
  *(void **)(iVar10 + -0x66e4) = pvVar5;
  iVar4 = iVar9 + 1;
  *(int *)(iVar8 + -0x66f0) = iVar4;
  *(undefined1 *)((int)pvVar5 + iVar9) = uVar1;
  *(undefined1 *)((int)pvVar5 + iVar4) = 0;
  return (int)pvVar5;
}



void FUN_000c9060(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)

{
  undefined1 uVar1;
  undefined *puVar2;
  undefined *puVar3;
  int iVar4;
  uint uVar5;
  undefined1 *puVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  undefined *puVar11;
  undefined4 local_res4;
  undefined4 local_res8;
  undefined4 local_resc;
  
  puVar3 = PTR___stack_chk_guard_001464dc;
  puVar11 = PTR___environ_00145154;
  puVar6 = *(undefined1 **)PTR___stack_chk_guard_001464dc;
  local_res4 = param_2;
  local_res8 = param_3;
  local_resc = param_4;
  iVar4 = (*(code *)PTR___vsnprintf_chk_0014630c)
                    (*(int *)(PTR___environ_00145154 + -0x66e4) +
                     *(int *)(PTR___environ_00145154 + -0x66f0),
                     *(int *)(PTR___environ_00145154 + -0x66ec) -
                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,param_1,&local_res4);
  iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);
  if (*(uint *)(puVar11 + -0x66ec) <= iVar4 + 1U) {
    uVar5 = iVar4 + 0x40U & 0xffffffc0;
    *(uint *)(puVar11 + -0x66ec) = uVar5;
    iVar4 = xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5);
    puVar2 = PTR___vsnprintf_chk_0014630c;
    *(int *)(puVar11 + -0x66e4) = iVar4;
    iVar4 = (*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),
                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff
                              ,param_1,&local_res4);
    iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);
  }
  *(int *)(puVar11 + -0x66f0) = iVar4;
  *(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar4) = 0;
  if (puVar6 == *(undefined1 **)puVar3) {
    return;
  }
  puVar11 = PTR___stack_chk_fail_00146488;
  (*(code *)PTR___stack_chk_fail_00146488)();
  iVar9 = *(int *)(puVar11 + 0x7bf9c);
  iVar7 = *(int *)(iVar9 + -0x66f0);
  iVar10 = *(int *)(puVar11 + 0x7bf9c);
  iVar4 = *(int *)(iVar10 + -0x66e4);
  if (iVar7 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)) {
    uVar1 = *puVar6;
    *(int *)(iVar9 + -0x66f0) = iVar7 + 1;
    *(undefined1 *)(iVar4 + iVar7) = uVar1;
    *(undefined1 *)(iVar4 + iVar7 + 1) = 0;
    return;
  }
  uVar5 = iVar7 + 0x41U & 0xffffffc0;
  *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec) = uVar5;
  iVar4 = xrealloc(iVar4,uVar5);
  iVar8 = *(int *)(iVar9 + -0x66f0);
  uVar1 = *puVar6;
  *(int *)(iVar10 + -0x66e4) = iVar4;
  iVar7 = iVar8 + 1;
  *(int *)(iVar9 + -0x66f0) = iVar7;
  *(undefined1 *)(iVar4 + iVar8) = uVar1;
  *(undefined1 *)(iVar4 + iVar7) = 0;
  return;
}


lui gp,0x8
addiu gp,gp,0x34e0
addu gp,gp,t9
addiu sp,sp,-0x48
lw t9,-0x6234(gp)
sw s4,0x3c(sp)
sw s2,0x34(sp)
sw s0,0x2c(sp)
sw s5,0x40(sp)
sw s1,0x30(sp)
or s1,a0,zero
lw s0,-0x73ec(gp)
lw s4,-0x73ec(gp)
lw s2,-0x73ec(gp)
lw s5,-0x6064(gp)
lw v0,-0x66f0(s0)
lw t0,-0x66ec(s4)
lw a0,-0x66e4(s2)
lw v1,0x0(s5)
sw s3,0x38(sp)
addiu s3,sp,0x4c
sw a1,0x4c(sp)
addu a0,a0,v0
sw a2,0x50(sp)
subu a1,t0,v0
sw a3,0x54(sp)
li a2,0x1
li a3,-0x1
sw gp,0x18(sp)
sw v1,0x24(sp)
sw ra,0x44(sp)
sw s3,0x20(sp)
sw s3,0x14(sp)
jalr t9
_sw s1,0x10(sp)
lw a1,-0x66f0(s0)
lw v1,-0x66ec(s4)
addu a1,v0,a1
addiu a0,a1,0x1
sltu v1,a0,v1
beq v1,zero,0x000c9148
_lw gp,0x18(sp)
lw v1,-0x66e4(s2)
lw a0,0x24(sp)
sw a1,-0x66f0(s0)
addu a1,v1,a1
sb zero,0x0(a1)
lw v1,0x0(s5)
bne a0,v1,0x000c91ac
_lw ra,0x44(sp)
lw s5,0x40(sp)
lw s4,0x3c(sp)
lw s3,0x38(sp)
lw s2,0x34(sp)
lw s1,0x30(sp)
lw s0,0x2c(sp)
jr ra
_addiu sp,sp,0x48
addiu a1,a1,0x40
lw t9,-0x7e04(gp)
li v0,-0x40
lw a0,-0x66e4(s2)
and v0,a1,v0
or a1,v0,zero
bal 0x000ad32c
_sw v0,-0x66ec(s4)
li a3,-0x1
lw gp,0x18(sp)
li a2,0x1
lw v1,-0x66f0(s0)
lw a1,-0x66ec(s4)
sw s3,0x20(sp)
sw s3,0x14(sp)
addu a0,v0,v1
sw s1,0x10(sp)
subu a1,a1,v1
lw t9,-0x6234(gp)
jalr t9
_sw v0,-0x66e4(s2)
lw a1,-0x66f0(s0)
lw gp,0x18(sp)
b 0x000c9108
_addu a1,v0,a1
lw t9,-0x60b8(gp)
jalr t9
_nop
(translation_unit "void FUN_000c9060(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined1 uVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  uint uVar5;\n  undefined1 *puVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  undefined *puVar11;\n  undefined4 local_res4;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  \n  puVar3 = PTR___stack_chk_guard_001464dc;\n  puVar11 = PTR___environ_00145154;\n  puVar6 = *(undefined1 **)PTR___stack_chk_guard_001464dc;\n  local_res4 = param_2;\n  local_res8 = param_3;\n  local_resc = param_4;\n  iVar4 = (*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,param_1,&local_res4);\n  iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  if (*(uint *)(puVar11 + -0x66ec) <= iVar4 + 1U) {\n    uVar5 = iVar4 + 0x40U & 0xffffffc0;\n    *(uint *)(puVar11 + -0x66ec) = uVar5;\n    iVar4 = xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5);\n    puVar2 = PTR___vsnprintf_chk_0014630c;\n    *(int *)(puVar11 + -0x66e4) = iVar4;\n    iVar4 = (*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4);\n    iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  }\n  *(int *)(puVar11 + -0x66f0) = iVar4;\n  *(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar4) = 0;\n  if (puVar6 == *(undefined1 **)puVar3) {\n    return;\n  }\n  puVar11 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  iVar9 = *(int *)(puVar11 + 0x7bf9c);\n  iVar7 = *(int *)(iVar9 + -0x66f0);\n  iVar10 = *(int *)(puVar11 + 0x7bf9c);\n  iVar4 = *(int *)(iVar10 + -0x66e4);\n  if (iVar7 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)) {\n    uVar1 = *puVar6;\n    *(int *)(iVar9 + -0x66f0) = iVar7 + 1;\n    *(undefined1 *)(iVar4 + iVar7) = uVar1;\n    *(undefined1 *)(iVar4 + iVar7 + 1) = 0;\n    return;\n  }\n  uVar5 = iVar7 + 0x41U & 0xffffffc0;\n  *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec) = uVar5;\n  iVar4 = xrealloc(iVar4,uVar5);\n  iVar8 = *(int *)(iVar9 + -0x66f0);\n  uVar1 = *puVar6;\n  *(int *)(iVar10 + -0x66e4) = iVar4;\n  iVar7 = iVar8 + 1;\n  *(int *)(iVar9 + -0x66f0) = iVar7;\n  *(undefined1 *)(iVar4 + iVar8) = uVar1;\n  *(undefined1 *)(iVar4 + iVar7) = 0;\n  return;\n}\n\n" (function_definition "void FUN_000c9060(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined1 uVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  uint uVar5;\n  undefined1 *puVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  undefined *puVar11;\n  undefined4 local_res4;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  \n  puVar3 = PTR___stack_chk_guard_001464dc;\n  puVar11 = PTR___environ_00145154;\n  puVar6 = *(undefined1 **)PTR___stack_chk_guard_001464dc;\n  local_res4 = param_2;\n  local_res8 = param_3;\n  local_resc = param_4;\n  iVar4 = (*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,param_1,&local_res4);\n  iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  if (*(uint *)(puVar11 + -0x66ec) <= iVar4 + 1U) {\n    uVar5 = iVar4 + 0x40U & 0xffffffc0;\n    *(uint *)(puVar11 + -0x66ec) = uVar5;\n    iVar4 = xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5);\n    puVar2 = PTR___vsnprintf_chk_0014630c;\n    *(int *)(puVar11 + -0x66e4) = iVar4;\n    iVar4 = (*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4);\n    iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  }\n  *(int *)(puVar11 + -0x66f0) = iVar4;\n  *(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar4) = 0;\n  if (puVar6 == *(undefined1 **)puVar3) {\n    return;\n  }\n  puVar11 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  iVar9 = *(int *)(puVar11 + 0x7bf9c);\n  iVar7 = *(int *)(iVar9 + -0x66f0);\n  iVar10 = *(int *)(puVar11 + 0x7bf9c);\n  iVar4 = *(int *)(iVar10 + -0x66e4);\n  if (iVar7 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)) {\n    uVar1 = *puVar6;\n    *(int *)(iVar9 + -0x66f0) = iVar7 + 1;\n    *(undefined1 *)(iVar4 + iVar7) = uVar1;\n    *(undefined1 *)(iVar4 + iVar7 + 1) = 0;\n    return;\n  }\n  uVar5 = iVar7 + 0x41U & 0xffffffc0;\n  *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec) = uVar5;\n  iVar4 = xrealloc(iVar4,uVar5);\n  iVar8 = *(int *)(iVar9 + -0x66f0);\n  uVar1 = *puVar6;\n  *(int *)(iVar10 + -0x66e4) = iVar4;\n  iVar7 = iVar8 + 1;\n  *(int *)(iVar9 + -0x66f0) = iVar7;\n  *(undefined1 *)(iVar4 + iVar8) = uVar1;\n  *(undefined1 *)(iVar4 + iVar7) = 0;\n  return;\n}" primitive_type (function_declarator "FUN_000c9060(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) (compound_statement "{\n  undefined1 uVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  uint uVar5;\n  undefined1 *puVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  undefined *puVar11;\n  undefined4 local_res4;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  \n  puVar3 = PTR___stack_chk_guard_001464dc;\n  puVar11 = PTR___environ_00145154;\n  puVar6 = *(undefined1 **)PTR___stack_chk_guard_001464dc;\n  local_res4 = param_2;\n  local_res8 = param_3;\n  local_resc = param_4;\n  iVar4 = (*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,param_1,&local_res4);\n  iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  if (*(uint *)(puVar11 + -0x66ec) <= iVar4 + 1U) {\n    uVar5 = iVar4 + 0x40U & 0xffffffc0;\n    *(uint *)(puVar11 + -0x66ec) = uVar5;\n    iVar4 = xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5);\n    puVar2 = PTR___vsnprintf_chk_0014630c;\n    *(int *)(puVar11 + -0x66e4) = iVar4;\n    iVar4 = (*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4);\n    iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  }\n  *(int *)(puVar11 + -0x66f0) = iVar4;\n  *(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar4) = 0;\n  if (puVar6 == *(undefined1 **)puVar3) {\n    return;\n  }\n  puVar11 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  iVar9 = *(int *)(puVar11 + 0x7bf9c);\n  iVar7 = *(int *)(iVar9 + -0x66f0);\n  iVar10 = *(int *)(puVar11 + 0x7bf9c);\n  iVar4 = *(int *)(iVar10 + -0x66e4);\n  if (iVar7 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)) {\n    uVar1 = *puVar6;\n    *(int *)(iVar9 + -0x66f0) = iVar7 + 1;\n    *(undefined1 *)(iVar4 + iVar7) = uVar1;\n    *(undefined1 *)(iVar4 + iVar7 + 1) = 0;\n    return;\n  }\n  uVar5 = iVar7 + 0x41U & 0xffffffc0;\n  *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec) = uVar5;\n  iVar4 = xrealloc(iVar4,uVar5);\n  iVar8 = *(int *)(iVar9 + -0x66f0);\n  uVar1 = *puVar6;\n  *(int *)(iVar10 + -0x66e4) = iVar4;\n  iVar7 = iVar8 + 1;\n  *(int *)(iVar9 + -0x66f0) = iVar7;\n  *(undefined1 *)(iVar4 + iVar8) = uVar1;\n  *(undefined1 *)(iVar4 + iVar7) = 0;\n  return;\n}" { (declaration "undefined1 uVar1;" type_identifier identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined1 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 local_res4;" type_identifier identifier ;) (declaration "undefined4 local_res8;" type_identifier identifier ;) (declaration "undefined4 local_resc;" type_identifier identifier ;) (expression_statement "puVar3 = PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar3 = PTR___stack_chk_guard_001464dc" identifier = identifier) ;) (expression_statement "puVar11 = PTR___environ_00145154;" (assignment_expression "puVar11 = PTR___environ_00145154" identifier = identifier) ;) (expression_statement "puVar6 = *(undefined1 **)PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar6 = *(undefined1 **)PTR___stack_chk_guard_001464dc" identifier = (pointer_expression "*(undefined1 **)PTR___stack_chk_guard_001464dc" * (cast_expression "(undefined1 **)PTR___stack_chk_guard_001464dc" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "local_res4 = param_2;" (assignment_expression "local_res4 = param_2" identifier = identifier) ;) (expression_statement "local_res8 = param_3;" (assignment_expression "local_res8 = param_3" identifier = identifier) ;) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,param_1,&local_res4);" (assignment_expression "iVar4 = (*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,param_1,&local_res4)" identifier = (call_expression "(*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,param_1,&local_res4)" (parenthesized_expression "(*(code *)PTR___vsnprintf_chk_0014630c)" ( (pointer_expression "*(code *)PTR___vsnprintf_chk_0014630c" * (cast_expression "(code *)PTR___vsnprintf_chk_0014630c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,param_1,&local_res4)" ( (binary_expression "*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0)" (pointer_expression "*(int *)(PTR___environ_00145154 + -0x66e4)" * (cast_expression "(int *)(PTR___environ_00145154 + -0x66e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x66e4)" ( (binary_expression "PTR___environ_00145154 + -0x66e4" identifier + number_literal) )))) + (pointer_expression "*(int *)(PTR___environ_00145154 + -0x66f0)" * (cast_expression "(int *)(PTR___environ_00145154 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x66f0)" ( (binary_expression "PTR___environ_00145154 + -0x66f0" identifier + number_literal) ))))) , (binary_expression "*(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0)" (pointer_expression "*(int *)(PTR___environ_00145154 + -0x66ec)" * (cast_expression "(int *)(PTR___environ_00145154 + -0x66ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x66ec)" ( (binary_expression "PTR___environ_00145154 + -0x66ec" identifier + number_literal) )))) - (pointer_expression "*(int *)(PTR___environ_00145154 + -0x66f0)" * (cast_expression "(int *)(PTR___environ_00145154 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x66f0)" ( (binary_expression "PTR___environ_00145154 + -0x66f0" identifier + number_literal) ))))) , number_literal , number_literal , identifier , (pointer_expression "&local_res4" & identifier) )))) ;) (expression_statement "iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);" (assignment_expression "iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0)" identifier = (binary_expression "iVar4 + *(int *)(puVar11 + -0x66f0)" identifier + (pointer_expression "*(int *)(puVar11 + -0x66f0)" * (cast_expression "(int *)(puVar11 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66f0)" ( (binary_expression "puVar11 + -0x66f0" identifier + number_literal) )))))) ;) (if_statement "if (*(uint *)(puVar11 + -0x66ec) <= iVar4 + 1U) {\n    uVar5 = iVar4 + 0x40U & 0xffffffc0;\n    *(uint *)(puVar11 + -0x66ec) = uVar5;\n    iVar4 = xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5);\n    puVar2 = PTR___vsnprintf_chk_0014630c;\n    *(int *)(puVar11 + -0x66e4) = iVar4;\n    iVar4 = (*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4);\n    iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  }" if (parenthesized_expression "(*(uint *)(puVar11 + -0x66ec) <= iVar4 + 1U)" ( (binary_expression "*(uint *)(puVar11 + -0x66ec) <= iVar4 + 1U" (pointer_expression "*(uint *)(puVar11 + -0x66ec)" * (cast_expression "(uint *)(puVar11 + -0x66ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66ec)" ( (binary_expression "puVar11 + -0x66ec" identifier + number_literal) )))) <= (binary_expression "iVar4 + 1U" identifier + number_literal)) )) (compound_statement "{\n    uVar5 = iVar4 + 0x40U & 0xffffffc0;\n    *(uint *)(puVar11 + -0x66ec) = uVar5;\n    iVar4 = xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5);\n    puVar2 = PTR___vsnprintf_chk_0014630c;\n    *(int *)(puVar11 + -0x66e4) = iVar4;\n    iVar4 = (*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4);\n    iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  }" { (expression_statement "uVar5 = iVar4 + 0x40U & 0xffffffc0;" (assignment_expression "uVar5 = iVar4 + 0x40U & 0xffffffc0" identifier = (binary_expression "iVar4 + 0x40U & 0xffffffc0" (binary_expression "iVar4 + 0x40U" identifier + number_literal) & number_literal)) ;) (expression_statement "*(uint *)(puVar11 + -0x66ec) = uVar5;" (assignment_expression "*(uint *)(puVar11 + -0x66ec) = uVar5" (pointer_expression "*(uint *)(puVar11 + -0x66ec)" * (cast_expression "(uint *)(puVar11 + -0x66ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66ec)" ( (binary_expression "puVar11 + -0x66ec" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar4 = xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5);" (assignment_expression "iVar4 = xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5)" identifier = (call_expression "xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5)" identifier (argument_list "(*(undefined4 *)(puVar11 + -0x66e4),uVar5)" ( (pointer_expression "*(undefined4 *)(puVar11 + -0x66e4)" * (cast_expression "(undefined4 *)(puVar11 + -0x66e4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66e4)" ( (binary_expression "puVar11 + -0x66e4" identifier + number_literal) )))) , identifier )))) ;) (expression_statement "puVar2 = PTR___vsnprintf_chk_0014630c;" (assignment_expression "puVar2 = PTR___vsnprintf_chk_0014630c" identifier = identifier) ;) (expression_statement "*(int *)(puVar11 + -0x66e4) = iVar4;" (assignment_expression "*(int *)(puVar11 + -0x66e4) = iVar4" (pointer_expression "*(int *)(puVar11 + -0x66e4)" * (cast_expression "(int *)(puVar11 + -0x66e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66e4)" ( (binary_expression "puVar11 + -0x66e4" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar4 = (*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4);" (assignment_expression "iVar4 = (*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4)" identifier = (call_expression "(*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4)" ( (binary_expression "iVar4 + *(int *)(puVar11 + -0x66f0)" identifier + (pointer_expression "*(int *)(puVar11 + -0x66f0)" * (cast_expression "(int *)(puVar11 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66f0)" ( (binary_expression "puVar11 + -0x66f0" identifier + number_literal) ))))) , (binary_expression "*(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0)" (pointer_expression "*(int *)(puVar11 + -0x66ec)" * (cast_expression "(int *)(puVar11 + -0x66ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66ec)" ( (binary_expression "puVar11 + -0x66ec" identifier + number_literal) )))) - (pointer_expression "*(int *)(puVar11 + -0x66f0)" * (cast_expression "(int *)(puVar11 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66f0)" ( (binary_expression "puVar11 + -0x66f0" identifier + number_literal) ))))) , number_literal , number_literal , identifier , (pointer_expression "&local_res4" & identifier) )))) ;) (expression_statement "iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);" (assignment_expression "iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0)" identifier = (binary_expression "iVar4 + *(int *)(puVar11 + -0x66f0)" identifier + (pointer_expression "*(int *)(puVar11 + -0x66f0)" * (cast_expression "(int *)(puVar11 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66f0)" ( (binary_expression "puVar11 + -0x66f0" identifier + number_literal) )))))) ;) })) (expression_statement "*(int *)(puVar11 + -0x66f0) = iVar4;" (assignment_expression "*(int *)(puVar11 + -0x66f0) = iVar4" (pointer_expression "*(int *)(puVar11 + -0x66f0)" * (cast_expression "(int *)(puVar11 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66f0)" ( (binary_expression "puVar11 + -0x66f0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar4) = 0;" (assignment_expression "*(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar4) = 0" (pointer_expression "*(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar4)" * (cast_expression "(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + -0x66e4) + iVar4)" ( (binary_expression "*(int *)(puVar11 + -0x66e4) + iVar4" (pointer_expression "*(int *)(puVar11 + -0x66e4)" * (cast_expression "(int *)(puVar11 + -0x66e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66e4)" ( (binary_expression "puVar11 + -0x66e4" identifier + number_literal) )))) + identifier) )))) = number_literal) ;) (if_statement "if (puVar6 == *(undefined1 **)puVar3) {\n    return;\n  }" if (parenthesized_expression "(puVar6 == *(undefined1 **)puVar3)" ( (binary_expression "puVar6 == *(undefined1 **)puVar3" identifier == (pointer_expression "*(undefined1 **)puVar3" * (cast_expression "(undefined1 **)puVar3" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "puVar11 = PTR___stack_chk_fail_00146488;" (assignment_expression "puVar11 = PTR___stack_chk_fail_00146488" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00146488)();" (call_expression "(*(code *)PTR___stack_chk_fail_00146488)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00146488)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00146488" * (cast_expression "(code *)PTR___stack_chk_fail_00146488" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar9 = *(int *)(puVar11 + 0x7bf9c);" (assignment_expression "iVar9 = *(int *)(puVar11 + 0x7bf9c)" identifier = (pointer_expression "*(int *)(puVar11 + 0x7bf9c)" * (cast_expression "(int *)(puVar11 + 0x7bf9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x7bf9c)" ( (binary_expression "puVar11 + 0x7bf9c" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(iVar9 + -0x66f0);" (assignment_expression "iVar7 = *(int *)(iVar9 + -0x66f0)" identifier = (pointer_expression "*(int *)(iVar9 + -0x66f0)" * (cast_expression "(int *)(iVar9 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x66f0)" ( (binary_expression "iVar9 + -0x66f0" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(puVar11 + 0x7bf9c);" (assignment_expression "iVar10 = *(int *)(puVar11 + 0x7bf9c)" identifier = (pointer_expression "*(int *)(puVar11 + 0x7bf9c)" * (cast_expression "(int *)(puVar11 + 0x7bf9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x7bf9c)" ( (binary_expression "puVar11 + 0x7bf9c" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(iVar10 + -0x66e4);" (assignment_expression "iVar4 = *(int *)(iVar10 + -0x66e4)" identifier = (pointer_expression "*(int *)(iVar10 + -0x66e4)" * (cast_expression "(int *)(iVar10 + -0x66e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x66e4)" ( (binary_expression "iVar10 + -0x66e4" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)) {\n    uVar1 = *puVar6;\n    *(int *)(iVar9 + -0x66f0) = iVar7 + 1;\n    *(undefined1 *)(iVar4 + iVar7) = uVar1;\n    *(undefined1 *)(iVar4 + iVar7 + 1) = 0;\n    return;\n  }" if (parenthesized_expression "(iVar7 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec))" ( (binary_expression "iVar7 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" (binary_expression "iVar7 + 2U" identifier + number_literal) < (pointer_expression "*(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" * (cast_expression "(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" ( (binary_expression "*(int *)(puVar11 + 0x7bf9c) + -0x66ec" (pointer_expression "*(int *)(puVar11 + 0x7bf9c)" * (cast_expression "(int *)(puVar11 + 0x7bf9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x7bf9c)" ( (binary_expression "puVar11 + 0x7bf9c" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n    uVar1 = *puVar6;\n    *(int *)(iVar9 + -0x66f0) = iVar7 + 1;\n    *(undefined1 *)(iVar4 + iVar7) = uVar1;\n    *(undefined1 *)(iVar4 + iVar7 + 1) = 0;\n    return;\n  }" { (expression_statement "uVar1 = *puVar6;" (assignment_expression "uVar1 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "*(int *)(iVar9 + -0x66f0) = iVar7 + 1;" (assignment_expression "*(int *)(iVar9 + -0x66f0) = iVar7 + 1" (pointer_expression "*(int *)(iVar9 + -0x66f0)" * (cast_expression "(int *)(iVar9 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x66f0)" ( (binary_expression "iVar9 + -0x66f0" identifier + number_literal) )))) = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)(iVar4 + iVar7) = uVar1;" (assignment_expression "*(undefined1 *)(iVar4 + iVar7) = uVar1" (pointer_expression "*(undefined1 *)(iVar4 + iVar7)" * (cast_expression "(undefined1 *)(iVar4 + iVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar7)" ( (binary_expression "iVar4 + iVar7" identifier + identifier) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar4 + iVar7 + 1) = 0;" (assignment_expression "*(undefined1 *)(iVar4 + iVar7 + 1) = 0" (pointer_expression "*(undefined1 *)(iVar4 + iVar7 + 1)" * (cast_expression "(undefined1 *)(iVar4 + iVar7 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar7 + 1)" ( (binary_expression "iVar4 + iVar7 + 1" (binary_expression "iVar4 + iVar7" identifier + identifier) + number_literal) )))) = number_literal) ;) (return_statement "return;" return ;) })) (expression_statement "uVar5 = iVar7 + 0x41U & 0xffffffc0;" (assignment_expression "uVar5 = iVar7 + 0x41U & 0xffffffc0" identifier = (binary_expression "iVar7 + 0x41U & 0xffffffc0" (binary_expression "iVar7 + 0x41U" identifier + number_literal) & number_literal)) ;) (expression_statement "*(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec) = uVar5;" (assignment_expression "*(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec) = uVar5" (pointer_expression "*(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" * (cast_expression "(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" ( (binary_expression "*(int *)(puVar11 + 0x7bf9c) + -0x66ec" (pointer_expression "*(int *)(puVar11 + 0x7bf9c)" * (cast_expression "(int *)(puVar11 + 0x7bf9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x7bf9c)" ( (binary_expression "puVar11 + 0x7bf9c" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "iVar4 = xrealloc(iVar4,uVar5);" (assignment_expression "iVar4 = xrealloc(iVar4,uVar5)" identifier = (call_expression "xrealloc(iVar4,uVar5)" identifier (argument_list "(iVar4,uVar5)" ( identifier , identifier )))) ;) (expression_statement "iVar8 = *(int *)(iVar9 + -0x66f0);" (assignment_expression "iVar8 = *(int *)(iVar9 + -0x66f0)" identifier = (pointer_expression "*(int *)(iVar9 + -0x66f0)" * (cast_expression "(int *)(iVar9 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x66f0)" ( (binary_expression "iVar9 + -0x66f0" identifier + number_literal) ))))) ;) (expression_statement "uVar1 = *puVar6;" (assignment_expression "uVar1 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "*(int *)(iVar10 + -0x66e4) = iVar4;" (assignment_expression "*(int *)(iVar10 + -0x66e4) = iVar4" (pointer_expression "*(int *)(iVar10 + -0x66e4)" * (cast_expression "(int *)(iVar10 + -0x66e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x66e4)" ( (binary_expression "iVar10 + -0x66e4" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar7 = iVar8 + 1;" (assignment_expression "iVar7 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar9 + -0x66f0) = iVar7;" (assignment_expression "*(int *)(iVar9 + -0x66f0) = iVar7" (pointer_expression "*(int *)(iVar9 + -0x66f0)" * (cast_expression "(int *)(iVar9 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x66f0)" ( (binary_expression "iVar9 + -0x66f0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar4 + iVar8) = uVar1;" (assignment_expression "*(undefined1 *)(iVar4 + iVar8) = uVar1" (pointer_expression "*(undefined1 *)(iVar4 + iVar8)" * (cast_expression "(undefined1 *)(iVar4 + iVar8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar8)" ( (binary_expression "iVar4 + iVar8" identifier + identifier) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar4 + iVar7) = 0;" (assignment_expression "*(undefined1 *)(iVar4 + iVar7) = 0" (pointer_expression "*(undefined1 *)(iVar4 + iVar7)" * (cast_expression "(undefined1 *)(iVar4 + iVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar7)" ( (binary_expression "iVar4 + iVar7" identifier + identifier) )))) = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit "int vbprintf(char *format,...)\n\n{\n  undefined1 uVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  void *pvVar5;\n  uint uVar6;\n  undefined1 *puVar7;\n  undefined4 in_a1;\n  int iVar8;\n  int iVar9;\n  undefined4 in_a2;\n  undefined4 in_a3;\n  int iVar10;\n  undefined *puVar11;\n  undefined4 local_res4;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  va_list args;\n  \n  puVar3 = PTR___stack_chk_guard_001464dc;\n  puVar11 = PTR___environ_00145154;\n  puVar7 = *(undefined1 **)PTR___stack_chk_guard_001464dc;\n  local_res4 = in_a1;\n  local_res8 = in_a2;\n  local_resc = in_a3;\n  iVar4 = (*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,format,&local_res4);\n  iVar8 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  if (*(uint *)(puVar11 + -0x66ec) <= iVar8 + 1U) {\n    uVar6 = iVar8 + 0x40U & 0xffffffc0;\n    *(uint *)(puVar11 + -0x66ec) = uVar6;\n    pvVar5 = xrealloc(*(void **)(puVar11 + -0x66e4),uVar6);\n    puVar2 = PTR___vsnprintf_chk_0014630c;\n    *(void **)(puVar11 + -0x66e4) = pvVar5;\n    iVar4 = (*(code *)puVar2)((int)pvVar5 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,format,&local_res4);\n    iVar8 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  }\n  *(int *)(puVar11 + -0x66f0) = iVar8;\n  *(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar8) = 0;\n  if (puVar7 == *(undefined1 **)puVar3) {\n    return iVar4;\n  }\n  puVar11 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  iVar8 = *(int *)(puVar11 + 0x7bf9c);\n  iVar4 = *(int *)(iVar8 + -0x66f0);\n  iVar10 = *(int *)(puVar11 + 0x7bf9c);\n  pvVar5 = *(void **)(iVar10 + -0x66e4);\n  if (iVar4 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)) {\n    uVar1 = *puVar7;\n    *(int *)(iVar8 + -0x66f0) = iVar4 + 1;\n    *(undefined1 *)((int)pvVar5 + iVar4) = uVar1;\n    *(undefined1 *)((int)pvVar5 + iVar4 + 1) = 0;\n    return (int)pvVar5;\n  }\n  uVar6 = iVar4 + 0x41U & 0xffffffc0;\n  *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec) = uVar6;\n  pvVar5 = xrealloc(pvVar5,uVar6);\n  iVar9 = *(int *)(iVar8 + -0x66f0);\n  uVar1 = *puVar7;\n  *(void **)(iVar10 + -0x66e4) = pvVar5;\n  iVar4 = iVar9 + 1;\n  *(int *)(iVar8 + -0x66f0) = iVar4;\n  *(undefined1 *)((int)pvVar5 + iVar9) = uVar1;\n  *(undefined1 *)((int)pvVar5 + iVar4) = 0;\n  return (int)pvVar5;\n}\n\n" (function_definition "int vbprintf(char *format,...)\n\n{\n  undefined1 uVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  void *pvVar5;\n  uint uVar6;\n  undefined1 *puVar7;\n  undefined4 in_a1;\n  int iVar8;\n  int iVar9;\n  undefined4 in_a2;\n  undefined4 in_a3;\n  int iVar10;\n  undefined *puVar11;\n  undefined4 local_res4;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  va_list args;\n  \n  puVar3 = PTR___stack_chk_guard_001464dc;\n  puVar11 = PTR___environ_00145154;\n  puVar7 = *(undefined1 **)PTR___stack_chk_guard_001464dc;\n  local_res4 = in_a1;\n  local_res8 = in_a2;\n  local_resc = in_a3;\n  iVar4 = (*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,format,&local_res4);\n  iVar8 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  if (*(uint *)(puVar11 + -0x66ec) <= iVar8 + 1U) {\n    uVar6 = iVar8 + 0x40U & 0xffffffc0;\n    *(uint *)(puVar11 + -0x66ec) = uVar6;\n    pvVar5 = xrealloc(*(void **)(puVar11 + -0x66e4),uVar6);\n    puVar2 = PTR___vsnprintf_chk_0014630c;\n    *(void **)(puVar11 + -0x66e4) = pvVar5;\n    iVar4 = (*(code *)puVar2)((int)pvVar5 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,format,&local_res4);\n    iVar8 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  }\n  *(int *)(puVar11 + -0x66f0) = iVar8;\n  *(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar8) = 0;\n  if (puVar7 == *(undefined1 **)puVar3) {\n    return iVar4;\n  }\n  puVar11 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  iVar8 = *(int *)(puVar11 + 0x7bf9c);\n  iVar4 = *(int *)(iVar8 + -0x66f0);\n  iVar10 = *(int *)(puVar11 + 0x7bf9c);\n  pvVar5 = *(void **)(iVar10 + -0x66e4);\n  if (iVar4 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)) {\n    uVar1 = *puVar7;\n    *(int *)(iVar8 + -0x66f0) = iVar4 + 1;\n    *(undefined1 *)((int)pvVar5 + iVar4) = uVar1;\n    *(undefined1 *)((int)pvVar5 + iVar4 + 1) = 0;\n    return (int)pvVar5;\n  }\n  uVar6 = iVar4 + 0x41U & 0xffffffc0;\n  *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec) = uVar6;\n  pvVar5 = xrealloc(pvVar5,uVar6);\n  iVar9 = *(int *)(iVar8 + -0x66f0);\n  uVar1 = *puVar7;\n  *(void **)(iVar10 + -0x66e4) = pvVar5;\n  iVar4 = iVar9 + 1;\n  *(int *)(iVar8 + -0x66f0) = iVar4;\n  *(undefined1 *)((int)pvVar5 + iVar9) = uVar1;\n  *(undefined1 *)((int)pvVar5 + iVar4) = 0;\n  return (int)pvVar5;\n}" primitive_type (function_declarator "vbprintf(char *format,...)" identifier (parameter_list "(char *format,...)" ( (parameter_declaration "char *format" primitive_type (pointer_declarator "*format" * identifier)) , (variadic_parameter "..." ...) ))) (compound_statement "{\n  undefined1 uVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  void *pvVar5;\n  uint uVar6;\n  undefined1 *puVar7;\n  undefined4 in_a1;\n  int iVar8;\n  int iVar9;\n  undefined4 in_a2;\n  undefined4 in_a3;\n  int iVar10;\n  undefined *puVar11;\n  undefined4 local_res4;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  va_list args;\n  \n  puVar3 = PTR___stack_chk_guard_001464dc;\n  puVar11 = PTR___environ_00145154;\n  puVar7 = *(undefined1 **)PTR___stack_chk_guard_001464dc;\n  local_res4 = in_a1;\n  local_res8 = in_a2;\n  local_resc = in_a3;\n  iVar4 = (*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,format,&local_res4);\n  iVar8 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  if (*(uint *)(puVar11 + -0x66ec) <= iVar8 + 1U) {\n    uVar6 = iVar8 + 0x40U & 0xffffffc0;\n    *(uint *)(puVar11 + -0x66ec) = uVar6;\n    pvVar5 = xrealloc(*(void **)(puVar11 + -0x66e4),uVar6);\n    puVar2 = PTR___vsnprintf_chk_0014630c;\n    *(void **)(puVar11 + -0x66e4) = pvVar5;\n    iVar4 = (*(code *)puVar2)((int)pvVar5 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,format,&local_res4);\n    iVar8 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  }\n  *(int *)(puVar11 + -0x66f0) = iVar8;\n  *(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar8) = 0;\n  if (puVar7 == *(undefined1 **)puVar3) {\n    return iVar4;\n  }\n  puVar11 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  iVar8 = *(int *)(puVar11 + 0x7bf9c);\n  iVar4 = *(int *)(iVar8 + -0x66f0);\n  iVar10 = *(int *)(puVar11 + 0x7bf9c);\n  pvVar5 = *(void **)(iVar10 + -0x66e4);\n  if (iVar4 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)) {\n    uVar1 = *puVar7;\n    *(int *)(iVar8 + -0x66f0) = iVar4 + 1;\n    *(undefined1 *)((int)pvVar5 + iVar4) = uVar1;\n    *(undefined1 *)((int)pvVar5 + iVar4 + 1) = 0;\n    return (int)pvVar5;\n  }\n  uVar6 = iVar4 + 0x41U & 0xffffffc0;\n  *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec) = uVar6;\n  pvVar5 = xrealloc(pvVar5,uVar6);\n  iVar9 = *(int *)(iVar8 + -0x66f0);\n  uVar1 = *puVar7;\n  *(void **)(iVar10 + -0x66e4) = pvVar5;\n  iVar4 = iVar9 + 1;\n  *(int *)(iVar8 + -0x66f0) = iVar4;\n  *(undefined1 *)((int)pvVar5 + iVar9) = uVar1;\n  *(undefined1 *)((int)pvVar5 + iVar4) = 0;\n  return (int)pvVar5;\n}" { (declaration "undefined1 uVar1;" type_identifier identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "void *pvVar5;" primitive_type (pointer_declarator "*pvVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 in_a1;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 in_a2;" type_identifier identifier ;) (declaration "undefined4 in_a3;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 local_res4;" type_identifier identifier ;) (declaration "undefined4 local_res8;" type_identifier identifier ;) (declaration "undefined4 local_resc;" type_identifier identifier ;) (declaration "va_list args;" type_identifier identifier ;) (expression_statement "puVar3 = PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar3 = PTR___stack_chk_guard_001464dc" identifier = identifier) ;) (expression_statement "puVar11 = PTR___environ_00145154;" (assignment_expression "puVar11 = PTR___environ_00145154" identifier = identifier) ;) (expression_statement "puVar7 = *(undefined1 **)PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar7 = *(undefined1 **)PTR___stack_chk_guard_001464dc" identifier = (pointer_expression "*(undefined1 **)PTR___stack_chk_guard_001464dc" * (cast_expression "(undefined1 **)PTR___stack_chk_guard_001464dc" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "local_res4 = in_a1;" (assignment_expression "local_res4 = in_a1" identifier = identifier) ;) (expression_statement "local_res8 = in_a2;" (assignment_expression "local_res8 = in_a2" identifier = identifier) ;) (expression_statement "local_resc = in_a3;" (assignment_expression "local_resc = in_a3" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,format,&local_res4);" (assignment_expression "iVar4 = (*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,format,&local_res4)" identifier = (call_expression "(*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,format,&local_res4)" (parenthesized_expression "(*(code *)PTR___vsnprintf_chk_0014630c)" ( (pointer_expression "*(code *)PTR___vsnprintf_chk_0014630c" * (cast_expression "(code *)PTR___vsnprintf_chk_0014630c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,format,&local_res4)" ( (binary_expression "*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0)" (pointer_expression "*(int *)(PTR___environ_00145154 + -0x66e4)" * (cast_expression "(int *)(PTR___environ_00145154 + -0x66e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x66e4)" ( (binary_expression "PTR___environ_00145154 + -0x66e4" identifier + number_literal) )))) + (pointer_expression "*(int *)(PTR___environ_00145154 + -0x66f0)" * (cast_expression "(int *)(PTR___environ_00145154 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x66f0)" ( (binary_expression "PTR___environ_00145154 + -0x66f0" identifier + number_literal) ))))) , (binary_expression "*(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0)" (pointer_expression "*(int *)(PTR___environ_00145154 + -0x66ec)" * (cast_expression "(int *)(PTR___environ_00145154 + -0x66ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x66ec)" ( (binary_expression "PTR___environ_00145154 + -0x66ec" identifier + number_literal) )))) - (pointer_expression "*(int *)(PTR___environ_00145154 + -0x66f0)" * (cast_expression "(int *)(PTR___environ_00145154 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x66f0)" ( (binary_expression "PTR___environ_00145154 + -0x66f0" identifier + number_literal) ))))) , number_literal , number_literal , identifier , (pointer_expression "&local_res4" & identifier) )))) ;) (expression_statement "iVar8 = iVar4 + *(int *)(puVar11 + -0x66f0);" (assignment_expression "iVar8 = iVar4 + *(int *)(puVar11 + -0x66f0)" identifier = (binary_expression "iVar4 + *(int *)(puVar11 + -0x66f0)" identifier + (pointer_expression "*(int *)(puVar11 + -0x66f0)" * (cast_expression "(int *)(puVar11 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66f0)" ( (binary_expression "puVar11 + -0x66f0" identifier + number_literal) )))))) ;) (if_statement "if (*(uint *)(puVar11 + -0x66ec) <= iVar8 + 1U) {\n    uVar6 = iVar8 + 0x40U & 0xffffffc0;\n    *(uint *)(puVar11 + -0x66ec) = uVar6;\n    pvVar5 = xrealloc(*(void **)(puVar11 + -0x66e4),uVar6);\n    puVar2 = PTR___vsnprintf_chk_0014630c;\n    *(void **)(puVar11 + -0x66e4) = pvVar5;\n    iVar4 = (*(code *)puVar2)((int)pvVar5 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,format,&local_res4);\n    iVar8 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  }" if (parenthesized_expression "(*(uint *)(puVar11 + -0x66ec) <= iVar8 + 1U)" ( (binary_expression "*(uint *)(puVar11 + -0x66ec) <= iVar8 + 1U" (pointer_expression "*(uint *)(puVar11 + -0x66ec)" * (cast_expression "(uint *)(puVar11 + -0x66ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66ec)" ( (binary_expression "puVar11 + -0x66ec" identifier + number_literal) )))) <= (binary_expression "iVar8 + 1U" identifier + number_literal)) )) (compound_statement "{\n    uVar6 = iVar8 + 0x40U & 0xffffffc0;\n    *(uint *)(puVar11 + -0x66ec) = uVar6;\n    pvVar5 = xrealloc(*(void **)(puVar11 + -0x66e4),uVar6);\n    puVar2 = PTR___vsnprintf_chk_0014630c;\n    *(void **)(puVar11 + -0x66e4) = pvVar5;\n    iVar4 = (*(code *)puVar2)((int)pvVar5 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,format,&local_res4);\n    iVar8 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  }" { (expression_statement "uVar6 = iVar8 + 0x40U & 0xffffffc0;" (assignment_expression "uVar6 = iVar8 + 0x40U & 0xffffffc0" identifier = (binary_expression "iVar8 + 0x40U & 0xffffffc0" (binary_expression "iVar8 + 0x40U" identifier + number_literal) & number_literal)) ;) (expression_statement "*(uint *)(puVar11 + -0x66ec) = uVar6;" (assignment_expression "*(uint *)(puVar11 + -0x66ec) = uVar6" (pointer_expression "*(uint *)(puVar11 + -0x66ec)" * (cast_expression "(uint *)(puVar11 + -0x66ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66ec)" ( (binary_expression "puVar11 + -0x66ec" identifier + number_literal) )))) = identifier) ;) (expression_statement "pvVar5 = xrealloc(*(void **)(puVar11 + -0x66e4),uVar6);" (assignment_expression "pvVar5 = xrealloc(*(void **)(puVar11 + -0x66e4),uVar6)" identifier = (call_expression "xrealloc(*(void **)(puVar11 + -0x66e4),uVar6)" identifier (argument_list "(*(void **)(puVar11 + -0x66e4),uVar6)" ( (pointer_expression "*(void **)(puVar11 + -0x66e4)" * (cast_expression "(void **)(puVar11 + -0x66e4)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x66e4)" ( (binary_expression "puVar11 + -0x66e4" identifier + number_literal) )))) , identifier )))) ;) (expression_statement "puVar2 = PTR___vsnprintf_chk_0014630c;" (assignment_expression "puVar2 = PTR___vsnprintf_chk_0014630c" identifier = identifier) ;) (expression_statement "*(void **)(puVar11 + -0x66e4) = pvVar5;" (assignment_expression "*(void **)(puVar11 + -0x66e4) = pvVar5" (pointer_expression "*(void **)(puVar11 + -0x66e4)" * (cast_expression "(void **)(puVar11 + -0x66e4)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0x66e4)" ( (binary_expression "puVar11 + -0x66e4" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar4 = (*(code *)puVar2)((int)pvVar5 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,format,&local_res4);" (assignment_expression "iVar4 = (*(code *)puVar2)((int)pvVar5 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,format,&local_res4)" identifier = (call_expression "(*(code *)puVar2)((int)pvVar5 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,format,&local_res4)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((int)pvVar5 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,format,&local_res4)" ( (binary_expression "(int)pvVar5 + *(int *)(puVar11 + -0x66f0)" (cast_expression "(int)pvVar5" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(puVar11 + -0x66f0)" * (cast_expression "(int *)(puVar11 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66f0)" ( (binary_expression "puVar11 + -0x66f0" identifier + number_literal) ))))) , (binary_expression "*(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0)" (pointer_expression "*(int *)(puVar11 + -0x66ec)" * (cast_expression "(int *)(puVar11 + -0x66ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66ec)" ( (binary_expression "puVar11 + -0x66ec" identifier + number_literal) )))) - (pointer_expression "*(int *)(puVar11 + -0x66f0)" * (cast_expression "(int *)(puVar11 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66f0)" ( (binary_expression "puVar11 + -0x66f0" identifier + number_literal) ))))) , number_literal , number_literal , identifier , (pointer_expression "&local_res4" & identifier) )))) ;) (expression_statement "iVar8 = iVar4 + *(int *)(puVar11 + -0x66f0);" (assignment_expression "iVar8 = iVar4 + *(int *)(puVar11 + -0x66f0)" identifier = (binary_expression "iVar4 + *(int *)(puVar11 + -0x66f0)" identifier + (pointer_expression "*(int *)(puVar11 + -0x66f0)" * (cast_expression "(int *)(puVar11 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66f0)" ( (binary_expression "puVar11 + -0x66f0" identifier + number_literal) )))))) ;) })) (expression_statement "*(int *)(puVar11 + -0x66f0) = iVar8;" (assignment_expression "*(int *)(puVar11 + -0x66f0) = iVar8" (pointer_expression "*(int *)(puVar11 + -0x66f0)" * (cast_expression "(int *)(puVar11 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66f0)" ( (binary_expression "puVar11 + -0x66f0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar8) = 0;" (assignment_expression "*(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar8) = 0" (pointer_expression "*(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar8)" * (cast_expression "(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + -0x66e4) + iVar8)" ( (binary_expression "*(int *)(puVar11 + -0x66e4) + iVar8" (pointer_expression "*(int *)(puVar11 + -0x66e4)" * (cast_expression "(int *)(puVar11 + -0x66e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66e4)" ( (binary_expression "puVar11 + -0x66e4" identifier + number_literal) )))) + identifier) )))) = number_literal) ;) (if_statement "if (puVar7 == *(undefined1 **)puVar3) {\n    return iVar4;\n  }" if (parenthesized_expression "(puVar7 == *(undefined1 **)puVar3)" ( (binary_expression "puVar7 == *(undefined1 **)puVar3" identifier == (pointer_expression "*(undefined1 **)puVar3" * (cast_expression "(undefined1 **)puVar3" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return iVar4;\n  }" { (return_statement "return iVar4;" return identifier ;) })) (expression_statement "puVar11 = PTR___stack_chk_fail_00146488;" (assignment_expression "puVar11 = PTR___stack_chk_fail_00146488" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00146488)();" (call_expression "(*(code *)PTR___stack_chk_fail_00146488)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00146488)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00146488" * (cast_expression "(code *)PTR___stack_chk_fail_00146488" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar8 = *(int *)(puVar11 + 0x7bf9c);" (assignment_expression "iVar8 = *(int *)(puVar11 + 0x7bf9c)" identifier = (pointer_expression "*(int *)(puVar11 + 0x7bf9c)" * (cast_expression "(int *)(puVar11 + 0x7bf9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x7bf9c)" ( (binary_expression "puVar11 + 0x7bf9c" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(iVar8 + -0x66f0);" (assignment_expression "iVar4 = *(int *)(iVar8 + -0x66f0)" identifier = (pointer_expression "*(int *)(iVar8 + -0x66f0)" * (cast_expression "(int *)(iVar8 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -0x66f0)" ( (binary_expression "iVar8 + -0x66f0" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(puVar11 + 0x7bf9c);" (assignment_expression "iVar10 = *(int *)(puVar11 + 0x7bf9c)" identifier = (pointer_expression "*(int *)(puVar11 + 0x7bf9c)" * (cast_expression "(int *)(puVar11 + 0x7bf9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x7bf9c)" ( (binary_expression "puVar11 + 0x7bf9c" identifier + number_literal) ))))) ;) (expression_statement "pvVar5 = *(void **)(iVar10 + -0x66e4);" (assignment_expression "pvVar5 = *(void **)(iVar10 + -0x66e4)" identifier = (pointer_expression "*(void **)(iVar10 + -0x66e4)" * (cast_expression "(void **)(iVar10 + -0x66e4)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + -0x66e4)" ( (binary_expression "iVar10 + -0x66e4" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)) {\n    uVar1 = *puVar7;\n    *(int *)(iVar8 + -0x66f0) = iVar4 + 1;\n    *(undefined1 *)((int)pvVar5 + iVar4) = uVar1;\n    *(undefined1 *)((int)pvVar5 + iVar4 + 1) = 0;\n    return (int)pvVar5;\n  }" if (parenthesized_expression "(iVar4 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec))" ( (binary_expression "iVar4 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" (binary_expression "iVar4 + 2U" identifier + number_literal) < (pointer_expression "*(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" * (cast_expression "(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" ( (binary_expression "*(int *)(puVar11 + 0x7bf9c) + -0x66ec" (pointer_expression "*(int *)(puVar11 + 0x7bf9c)" * (cast_expression "(int *)(puVar11 + 0x7bf9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x7bf9c)" ( (binary_expression "puVar11 + 0x7bf9c" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n    uVar1 = *puVar7;\n    *(int *)(iVar8 + -0x66f0) = iVar4 + 1;\n    *(undefined1 *)((int)pvVar5 + iVar4) = uVar1;\n    *(undefined1 *)((int)pvVar5 + iVar4 + 1) = 0;\n    return (int)pvVar5;\n  }" { (expression_statement "uVar1 = *puVar7;" (assignment_expression "uVar1 = *puVar7" identifier = (pointer_expression "*puVar7" * identifier)) ;) (expression_statement "*(int *)(iVar8 + -0x66f0) = iVar4 + 1;" (assignment_expression "*(int *)(iVar8 + -0x66f0) = iVar4 + 1" (pointer_expression "*(int *)(iVar8 + -0x66f0)" * (cast_expression "(int *)(iVar8 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -0x66f0)" ( (binary_expression "iVar8 + -0x66f0" identifier + number_literal) )))) = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)((int)pvVar5 + iVar4) = uVar1;" (assignment_expression "*(undefined1 *)((int)pvVar5 + iVar4) = uVar1" (pointer_expression "*(undefined1 *)((int)pvVar5 + iVar4)" * (cast_expression "(undefined1 *)((int)pvVar5 + iVar4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar5 + iVar4)" ( (binary_expression "(int)pvVar5 + iVar4" (cast_expression "(int)pvVar5" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = identifier) ;) (expression_statement "*(undefined1 *)((int)pvVar5 + iVar4 + 1) = 0;" (assignment_expression "*(undefined1 *)((int)pvVar5 + iVar4 + 1) = 0" (pointer_expression "*(undefined1 *)((int)pvVar5 + iVar4 + 1)" * (cast_expression "(undefined1 *)((int)pvVar5 + iVar4 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar5 + iVar4 + 1)" ( (binary_expression "(int)pvVar5 + iVar4 + 1" (binary_expression "(int)pvVar5 + iVar4" (cast_expression "(int)pvVar5" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (return_statement "return (int)pvVar5;" return (cast_expression "(int)pvVar5" ( (type_descriptor "int" primitive_type) ) identifier) ;) })) (expression_statement "uVar6 = iVar4 + 0x41U & 0xffffffc0;" (assignment_expression "uVar6 = iVar4 + 0x41U & 0xffffffc0" identifier = (binary_expression "iVar4 + 0x41U & 0xffffffc0" (binary_expression "iVar4 + 0x41U" identifier + number_literal) & number_literal)) ;) (expression_statement "*(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec) = uVar6;" (assignment_expression "*(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec) = uVar6" (pointer_expression "*(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" * (cast_expression "(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" ( (binary_expression "*(int *)(puVar11 + 0x7bf9c) + -0x66ec" (pointer_expression "*(int *)(puVar11 + 0x7bf9c)" * (cast_expression "(int *)(puVar11 + 0x7bf9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x7bf9c)" ( (binary_expression "puVar11 + 0x7bf9c" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "pvVar5 = xrealloc(pvVar5,uVar6);" (assignment_expression "pvVar5 = xrealloc(pvVar5,uVar6)" identifier = (call_expression "xrealloc(pvVar5,uVar6)" identifier (argument_list "(pvVar5,uVar6)" ( identifier , identifier )))) ;) (expression_statement "iVar9 = *(int *)(iVar8 + -0x66f0);" (assignment_expression "iVar9 = *(int *)(iVar8 + -0x66f0)" identifier = (pointer_expression "*(int *)(iVar8 + -0x66f0)" * (cast_expression "(int *)(iVar8 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -0x66f0)" ( (binary_expression "iVar8 + -0x66f0" identifier + number_literal) ))))) ;) (expression_statement "uVar1 = *puVar7;" (assignment_expression "uVar1 = *puVar7" identifier = (pointer_expression "*puVar7" * identifier)) ;) (expression_statement "*(void **)(iVar10 + -0x66e4) = pvVar5;" (assignment_expression "*(void **)(iVar10 + -0x66e4) = pvVar5" (pointer_expression "*(void **)(iVar10 + -0x66e4)" * (cast_expression "(void **)(iVar10 + -0x66e4)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + -0x66e4)" ( (binary_expression "iVar10 + -0x66e4" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar4 = iVar9 + 1;" (assignment_expression "iVar4 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar8 + -0x66f0) = iVar4;" (assignment_expression "*(int *)(iVar8 + -0x66f0) = iVar4" (pointer_expression "*(int *)(iVar8 + -0x66f0)" * (cast_expression "(int *)(iVar8 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -0x66f0)" ( (binary_expression "iVar8 + -0x66f0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)((int)pvVar5 + iVar9) = uVar1;" (assignment_expression "*(undefined1 *)((int)pvVar5 + iVar9) = uVar1" (pointer_expression "*(undefined1 *)((int)pvVar5 + iVar9)" * (cast_expression "(undefined1 *)((int)pvVar5 + iVar9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar5 + iVar9)" ( (binary_expression "(int)pvVar5 + iVar9" (cast_expression "(int)pvVar5" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = identifier) ;) (expression_statement "*(undefined1 *)((int)pvVar5 + iVar4) = 0;" (assignment_expression "*(undefined1 *)((int)pvVar5 + iVar4) = 0" (pointer_expression "*(undefined1 *)((int)pvVar5 + iVar4)" * (cast_expression "(undefined1 *)((int)pvVar5 + iVar4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar5 + iVar4)" ( (binary_expression "(int)pvVar5 + iVar4" (cast_expression "(int)pvVar5" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (return_statement "return (int)pvVar5;" return (cast_expression "(int)pvVar5" ( (type_descriptor "int" primitive_type) ) identifier) ;) })))
(translation_unit "void FUN_000c9060(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined1 uVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  uint uVar5;\n  undefined1 *puVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  undefined *puVar11;\n  undefined4 local_res4;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  \n  puVar3 = PTR___stack_chk_guard_001464dc;\n  puVar11 = PTR___environ_00145154;\n  puVar6 = *(undefined1 **)PTR___stack_chk_guard_001464dc;\n  local_res4 = param_2;\n  local_res8 = param_3;\n  local_resc = param_4;\n  iVar4 = (*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,param_1,&local_res4);\n  iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  if (*(uint *)(puVar11 + -0x66ec) <= iVar4 + 1U) {\n    uVar5 = iVar4 + 0x40U & 0xffffffc0;\n    *(uint *)(puVar11 + -0x66ec) = uVar5;\n    iVar4 = xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5);\n    puVar2 = PTR___vsnprintf_chk_0014630c;\n    *(int *)(puVar11 + -0x66e4) = iVar4;\n    iVar4 = (*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4);\n    iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  }\n  *(int *)(puVar11 + -0x66f0) = iVar4;\n  *(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar4) = 0;\n  if (puVar6 == *(undefined1 **)puVar3) {\n    return;\n  }\n  puVar11 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  iVar9 = *(int *)(puVar11 + 0x7bf9c);\n  iVar7 = *(int *)(iVar9 + -0x66f0);\n  iVar10 = *(int *)(puVar11 + 0x7bf9c);\n  iVar4 = *(int *)(iVar10 + -0x66e4);\n  if (iVar7 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)) {\n    uVar1 = *puVar6;\n    *(int *)(iVar9 + -0x66f0) = iVar7 + 1;\n    *(undefined1 *)(iVar4 + iVar7) = uVar1;\n    *(undefined1 *)(iVar4 + iVar7 + 1) = 0;\n    return;\n  }\n  uVar5 = iVar7 + 0x41U & 0xffffffc0;\n  *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec) = uVar5;\n  iVar4 = xrealloc(iVar4,uVar5);\n  iVar8 = *(int *)(iVar9 + -0x66f0);\n  uVar1 = *puVar6;\n  *(int *)(iVar10 + -0x66e4) = iVar4;\n  iVar7 = iVar8 + 1;\n  *(int *)(iVar9 + -0x66f0) = iVar7;\n  *(undefined1 *)(iVar4 + iVar8) = uVar1;\n  *(undefined1 *)(iVar4 + iVar7) = 0;\n  return;\n}\n\n" (function_definition "void FUN_000c9060(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined1 uVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  uint uVar5;\n  undefined1 *puVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  undefined *puVar11;\n  undefined4 local_res4;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  \n  puVar3 = PTR___stack_chk_guard_001464dc;\n  puVar11 = PTR___environ_00145154;\n  puVar6 = *(undefined1 **)PTR___stack_chk_guard_001464dc;\n  local_res4 = param_2;\n  local_res8 = param_3;\n  local_resc = param_4;\n  iVar4 = (*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,param_1,&local_res4);\n  iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  if (*(uint *)(puVar11 + -0x66ec) <= iVar4 + 1U) {\n    uVar5 = iVar4 + 0x40U & 0xffffffc0;\n    *(uint *)(puVar11 + -0x66ec) = uVar5;\n    iVar4 = xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5);\n    puVar2 = PTR___vsnprintf_chk_0014630c;\n    *(int *)(puVar11 + -0x66e4) = iVar4;\n    iVar4 = (*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4);\n    iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  }\n  *(int *)(puVar11 + -0x66f0) = iVar4;\n  *(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar4) = 0;\n  if (puVar6 == *(undefined1 **)puVar3) {\n    return;\n  }\n  puVar11 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  iVar9 = *(int *)(puVar11 + 0x7bf9c);\n  iVar7 = *(int *)(iVar9 + -0x66f0);\n  iVar10 = *(int *)(puVar11 + 0x7bf9c);\n  iVar4 = *(int *)(iVar10 + -0x66e4);\n  if (iVar7 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)) {\n    uVar1 = *puVar6;\n    *(int *)(iVar9 + -0x66f0) = iVar7 + 1;\n    *(undefined1 *)(iVar4 + iVar7) = uVar1;\n    *(undefined1 *)(iVar4 + iVar7 + 1) = 0;\n    return;\n  }\n  uVar5 = iVar7 + 0x41U & 0xffffffc0;\n  *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec) = uVar5;\n  iVar4 = xrealloc(iVar4,uVar5);\n  iVar8 = *(int *)(iVar9 + -0x66f0);\n  uVar1 = *puVar6;\n  *(int *)(iVar10 + -0x66e4) = iVar4;\n  iVar7 = iVar8 + 1;\n  *(int *)(iVar9 + -0x66f0) = iVar7;\n  *(undefined1 *)(iVar4 + iVar8) = uVar1;\n  *(undefined1 *)(iVar4 + iVar7) = 0;\n  return;\n}" primitive_type (function_declarator "FUN_000c9060(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) (compound_statement "{\n  undefined1 uVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  uint uVar5;\n  undefined1 *puVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  undefined *puVar11;\n  undefined4 local_res4;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  \n  puVar3 = PTR___stack_chk_guard_001464dc;\n  puVar11 = PTR___environ_00145154;\n  puVar6 = *(undefined1 **)PTR___stack_chk_guard_001464dc;\n  local_res4 = param_2;\n  local_res8 = param_3;\n  local_resc = param_4;\n  iVar4 = (*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,param_1,&local_res4);\n  iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  if (*(uint *)(puVar11 + -0x66ec) <= iVar4 + 1U) {\n    uVar5 = iVar4 + 0x40U & 0xffffffc0;\n    *(uint *)(puVar11 + -0x66ec) = uVar5;\n    iVar4 = xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5);\n    puVar2 = PTR___vsnprintf_chk_0014630c;\n    *(int *)(puVar11 + -0x66e4) = iVar4;\n    iVar4 = (*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4);\n    iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  }\n  *(int *)(puVar11 + -0x66f0) = iVar4;\n  *(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar4) = 0;\n  if (puVar6 == *(undefined1 **)puVar3) {\n    return;\n  }\n  puVar11 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  iVar9 = *(int *)(puVar11 + 0x7bf9c);\n  iVar7 = *(int *)(iVar9 + -0x66f0);\n  iVar10 = *(int *)(puVar11 + 0x7bf9c);\n  iVar4 = *(int *)(iVar10 + -0x66e4);\n  if (iVar7 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)) {\n    uVar1 = *puVar6;\n    *(int *)(iVar9 + -0x66f0) = iVar7 + 1;\n    *(undefined1 *)(iVar4 + iVar7) = uVar1;\n    *(undefined1 *)(iVar4 + iVar7 + 1) = 0;\n    return;\n  }\n  uVar5 = iVar7 + 0x41U & 0xffffffc0;\n  *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec) = uVar5;\n  iVar4 = xrealloc(iVar4,uVar5);\n  iVar8 = *(int *)(iVar9 + -0x66f0);\n  uVar1 = *puVar6;\n  *(int *)(iVar10 + -0x66e4) = iVar4;\n  iVar7 = iVar8 + 1;\n  *(int *)(iVar9 + -0x66f0) = iVar7;\n  *(undefined1 *)(iVar4 + iVar8) = uVar1;\n  *(undefined1 *)(iVar4 + iVar7) = 0;\n  return;\n}" { (declaration "undefined1 uVar1;" type_identifier identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined1 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 local_res4;" type_identifier identifier ;) (declaration "undefined4 local_res8;" type_identifier identifier ;) (declaration "undefined4 local_resc;" type_identifier identifier ;) (expression_statement "puVar3 = PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar3 = PTR___stack_chk_guard_001464dc" identifier = identifier) ;) (expression_statement "puVar11 = PTR___environ_00145154;" (assignment_expression "puVar11 = PTR___environ_00145154" identifier = identifier) ;) (expression_statement "puVar6 = *(undefined1 **)PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar6 = *(undefined1 **)PTR___stack_chk_guard_001464dc" identifier = (pointer_expression "*(undefined1 **)PTR___stack_chk_guard_001464dc" * (cast_expression "(undefined1 **)PTR___stack_chk_guard_001464dc" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "local_res4 = param_2;" (assignment_expression "local_res4 = param_2" identifier = identifier) ;) (expression_statement "local_res8 = param_3;" (assignment_expression "local_res8 = param_3" identifier = identifier) ;) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,param_1,&local_res4);" (assignment_expression "iVar4 = (*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,param_1,&local_res4)" identifier = (call_expression "(*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,param_1,&local_res4)" (parenthesized_expression "(*(code *)PTR___vsnprintf_chk_0014630c)" ( (pointer_expression "*(code *)PTR___vsnprintf_chk_0014630c" * (cast_expression "(code *)PTR___vsnprintf_chk_0014630c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,param_1,&local_res4)" ( (binary_expression "*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0)" (pointer_expression "*(int *)(PTR___environ_00145154 + -0x66e4)" * (cast_expression "(int *)(PTR___environ_00145154 + -0x66e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x66e4)" ( (binary_expression "PTR___environ_00145154 + -0x66e4" identifier + number_literal) )))) + (pointer_expression "*(int *)(PTR___environ_00145154 + -0x66f0)" * (cast_expression "(int *)(PTR___environ_00145154 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x66f0)" ( (binary_expression "PTR___environ_00145154 + -0x66f0" identifier + number_literal) ))))) , (binary_expression "*(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0)" (pointer_expression "*(int *)(PTR___environ_00145154 + -0x66ec)" * (cast_expression "(int *)(PTR___environ_00145154 + -0x66ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x66ec)" ( (binary_expression "PTR___environ_00145154 + -0x66ec" identifier + number_literal) )))) - (pointer_expression "*(int *)(PTR___environ_00145154 + -0x66f0)" * (cast_expression "(int *)(PTR___environ_00145154 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x66f0)" ( (binary_expression "PTR___environ_00145154 + -0x66f0" identifier + number_literal) ))))) , number_literal , number_literal , identifier , (pointer_expression "&local_res4" & identifier) )))) ;) (expression_statement "iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);" (assignment_expression "iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0)" identifier = (binary_expression "iVar4 + *(int *)(puVar11 + -0x66f0)" identifier + (pointer_expression "*(int *)(puVar11 + -0x66f0)" * (cast_expression "(int *)(puVar11 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66f0)" ( (binary_expression "puVar11 + -0x66f0" identifier + number_literal) )))))) ;) (if_statement "if (*(uint *)(puVar11 + -0x66ec) <= iVar4 + 1U) {\n    uVar5 = iVar4 + 0x40U & 0xffffffc0;\n    *(uint *)(puVar11 + -0x66ec) = uVar5;\n    iVar4 = xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5);\n    puVar2 = PTR___vsnprintf_chk_0014630c;\n    *(int *)(puVar11 + -0x66e4) = iVar4;\n    iVar4 = (*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4);\n    iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  }" if (parenthesized_expression "(*(uint *)(puVar11 + -0x66ec) <= iVar4 + 1U)" ( (binary_expression "*(uint *)(puVar11 + -0x66ec) <= iVar4 + 1U" (pointer_expression "*(uint *)(puVar11 + -0x66ec)" * (cast_expression "(uint *)(puVar11 + -0x66ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66ec)" ( (binary_expression "puVar11 + -0x66ec" identifier + number_literal) )))) <= (binary_expression "iVar4 + 1U" identifier + number_literal)) )) (compound_statement "{\n    uVar5 = iVar4 + 0x40U & 0xffffffc0;\n    *(uint *)(puVar11 + -0x66ec) = uVar5;\n    iVar4 = xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5);\n    puVar2 = PTR___vsnprintf_chk_0014630c;\n    *(int *)(puVar11 + -0x66e4) = iVar4;\n    iVar4 = (*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4);\n    iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  }" { (expression_statement "uVar5 = iVar4 + 0x40U & 0xffffffc0;" (assignment_expression "uVar5 = iVar4 + 0x40U & 0xffffffc0" identifier = (binary_expression "iVar4 + 0x40U & 0xffffffc0" (binary_expression "iVar4 + 0x40U" identifier + number_literal) & number_literal)) ;) (expression_statement "*(uint *)(puVar11 + -0x66ec) = uVar5;" (assignment_expression "*(uint *)(puVar11 + -0x66ec) = uVar5" (pointer_expression "*(uint *)(puVar11 + -0x66ec)" * (cast_expression "(uint *)(puVar11 + -0x66ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66ec)" ( (binary_expression "puVar11 + -0x66ec" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar4 = xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5);" (assignment_expression "iVar4 = xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5)" identifier = (call_expression "xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5)" identifier (argument_list "(*(undefined4 *)(puVar11 + -0x66e4),uVar5)" ( (pointer_expression "*(undefined4 *)(puVar11 + -0x66e4)" * (cast_expression "(undefined4 *)(puVar11 + -0x66e4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66e4)" ( (binary_expression "puVar11 + -0x66e4" identifier + number_literal) )))) , identifier )))) ;) (expression_statement "puVar2 = PTR___vsnprintf_chk_0014630c;" (assignment_expression "puVar2 = PTR___vsnprintf_chk_0014630c" identifier = identifier) ;) (expression_statement "*(int *)(puVar11 + -0x66e4) = iVar4;" (assignment_expression "*(int *)(puVar11 + -0x66e4) = iVar4" (pointer_expression "*(int *)(puVar11 + -0x66e4)" * (cast_expression "(int *)(puVar11 + -0x66e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66e4)" ( (binary_expression "puVar11 + -0x66e4" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar4 = (*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4);" (assignment_expression "iVar4 = (*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4)" identifier = (call_expression "(*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4)" ( (binary_expression "iVar4 + *(int *)(puVar11 + -0x66f0)" identifier + (pointer_expression "*(int *)(puVar11 + -0x66f0)" * (cast_expression "(int *)(puVar11 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66f0)" ( (binary_expression "puVar11 + -0x66f0" identifier + number_literal) ))))) , (binary_expression "*(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0)" (pointer_expression "*(int *)(puVar11 + -0x66ec)" * (cast_expression "(int *)(puVar11 + -0x66ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66ec)" ( (binary_expression "puVar11 + -0x66ec" identifier + number_literal) )))) - (pointer_expression "*(int *)(puVar11 + -0x66f0)" * (cast_expression "(int *)(puVar11 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66f0)" ( (binary_expression "puVar11 + -0x66f0" identifier + number_literal) ))))) , number_literal , number_literal , identifier , (pointer_expression "&local_res4" & identifier) )))) ;) (expression_statement "iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);" (assignment_expression "iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0)" identifier = (binary_expression "iVar4 + *(int *)(puVar11 + -0x66f0)" identifier + (pointer_expression "*(int *)(puVar11 + -0x66f0)" * (cast_expression "(int *)(puVar11 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66f0)" ( (binary_expression "puVar11 + -0x66f0" identifier + number_literal) )))))) ;) })) (expression_statement "*(int *)(puVar11 + -0x66f0) = iVar4;" (assignment_expression "*(int *)(puVar11 + -0x66f0) = iVar4" (pointer_expression "*(int *)(puVar11 + -0x66f0)" * (cast_expression "(int *)(puVar11 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66f0)" ( (binary_expression "puVar11 + -0x66f0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar4) = 0;" (assignment_expression "*(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar4) = 0" (pointer_expression "*(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar4)" * (cast_expression "(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + -0x66e4) + iVar4)" ( (binary_expression "*(int *)(puVar11 + -0x66e4) + iVar4" (pointer_expression "*(int *)(puVar11 + -0x66e4)" * (cast_expression "(int *)(puVar11 + -0x66e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x66e4)" ( (binary_expression "puVar11 + -0x66e4" identifier + number_literal) )))) + identifier) )))) = number_literal) ;) (if_statement "if (puVar6 == *(undefined1 **)puVar3) {\n    return;\n  }" if (parenthesized_expression "(puVar6 == *(undefined1 **)puVar3)" ( (binary_expression "puVar6 == *(undefined1 **)puVar3" identifier == (pointer_expression "*(undefined1 **)puVar3" * (cast_expression "(undefined1 **)puVar3" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "puVar11 = PTR___stack_chk_fail_00146488;" (assignment_expression "puVar11 = PTR___stack_chk_fail_00146488" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00146488)();" (call_expression "(*(code *)PTR___stack_chk_fail_00146488)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00146488)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00146488" * (cast_expression "(code *)PTR___stack_chk_fail_00146488" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar9 = *(int *)(puVar11 + 0x7bf9c);" (assignment_expression "iVar9 = *(int *)(puVar11 + 0x7bf9c)" identifier = (pointer_expression "*(int *)(puVar11 + 0x7bf9c)" * (cast_expression "(int *)(puVar11 + 0x7bf9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x7bf9c)" ( (binary_expression "puVar11 + 0x7bf9c" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(iVar9 + -0x66f0);" (assignment_expression "iVar7 = *(int *)(iVar9 + -0x66f0)" identifier = (pointer_expression "*(int *)(iVar9 + -0x66f0)" * (cast_expression "(int *)(iVar9 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x66f0)" ( (binary_expression "iVar9 + -0x66f0" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(puVar11 + 0x7bf9c);" (assignment_expression "iVar10 = *(int *)(puVar11 + 0x7bf9c)" identifier = (pointer_expression "*(int *)(puVar11 + 0x7bf9c)" * (cast_expression "(int *)(puVar11 + 0x7bf9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x7bf9c)" ( (binary_expression "puVar11 + 0x7bf9c" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(iVar10 + -0x66e4);" (assignment_expression "iVar4 = *(int *)(iVar10 + -0x66e4)" identifier = (pointer_expression "*(int *)(iVar10 + -0x66e4)" * (cast_expression "(int *)(iVar10 + -0x66e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x66e4)" ( (binary_expression "iVar10 + -0x66e4" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)) {\n    uVar1 = *puVar6;\n    *(int *)(iVar9 + -0x66f0) = iVar7 + 1;\n    *(undefined1 *)(iVar4 + iVar7) = uVar1;\n    *(undefined1 *)(iVar4 + iVar7 + 1) = 0;\n    return;\n  }" if (parenthesized_expression "(iVar7 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec))" ( (binary_expression "iVar7 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" (binary_expression "iVar7 + 2U" identifier + number_literal) < (pointer_expression "*(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" * (cast_expression "(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" ( (binary_expression "*(int *)(puVar11 + 0x7bf9c) + -0x66ec" (pointer_expression "*(int *)(puVar11 + 0x7bf9c)" * (cast_expression "(int *)(puVar11 + 0x7bf9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x7bf9c)" ( (binary_expression "puVar11 + 0x7bf9c" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n    uVar1 = *puVar6;\n    *(int *)(iVar9 + -0x66f0) = iVar7 + 1;\n    *(undefined1 *)(iVar4 + iVar7) = uVar1;\n    *(undefined1 *)(iVar4 + iVar7 + 1) = 0;\n    return;\n  }" { (expression_statement "uVar1 = *puVar6;" (assignment_expression "uVar1 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "*(int *)(iVar9 + -0x66f0) = iVar7 + 1;" (assignment_expression "*(int *)(iVar9 + -0x66f0) = iVar7 + 1" (pointer_expression "*(int *)(iVar9 + -0x66f0)" * (cast_expression "(int *)(iVar9 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x66f0)" ( (binary_expression "iVar9 + -0x66f0" identifier + number_literal) )))) = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)(iVar4 + iVar7) = uVar1;" (assignment_expression "*(undefined1 *)(iVar4 + iVar7) = uVar1" (pointer_expression "*(undefined1 *)(iVar4 + iVar7)" * (cast_expression "(undefined1 *)(iVar4 + iVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar7)" ( (binary_expression "iVar4 + iVar7" identifier + identifier) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar4 + iVar7 + 1) = 0;" (assignment_expression "*(undefined1 *)(iVar4 + iVar7 + 1) = 0" (pointer_expression "*(undefined1 *)(iVar4 + iVar7 + 1)" * (cast_expression "(undefined1 *)(iVar4 + iVar7 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar7 + 1)" ( (binary_expression "iVar4 + iVar7 + 1" (binary_expression "iVar4 + iVar7" identifier + identifier) + number_literal) )))) = number_literal) ;) (return_statement "return;" return ;) })) (expression_statement "uVar5 = iVar7 + 0x41U & 0xffffffc0;" (assignment_expression "uVar5 = iVar7 + 0x41U & 0xffffffc0" identifier = (binary_expression "iVar7 + 0x41U & 0xffffffc0" (binary_expression "iVar7 + 0x41U" identifier + number_literal) & number_literal)) ;) (expression_statement "*(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec) = uVar5;" (assignment_expression "*(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec) = uVar5" (pointer_expression "*(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" * (cast_expression "(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" ( (binary_expression "*(int *)(puVar11 + 0x7bf9c) + -0x66ec" (pointer_expression "*(int *)(puVar11 + 0x7bf9c)" * (cast_expression "(int *)(puVar11 + 0x7bf9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x7bf9c)" ( (binary_expression "puVar11 + 0x7bf9c" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "iVar4 = xrealloc(iVar4,uVar5);" (assignment_expression "iVar4 = xrealloc(iVar4,uVar5)" identifier = (call_expression "xrealloc(iVar4,uVar5)" identifier (argument_list "(iVar4,uVar5)" ( identifier , identifier )))) ;) (expression_statement "iVar8 = *(int *)(iVar9 + -0x66f0);" (assignment_expression "iVar8 = *(int *)(iVar9 + -0x66f0)" identifier = (pointer_expression "*(int *)(iVar9 + -0x66f0)" * (cast_expression "(int *)(iVar9 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x66f0)" ( (binary_expression "iVar9 + -0x66f0" identifier + number_literal) ))))) ;) (expression_statement "uVar1 = *puVar6;" (assignment_expression "uVar1 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "*(int *)(iVar10 + -0x66e4) = iVar4;" (assignment_expression "*(int *)(iVar10 + -0x66e4) = iVar4" (pointer_expression "*(int *)(iVar10 + -0x66e4)" * (cast_expression "(int *)(iVar10 + -0x66e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x66e4)" ( (binary_expression "iVar10 + -0x66e4" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar7 = iVar8 + 1;" (assignment_expression "iVar7 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar9 + -0x66f0) = iVar7;" (assignment_expression "*(int *)(iVar9 + -0x66f0) = iVar7" (pointer_expression "*(int *)(iVar9 + -0x66f0)" * (cast_expression "(int *)(iVar9 + -0x66f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x66f0)" ( (binary_expression "iVar9 + -0x66f0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar4 + iVar8) = uVar1;" (assignment_expression "*(undefined1 *)(iVar4 + iVar8) = uVar1" (pointer_expression "*(undefined1 *)(iVar4 + iVar8)" * (cast_expression "(undefined1 *)(iVar4 + iVar8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar8)" ( (binary_expression "iVar4 + iVar8" identifier + identifier) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar4 + iVar7) = 0;" (assignment_expression "*(undefined1 *)(iVar4 + iVar7) = 0" (pointer_expression "*(undefined1 *)(iVar4 + iVar7)" * (cast_expression "(undefined1 *)(iVar4 + iVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar7)" ( (binary_expression "iVar4 + iVar7" identifier + identifier) )))) = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , LIT , LIT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , LIT , LIT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = LIT) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = LIT) ;) (return_statement return ;) })))
(function_definition "void FUN_000c9060(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined1 uVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  uint uVar5;\n  undefined1 *puVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  undefined *puVar11;\n  undefined4 local_res4;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  \n  puVar3 = PTR___stack_chk_guard_001464dc;\n  puVar11 = PTR___environ_00145154;\n  puVar6 = *(undefined1 **)PTR___stack_chk_guard_001464dc;\n  local_res4 = param_2;\n  local_res8 = param_3;\n  local_resc = param_4;\n  iVar4 = (*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,param_1,&local_res4);\n  iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  if (*(uint *)(puVar11 + -0x66ec) <= iVar4 + 1U) {\n    uVar5 = iVar4 + 0x40U & 0xffffffc0;\n    *(uint *)(puVar11 + -0x66ec) = uVar5;\n    iVar4 = xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5);\n    puVar2 = PTR___vsnprintf_chk_0014630c;\n    *(int *)(puVar11 + -0x66e4) = iVar4;\n    iVar4 = (*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4);\n    iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  }\n  *(int *)(puVar11 + -0x66f0) = iVar4;\n  *(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar4) = 0;\n  if (puVar6 == *(undefined1 **)puVar3) {\n    return;\n  }\n  puVar11 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  iVar9 = *(int *)(puVar11 + 0x7bf9c);\n  iVar7 = *(int *)(iVar9 + -0x66f0);\n  iVar10 = *(int *)(puVar11 + 0x7bf9c);\n  iVar4 = *(int *)(iVar10 + -0x66e4);\n  if (iVar7 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)) {\n    uVar1 = *puVar6;\n    *(int *)(iVar9 + -0x66f0) = iVar7 + 1;\n    *(undefined1 *)(iVar4 + iVar7) = uVar1;\n    *(undefined1 *)(iVar4 + iVar7 + 1) = 0;\n    return;\n  }\n  uVar5 = iVar7 + 0x41U & 0xffffffc0;\n  *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec) = uVar5;\n  iVar4 = xrealloc(iVar4,uVar5);\n  iVar8 = *(int *)(iVar9 + -0x66f0);\n  uVar1 = *puVar6;\n  *(int *)(iVar10 + -0x66e4) = iVar4;\n  iVar7 = iVar8 + 1;\n  *(int *)(iVar9 + -0x66f0) = iVar7;\n  *(undefined1 *)(iVar4 + iVar8) = uVar1;\n  *(undefined1 *)(iVar4 + iVar7) = 0;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_000c9060(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" (identifier "FUN_000c9060") (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) () ")"))) (compound_statement "{\n  undefined1 uVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  uint uVar5;\n  undefined1 *puVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  undefined *puVar11;\n  undefined4 local_res4;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  \n  puVar3 = PTR___stack_chk_guard_001464dc;\n  puVar11 = PTR___environ_00145154;\n  puVar6 = *(undefined1 **)PTR___stack_chk_guard_001464dc;\n  local_res4 = param_2;\n  local_res8 = param_3;\n  local_resc = param_4;\n  iVar4 = (*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,param_1,&local_res4);\n  iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  if (*(uint *)(puVar11 + -0x66ec) <= iVar4 + 1U) {\n    uVar5 = iVar4 + 0x40U & 0xffffffc0;\n    *(uint *)(puVar11 + -0x66ec) = uVar5;\n    iVar4 = xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5);\n    puVar2 = PTR___vsnprintf_chk_0014630c;\n    *(int *)(puVar11 + -0x66e4) = iVar4;\n    iVar4 = (*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4);\n    iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  }\n  *(int *)(puVar11 + -0x66f0) = iVar4;\n  *(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar4) = 0;\n  if (puVar6 == *(undefined1 **)puVar3) {\n    return;\n  }\n  puVar11 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  iVar9 = *(int *)(puVar11 + 0x7bf9c);\n  iVar7 = *(int *)(iVar9 + -0x66f0);\n  iVar10 = *(int *)(puVar11 + 0x7bf9c);\n  iVar4 = *(int *)(iVar10 + -0x66e4);\n  if (iVar7 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)) {\n    uVar1 = *puVar6;\n    *(int *)(iVar9 + -0x66f0) = iVar7 + 1;\n    *(undefined1 *)(iVar4 + iVar7) = uVar1;\n    *(undefined1 *)(iVar4 + iVar7 + 1) = 0;\n    return;\n  }\n  uVar5 = iVar7 + 0x41U & 0xffffffc0;\n  *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec) = uVar5;\n  iVar4 = xrealloc(iVar4,uVar5);\n  iVar8 = *(int *)(iVar9 + -0x66f0);\n  uVar1 = *puVar6;\n  *(int *)(iVar10 + -0x66e4) = iVar4;\n  iVar7 = iVar8 + 1;\n  *(int *)(iVar9 + -0x66f0) = iVar7;\n  *(undefined1 *)(iVar4 + iVar8) = uVar1;\n  *(undefined1 *)(iVar4 + iVar7) = 0;\n  return;\n}" ({ "{") (declaration "undefined1 uVar1;" (type_identifier "undefined1") (identifier "uVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "undefined1 *puVar6;" (type_identifier "undefined1") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "undefined *puVar11;" (type_identifier "undefined") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "undefined4 local_res4;" (type_identifier "undefined4") (identifier "local_res4") (; ";")) (declaration "undefined4 local_res8;" (type_identifier "undefined4") (identifier "local_res8") (; ";")) (declaration "undefined4 local_resc;" (type_identifier "undefined4") (identifier "local_resc") (; ";")) (expression_statement "puVar3 = PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar3 = PTR___stack_chk_guard_001464dc" (identifier "puVar3") (= "=") (identifier "PTR___stack_chk_guard_001464dc")) (; ";")) (expression_statement "puVar11 = PTR___environ_00145154;" (assignment_expression "puVar11 = PTR___environ_00145154" (identifier "puVar11") (= "=") (identifier "PTR___environ_00145154")) (; ";")) (expression_statement "puVar6 = *(undefined1 **)PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar6 = *(undefined1 **)PTR___stack_chk_guard_001464dc" (identifier "puVar6") (= "=") (pointer_expression "*(undefined1 **)PTR___stack_chk_guard_001464dc" (* "*") (cast_expression "(undefined1 **)PTR___stack_chk_guard_001464dc" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_001464dc")))) (; ";")) (expression_statement "local_res4 = param_2;" (assignment_expression "local_res4 = param_2" (identifier "local_res4") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_res8 = param_3;" (assignment_expression "local_res8 = param_3" (identifier "local_res8") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" (identifier "local_resc") (= "=") (identifier "param_4")) (; ";")) (expression_statement "iVar4 = (*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,param_1,&local_res4);" (assignment_expression "iVar4 = (*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,param_1,&local_res4)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR___vsnprintf_chk_0014630c)\n                    (*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,param_1,&local_res4)" (parenthesized_expression "(*(code *)PTR___vsnprintf_chk_0014630c)" (( "(") (pointer_expression "*(code *)PTR___vsnprintf_chk_0014630c" (* "*") (cast_expression "(code *)PTR___vsnprintf_chk_0014630c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___vsnprintf_chk_0014630c"))) () ")")) (argument_list "(*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0),\n                     *(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,param_1,&local_res4)" (( "(") (binary_expression "*(int *)(PTR___environ_00145154 + -0x66e4) +\n                     *(int *)(PTR___environ_00145154 + -0x66f0)" (pointer_expression "*(int *)(PTR___environ_00145154 + -0x66e4)" (* "*") (cast_expression "(int *)(PTR___environ_00145154 + -0x66e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR___environ_00145154 + -0x66e4)" (( "(") (binary_expression "PTR___environ_00145154 + -0x66e4" (identifier "PTR___environ_00145154") (+ "+") (number_literal "-0x66e4")) () ")")))) (+ "+") (pointer_expression "*(int *)(PTR___environ_00145154 + -0x66f0)" (* "*") (cast_expression "(int *)(PTR___environ_00145154 + -0x66f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR___environ_00145154 + -0x66f0)" (( "(") (binary_expression "PTR___environ_00145154 + -0x66f0" (identifier "PTR___environ_00145154") (+ "+") (number_literal "-0x66f0")) () ")"))))) (, ",") (binary_expression "*(int *)(PTR___environ_00145154 + -0x66ec) -\n                     *(int *)(PTR___environ_00145154 + -0x66f0)" (pointer_expression "*(int *)(PTR___environ_00145154 + -0x66ec)" (* "*") (cast_expression "(int *)(PTR___environ_00145154 + -0x66ec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR___environ_00145154 + -0x66ec)" (( "(") (binary_expression "PTR___environ_00145154 + -0x66ec" (identifier "PTR___environ_00145154") (+ "+") (number_literal "-0x66ec")) () ")")))) (- "-") (pointer_expression "*(int *)(PTR___environ_00145154 + -0x66f0)" (* "*") (cast_expression "(int *)(PTR___environ_00145154 + -0x66f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR___environ_00145154 + -0x66f0)" (( "(") (binary_expression "PTR___environ_00145154 + -0x66f0" (identifier "PTR___environ_00145154") (+ "+") (number_literal "-0x66f0")) () ")"))))) (, ",") (number_literal "1") (, ",") (number_literal "0xffffffff") (, ",") (identifier "param_1") (, ",") (pointer_expression "&local_res4" (& "&") (identifier "local_res4")) () ")")))) (; ";")) (expression_statement "iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);" (assignment_expression "iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0)" (identifier "iVar4") (= "=") (binary_expression "iVar4 + *(int *)(puVar11 + -0x66f0)" (identifier "iVar4") (+ "+") (pointer_expression "*(int *)(puVar11 + -0x66f0)" (* "*") (cast_expression "(int *)(puVar11 + -0x66f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + -0x66f0)" (( "(") (binary_expression "puVar11 + -0x66f0" (identifier "puVar11") (+ "+") (number_literal "-0x66f0")) () ")")))))) (; ";")) (if_statement "if (*(uint *)(puVar11 + -0x66ec) <= iVar4 + 1U) {\n    uVar5 = iVar4 + 0x40U & 0xffffffc0;\n    *(uint *)(puVar11 + -0x66ec) = uVar5;\n    iVar4 = xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5);\n    puVar2 = PTR___vsnprintf_chk_0014630c;\n    *(int *)(puVar11 + -0x66e4) = iVar4;\n    iVar4 = (*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4);\n    iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  }" (if "if") (parenthesized_expression "(*(uint *)(puVar11 + -0x66ec) <= iVar4 + 1U)" (( "(") (binary_expression "*(uint *)(puVar11 + -0x66ec) <= iVar4 + 1U" (pointer_expression "*(uint *)(puVar11 + -0x66ec)" (* "*") (cast_expression "(uint *)(puVar11 + -0x66ec)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + -0x66ec)" (( "(") (binary_expression "puVar11 + -0x66ec" (identifier "puVar11") (+ "+") (number_literal "-0x66ec")) () ")")))) (<= "<=") (binary_expression "iVar4 + 1U" (identifier "iVar4") (+ "+") (number_literal "1U"))) () ")")) (compound_statement "{\n    uVar5 = iVar4 + 0x40U & 0xffffffc0;\n    *(uint *)(puVar11 + -0x66ec) = uVar5;\n    iVar4 = xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5);\n    puVar2 = PTR___vsnprintf_chk_0014630c;\n    *(int *)(puVar11 + -0x66e4) = iVar4;\n    iVar4 = (*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4);\n    iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);\n  }" ({ "{") (expression_statement "uVar5 = iVar4 + 0x40U & 0xffffffc0;" (assignment_expression "uVar5 = iVar4 + 0x40U & 0xffffffc0" (identifier "uVar5") (= "=") (binary_expression "iVar4 + 0x40U & 0xffffffc0" (binary_expression "iVar4 + 0x40U" (identifier "iVar4") (+ "+") (number_literal "0x40U")) (& "&") (number_literal "0xffffffc0"))) (; ";")) (expression_statement "*(uint *)(puVar11 + -0x66ec) = uVar5;" (assignment_expression "*(uint *)(puVar11 + -0x66ec) = uVar5" (pointer_expression "*(uint *)(puVar11 + -0x66ec)" (* "*") (cast_expression "(uint *)(puVar11 + -0x66ec)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + -0x66ec)" (( "(") (binary_expression "puVar11 + -0x66ec" (identifier "puVar11") (+ "+") (number_literal "-0x66ec")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "iVar4 = xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5);" (assignment_expression "iVar4 = xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5)" (identifier "iVar4") (= "=") (call_expression "xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5)" (identifier "xrealloc") (argument_list "(*(undefined4 *)(puVar11 + -0x66e4),uVar5)" (( "(") (pointer_expression "*(undefined4 *)(puVar11 + -0x66e4)" (* "*") (cast_expression "(undefined4 *)(puVar11 + -0x66e4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + -0x66e4)" (( "(") (binary_expression "puVar11 + -0x66e4" (identifier "puVar11") (+ "+") (number_literal "-0x66e4")) () ")")))) (, ",") (identifier "uVar5") () ")")))) (; ";")) (expression_statement "puVar2 = PTR___vsnprintf_chk_0014630c;" (assignment_expression "puVar2 = PTR___vsnprintf_chk_0014630c" (identifier "puVar2") (= "=") (identifier "PTR___vsnprintf_chk_0014630c")) (; ";")) (expression_statement "*(int *)(puVar11 + -0x66e4) = iVar4;" (assignment_expression "*(int *)(puVar11 + -0x66e4) = iVar4" (pointer_expression "*(int *)(puVar11 + -0x66e4)" (* "*") (cast_expression "(int *)(puVar11 + -0x66e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + -0x66e4)" (( "(") (binary_expression "puVar11 + -0x66e4" (identifier "puVar11") (+ "+") (number_literal "-0x66e4")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "iVar4 = (*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4);" (assignment_expression "iVar4 = (*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4)" (identifier "iVar4") (= "=") (call_expression "(*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4)" (parenthesized_expression "(*(code *)puVar2)" (( "(") (pointer_expression "*(code *)puVar2" (* "*") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (argument_list "(iVar4 + *(int *)(puVar11 + -0x66f0),\n                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff\n                              ,param_1,&local_res4)" (( "(") (binary_expression "iVar4 + *(int *)(puVar11 + -0x66f0)" (identifier "iVar4") (+ "+") (pointer_expression "*(int *)(puVar11 + -0x66f0)" (* "*") (cast_expression "(int *)(puVar11 + -0x66f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + -0x66f0)" (( "(") (binary_expression "puVar11 + -0x66f0" (identifier "puVar11") (+ "+") (number_literal "-0x66f0")) () ")"))))) (, ",") (binary_expression "*(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0)" (pointer_expression "*(int *)(puVar11 + -0x66ec)" (* "*") (cast_expression "(int *)(puVar11 + -0x66ec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + -0x66ec)" (( "(") (binary_expression "puVar11 + -0x66ec" (identifier "puVar11") (+ "+") (number_literal "-0x66ec")) () ")")))) (- "-") (pointer_expression "*(int *)(puVar11 + -0x66f0)" (* "*") (cast_expression "(int *)(puVar11 + -0x66f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + -0x66f0)" (( "(") (binary_expression "puVar11 + -0x66f0" (identifier "puVar11") (+ "+") (number_literal "-0x66f0")) () ")"))))) (, ",") (number_literal "1") (, ",") (number_literal "0xffffffff") (, ",") (identifier "param_1") (, ",") (pointer_expression "&local_res4" (& "&") (identifier "local_res4")) () ")")))) (; ";")) (expression_statement "iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);" (assignment_expression "iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0)" (identifier "iVar4") (= "=") (binary_expression "iVar4 + *(int *)(puVar11 + -0x66f0)" (identifier "iVar4") (+ "+") (pointer_expression "*(int *)(puVar11 + -0x66f0)" (* "*") (cast_expression "(int *)(puVar11 + -0x66f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + -0x66f0)" (( "(") (binary_expression "puVar11 + -0x66f0" (identifier "puVar11") (+ "+") (number_literal "-0x66f0")) () ")")))))) (; ";")) (} "}"))) (expression_statement "*(int *)(puVar11 + -0x66f0) = iVar4;" (assignment_expression "*(int *)(puVar11 + -0x66f0) = iVar4" (pointer_expression "*(int *)(puVar11 + -0x66f0)" (* "*") (cast_expression "(int *)(puVar11 + -0x66f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + -0x66f0)" (( "(") (binary_expression "puVar11 + -0x66f0" (identifier "puVar11") (+ "+") (number_literal "-0x66f0")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar4) = 0;" (assignment_expression "*(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar4) = 0" (pointer_expression "*(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar4)" (* "*") (cast_expression "(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar11 + -0x66e4) + iVar4)" (( "(") (binary_expression "*(int *)(puVar11 + -0x66e4) + iVar4" (pointer_expression "*(int *)(puVar11 + -0x66e4)" (* "*") (cast_expression "(int *)(puVar11 + -0x66e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + -0x66e4)" (( "(") (binary_expression "puVar11 + -0x66e4" (identifier "puVar11") (+ "+") (number_literal "-0x66e4")) () ")")))) (+ "+") (identifier "iVar4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar6 == *(undefined1 **)puVar3) {\n    return;\n  }" (if "if") (parenthesized_expression "(puVar6 == *(undefined1 **)puVar3)" (( "(") (binary_expression "puVar6 == *(undefined1 **)puVar3" (identifier "puVar6") (== "==") (pointer_expression "*(undefined1 **)puVar3" (* "*") (cast_expression "(undefined1 **)puVar3" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar3")))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "puVar11 = PTR___stack_chk_fail_00146488;" (assignment_expression "puVar11 = PTR___stack_chk_fail_00146488" (identifier "puVar11") (= "=") (identifier "PTR___stack_chk_fail_00146488")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_00146488)();" (call_expression "(*(code *)PTR___stack_chk_fail_00146488)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00146488)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_00146488" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_00146488" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00146488"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar9 = *(int *)(puVar11 + 0x7bf9c);" (assignment_expression "iVar9 = *(int *)(puVar11 + 0x7bf9c)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(puVar11 + 0x7bf9c)" (* "*") (cast_expression "(int *)(puVar11 + 0x7bf9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x7bf9c)" (( "(") (binary_expression "puVar11 + 0x7bf9c" (identifier "puVar11") (+ "+") (number_literal "0x7bf9c")) () ")"))))) (; ";")) (expression_statement "iVar7 = *(int *)(iVar9 + -0x66f0);" (assignment_expression "iVar7 = *(int *)(iVar9 + -0x66f0)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar9 + -0x66f0)" (* "*") (cast_expression "(int *)(iVar9 + -0x66f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + -0x66f0)" (( "(") (binary_expression "iVar9 + -0x66f0" (identifier "iVar9") (+ "+") (number_literal "-0x66f0")) () ")"))))) (; ";")) (expression_statement "iVar10 = *(int *)(puVar11 + 0x7bf9c);" (assignment_expression "iVar10 = *(int *)(puVar11 + 0x7bf9c)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(puVar11 + 0x7bf9c)" (* "*") (cast_expression "(int *)(puVar11 + 0x7bf9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x7bf9c)" (( "(") (binary_expression "puVar11 + 0x7bf9c" (identifier "puVar11") (+ "+") (number_literal "0x7bf9c")) () ")"))))) (; ";")) (expression_statement "iVar4 = *(int *)(iVar10 + -0x66e4);" (assignment_expression "iVar4 = *(int *)(iVar10 + -0x66e4)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar10 + -0x66e4)" (* "*") (cast_expression "(int *)(iVar10 + -0x66e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + -0x66e4)" (( "(") (binary_expression "iVar10 + -0x66e4" (identifier "iVar10") (+ "+") (number_literal "-0x66e4")) () ")"))))) (; ";")) (if_statement "if (iVar7 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)) {\n    uVar1 = *puVar6;\n    *(int *)(iVar9 + -0x66f0) = iVar7 + 1;\n    *(undefined1 *)(iVar4 + iVar7) = uVar1;\n    *(undefined1 *)(iVar4 + iVar7 + 1) = 0;\n    return;\n  }" (if "if") (parenthesized_expression "(iVar7 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec))" (( "(") (binary_expression "iVar7 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" (binary_expression "iVar7 + 2U" (identifier "iVar7") (+ "+") (number_literal "2U")) (< "<") (pointer_expression "*(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" (* "*") (cast_expression "(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" (( "(") (binary_expression "*(int *)(puVar11 + 0x7bf9c) + -0x66ec" (pointer_expression "*(int *)(puVar11 + 0x7bf9c)" (* "*") (cast_expression "(int *)(puVar11 + 0x7bf9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x7bf9c)" (( "(") (binary_expression "puVar11 + 0x7bf9c" (identifier "puVar11") (+ "+") (number_literal "0x7bf9c")) () ")")))) (+ "+") (number_literal "-0x66ec")) () ")"))))) () ")")) (compound_statement "{\n    uVar1 = *puVar6;\n    *(int *)(iVar9 + -0x66f0) = iVar7 + 1;\n    *(undefined1 *)(iVar4 + iVar7) = uVar1;\n    *(undefined1 *)(iVar4 + iVar7 + 1) = 0;\n    return;\n  }" ({ "{") (expression_statement "uVar1 = *puVar6;" (assignment_expression "uVar1 = *puVar6" (identifier "uVar1") (= "=") (pointer_expression "*puVar6" (* "*") (identifier "puVar6"))) (; ";")) (expression_statement "*(int *)(iVar9 + -0x66f0) = iVar7 + 1;" (assignment_expression "*(int *)(iVar9 + -0x66f0) = iVar7 + 1" (pointer_expression "*(int *)(iVar9 + -0x66f0)" (* "*") (cast_expression "(int *)(iVar9 + -0x66f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + -0x66f0)" (( "(") (binary_expression "iVar9 + -0x66f0" (identifier "iVar9") (+ "+") (number_literal "-0x66f0")) () ")")))) (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined1 *)(iVar4 + iVar7) = uVar1;" (assignment_expression "*(undefined1 *)(iVar4 + iVar7) = uVar1" (pointer_expression "*(undefined1 *)(iVar4 + iVar7)" (* "*") (cast_expression "(undefined1 *)(iVar4 + iVar7)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + iVar7)" (( "(") (binary_expression "iVar4 + iVar7" (identifier "iVar4") (+ "+") (identifier "iVar7")) () ")")))) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "*(undefined1 *)(iVar4 + iVar7 + 1) = 0;" (assignment_expression "*(undefined1 *)(iVar4 + iVar7 + 1) = 0" (pointer_expression "*(undefined1 *)(iVar4 + iVar7 + 1)" (* "*") (cast_expression "(undefined1 *)(iVar4 + iVar7 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + iVar7 + 1)" (( "(") (binary_expression "iVar4 + iVar7 + 1" (binary_expression "iVar4 + iVar7" (identifier "iVar4") (+ "+") (identifier "iVar7")) (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar5 = iVar7 + 0x41U & 0xffffffc0;" (assignment_expression "uVar5 = iVar7 + 0x41U & 0xffffffc0" (identifier "uVar5") (= "=") (binary_expression "iVar7 + 0x41U & 0xffffffc0" (binary_expression "iVar7 + 0x41U" (identifier "iVar7") (+ "+") (number_literal "0x41U")) (& "&") (number_literal "0xffffffc0"))) (; ";")) (expression_statement "*(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec) = uVar5;" (assignment_expression "*(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec) = uVar5" (pointer_expression "*(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" (* "*") (cast_expression "(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)" (( "(") (binary_expression "*(int *)(puVar11 + 0x7bf9c) + -0x66ec" (pointer_expression "*(int *)(puVar11 + 0x7bf9c)" (* "*") (cast_expression "(int *)(puVar11 + 0x7bf9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x7bf9c)" (( "(") (binary_expression "puVar11 + 0x7bf9c" (identifier "puVar11") (+ "+") (number_literal "0x7bf9c")) () ")")))) (+ "+") (number_literal "-0x66ec")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "iVar4 = xrealloc(iVar4,uVar5);" (assignment_expression "iVar4 = xrealloc(iVar4,uVar5)" (identifier "iVar4") (= "=") (call_expression "xrealloc(iVar4,uVar5)" (identifier "xrealloc") (argument_list "(iVar4,uVar5)" (( "(") (identifier "iVar4") (, ",") (identifier "uVar5") () ")")))) (; ";")) (expression_statement "iVar8 = *(int *)(iVar9 + -0x66f0);" (assignment_expression "iVar8 = *(int *)(iVar9 + -0x66f0)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(iVar9 + -0x66f0)" (* "*") (cast_expression "(int *)(iVar9 + -0x66f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + -0x66f0)" (( "(") (binary_expression "iVar9 + -0x66f0" (identifier "iVar9") (+ "+") (number_literal "-0x66f0")) () ")"))))) (; ";")) (expression_statement "uVar1 = *puVar6;" (assignment_expression "uVar1 = *puVar6" (identifier "uVar1") (= "=") (pointer_expression "*puVar6" (* "*") (identifier "puVar6"))) (; ";")) (expression_statement "*(int *)(iVar10 + -0x66e4) = iVar4;" (assignment_expression "*(int *)(iVar10 + -0x66e4) = iVar4" (pointer_expression "*(int *)(iVar10 + -0x66e4)" (* "*") (cast_expression "(int *)(iVar10 + -0x66e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + -0x66e4)" (( "(") (binary_expression "iVar10 + -0x66e4" (identifier "iVar10") (+ "+") (number_literal "-0x66e4")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "iVar7 = iVar8 + 1;" (assignment_expression "iVar7 = iVar8 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(iVar9 + -0x66f0) = iVar7;" (assignment_expression "*(int *)(iVar9 + -0x66f0) = iVar7" (pointer_expression "*(int *)(iVar9 + -0x66f0)" (* "*") (cast_expression "(int *)(iVar9 + -0x66f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + -0x66f0)" (( "(") (binary_expression "iVar9 + -0x66f0" (identifier "iVar9") (+ "+") (number_literal "-0x66f0")) () ")")))) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "*(undefined1 *)(iVar4 + iVar8) = uVar1;" (assignment_expression "*(undefined1 *)(iVar4 + iVar8) = uVar1" (pointer_expression "*(undefined1 *)(iVar4 + iVar8)" (* "*") (cast_expression "(undefined1 *)(iVar4 + iVar8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + iVar8)" (( "(") (binary_expression "iVar4 + iVar8" (identifier "iVar4") (+ "+") (identifier "iVar8")) () ")")))) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "*(undefined1 *)(iVar4 + iVar7) = 0;" (assignment_expression "*(undefined1 *)(iVar4 + iVar7) = 0" (pointer_expression "*(undefined1 *)(iVar4 + iVar7)" (* "*") (cast_expression "(undefined1 *)(iVar4 + iVar7)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + iVar7)" (( "(") (binary_expression "iVar4 + iVar7" (identifier "iVar4") (+ "+") (identifier "iVar7")) () ")")))) (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (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: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (number_literal) (number_literal) (identifier) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (number_literal) (number_literal) (identifier) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))) right: (number_literal))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (number_literal))) (return_statement))))

void MASKED(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)

{
  undefined1 uVar1;
  undefined *puVar2;
  undefined *puVar3;
  int iVar4;
  uint uVar5;
  undefined1 *puVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  undefined *puVar11;
  undefined4 local_res4;
  undefined4 local_res8;
  undefined4 local_resc;
  
  puVar3 = PTR___stack_chk_guard_001464dc;
  puVar11 = PTR___environ_00145154;
  puVar6 = *(undefined1 **)PTR___stack_chk_guard_001464dc;
  local_res4 = param_2;
  local_res8 = param_3;
  local_resc = param_4;
  iVar4 = (*(code *)PTR___vsnprintf_chk_0014630c)
                    (*(int *)(PTR___environ_00145154 + -0x66e4) +
                     *(int *)(PTR___environ_00145154 + -0x66f0),
                     *(int *)(PTR___environ_00145154 + -0x66ec) -
                     *(int *)(PTR___environ_00145154 + -0x66f0),1,0xffffffff,param_1,&local_res4);
  iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);
  if (*(uint *)(puVar11 + -0x66ec) <= iVar4 + 1U) {
    uVar5 = iVar4 + 0x40U & 0xffffffc0;
    *(uint *)(puVar11 + -0x66ec) = uVar5;
    iVar4 = xrealloc(*(undefined4 *)(puVar11 + -0x66e4),uVar5);
    puVar2 = PTR___vsnprintf_chk_0014630c;
    *(int *)(puVar11 + -0x66e4) = iVar4;
    iVar4 = (*(code *)puVar2)(iVar4 + *(int *)(puVar11 + -0x66f0),
                              *(int *)(puVar11 + -0x66ec) - *(int *)(puVar11 + -0x66f0),1,0xffffffff
                              ,param_1,&local_res4);
    iVar4 = iVar4 + *(int *)(puVar11 + -0x66f0);
  }
  *(int *)(puVar11 + -0x66f0) = iVar4;
  *(undefined1 *)(*(int *)(puVar11 + -0x66e4) + iVar4) = 0;
  if (puVar6 == *(undefined1 **)puVar3) {
    return;
  }
  puVar11 = PTR___stack_chk_fail_00146488;
  (*(code *)PTR___stack_chk_fail_00146488)();
  iVar9 = *(int *)(puVar11 + 0x7bf9c);
  iVar7 = *(int *)(iVar9 + -0x66f0);
  iVar10 = *(int *)(puVar11 + 0x7bf9c);
  iVar4 = *(int *)(iVar10 + -0x66e4);
  if (iVar7 + 2U < *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec)) {
    uVar1 = *puVar6;
    *(int *)(iVar9 + -0x66f0) = iVar7 + 1;
    *(undefined1 *)(iVar4 + iVar7) = uVar1;
    *(undefined1 *)(iVar4 + iVar7 + 1) = 0;
    return;
  }
  uVar5 = iVar7 + 0x41U & 0xffffffc0;
  *(uint *)(*(int *)(puVar11 + 0x7bf9c) + -0x66ec) = uVar5;
  iVar4 = xrealloc(iVar4,uVar5);
  iVar8 = *(int *)(iVar9 + -0x66f0);
  uVar1 = *puVar6;
  *(int *)(iVar10 + -0x66e4) = iVar4;
  iVar7 = iVar8 + 1;
  *(int *)(iVar9 + -0x66f0) = iVar7;
  *(undefined1 *)(iVar4 + iVar8) = uVar1;
  *(undefined1 *)(iVar4 + iVar7) = 0;
  return;
}

