
void argmatch_valid(char **arglist,char *vallist,size_t valsize)

{
  undefined *puVar1;
  undefined4 uVar2;
  undefined *puVar3;
  int iVar4;
  undefined1 *puVar5;
  char **ppcVar6;
  char *pcVar7;
  int iVar8;
  char *pcVar9;
  undefined *puVar10;
  
  uVar2 = (*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5);
  (*(code *)PTR_fputs_unlocked_0002c328)(uVar2,*(undefined4 *)PTR_stderr_0002c310);
  puVar1 = PTR_stderr_0002c310;
  pcVar7 = *arglist;
  ppcVar6 = arglist + 1;
  if (pcVar7 != (char *)0x0) {
    pcVar9 = (char *)0x0;
    iVar8 = 0;
    puVar10 = PTR_DAT_0002c118 + -0x48ec;
    puVar3 = PTR_DAT_0002c118 + -0x48e4;
    do {
      if ((iVar8 == 0) ||
         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(pcVar9,vallist,valsize), iVar4 != 0)) {
        uVar2 = *(undefined4 *)puVar1;
        pcVar7 = quote(pcVar7);
        (*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar10,pcVar7);
        pcVar9 = vallist;
      }
      else {
        uVar2 = *(undefined4 *)puVar1;
        pcVar7 = quote(pcVar7);
        (*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar3,pcVar7);
      }
      iVar8 = iVar8 + 1;
      pcVar7 = *ppcVar6;
      vallist = vallist + valsize;
      ppcVar6 = ppcVar6 + 1;
    } while (pcVar7 != (char *)0x0);
  }
  iVar8 = *(int *)PTR_stderr_0002c310;
  puVar5 = *(undefined1 **)(iVar8 + 0x14);
  if (puVar5 < *(undefined1 **)(iVar8 + 0x18)) {
    *(undefined1 **)(iVar8 + 0x14) = puVar5 + 1;
    *puVar5 = 10;
  }
  else {
    (*(code *)PTR___overflow_0002c25c)(iVar8,10);
  }
  return;
}



void argmatch_valid(int *param_1,int param_2,int param_3)

{
  undefined *puVar1;
  undefined4 uVar2;
  undefined *puVar3;
  int iVar4;
  undefined1 *puVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  undefined *puVar9;
  undefined4 uVar10;
  
  uVar2 = (*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5);
  (*(code *)PTR_fputs_unlocked_0002c328)(uVar2,*(undefined4 *)PTR_stderr_0002c310);
  puVar1 = PTR_stderr_0002c310;
  iVar6 = *param_1;
  param_1 = param_1 + 1;
  if (iVar6 != 0) {
    iVar8 = 0;
    iVar7 = 0;
    puVar9 = PTR_DAT_0002c118 + -0x48ec;
    puVar3 = PTR_DAT_0002c118 + -0x48e4;
    do {
      if ((iVar7 == 0) ||
         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {
        uVar10 = *(undefined4 *)puVar1;
        uVar2 = quote(iVar6);
        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);
        iVar8 = param_2;
      }
      else {
        uVar10 = *(undefined4 *)puVar1;
        uVar2 = quote(iVar6);
        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);
      }
      iVar7 = iVar7 + 1;
      iVar6 = *param_1;
      param_2 = param_2 + param_3;
      param_1 = param_1 + 1;
    } while (iVar6 != 0);
  }
  iVar6 = *(int *)PTR_stderr_0002c310;
  puVar5 = *(undefined1 **)(iVar6 + 0x14);
  if (puVar5 < *(undefined1 **)(iVar6 + 0x18)) {
    *(undefined1 **)(iVar6 + 0x14) = puVar5 + 1;
    *puVar5 = 10;
  }
  else {
    (*(code *)PTR___overflow_0002c25c)(iVar6,10);
  }
  return;
}


lui gp,0x2
addiu gp,gp,-0x4f2c
addu gp,gp,t9
addiu sp,sp,-0x48
sw ra,0x44(sp)
sw s8,0x40(sp)
sw s7,0x3c(sp)
sw s6,0x38(sp)
sw s5,0x34(sp)
sw s4,0x30(sp)
sw s3,0x2c(sp)
sw s2,0x28(sp)
sw s1,0x24(sp)
sw s0,0x20(sp)
sw gp,0x10(sp)
or s1,a0,zero
or s0,a1,zero
or s4,a2,zero
li a2,0x5
lw a1,-0x7fc8(gp)
addiu a1,a1,-0x4904
or a0,zero,zero
lw t9,-0x7df4(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw v1,-0x7dd0(gp)
lw a1,0x0(v1)
or a0,v0,zero
lw t9,-0x7db8(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw s2,0x0(s1)
beq s2,zero,0x00019174
_addiu s1,s1,0x4
or s5,zero,zero
or s3,zero,zero
lw s6,-0x7dd0(gp)
lw s7,-0x7fc8(gp)
addiu s7,s7,-0x48ec
lw v0,-0x7fc8(gp)
addiu v0,v0,-0x48e4
b 0x00019110
_sw v0,0x1c(sp)
lw s5,0x0(s6)
or a0,s2,zero
lw t9,-0x7ee8(gp)
bal 0x00016320
_nop
lw gp,0x10(sp)
or a3,v0,zero
or a2,s7,zero
li a1,0x1
or a0,s5,zero
lw t9,-0x7ea0(gp)
jalr t9
_nop
lw gp,0x10(sp)
or s5,s0,zero
addiu s3,s3,0x1
lw s2,0x0(s1)
addu s0,s0,s4
beq s2,zero,0x00019174
_addiu s1,s1,0x4
beq s3,zero,0x000190c0
_or a2,s4,zero
or a1,s0,zero
or a0,s5,zero
lw t9,-0x7df0(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x000190c0
_or a0,s2,zero
lw s8,0x0(s6)
lw t9,-0x7ee8(gp)
bal 0x00016320
_nop
lw gp,0x10(sp)
or a3,v0,zero
lw a2,0x1c(sp)
li a1,0x1
or a0,s8,zero
lw t9,-0x7ea0(gp)
jalr t9
_nop
lw gp,0x10(sp)
b 0x00019100
_addiu s3,s3,0x1
lw v0,-0x7dd0(gp)
lw a0,0x0(v0)
lw v1,0x14(a0)
lw v0,0x18(a0)
sltu v0,v1,v0
beq v0,zero,0x000191cc
_addiu v0,v1,0x1
sw v0,0x14(a0)
li v0,0xa
sb v0,0x0(v1)
lw ra,0x44(sp)
lw s8,0x40(sp)
lw s7,0x3c(sp)
lw s6,0x38(sp)
lw s5,0x34(sp)
lw s4,0x30(sp)
lw s3,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
jr ra
_addiu sp,sp,0x48
li a1,0xa
lw t9,-0x7e84(gp)
jalr t9
_nop
lw gp,0x10(sp)
b 0x000191a0
_lw ra,0x44(sp)
(translation_unit "void argmatch_valid(int *param_1,int param_2,int param_3)\n\n{\n  undefined *puVar1;\n  undefined4 uVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  undefined *puVar9;\n  undefined4 uVar10;\n  \n  uVar2 = (*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5);\n  (*(code *)PTR_fputs_unlocked_0002c328)(uVar2,*(undefined4 *)PTR_stderr_0002c310);\n  puVar1 = PTR_stderr_0002c310;\n  iVar6 = *param_1;\n  param_1 = param_1 + 1;\n  if (iVar6 != 0) {\n    iVar8 = 0;\n    iVar7 = 0;\n    puVar9 = PTR_DAT_0002c118 + -0x48ec;\n    puVar3 = PTR_DAT_0002c118 + -0x48e4;\n    do {\n      if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }\n      iVar7 = iVar7 + 1;\n      iVar6 = *param_1;\n      param_2 = param_2 + param_3;\n      param_1 = param_1 + 1;\n    } while (iVar6 != 0);\n  }\n  iVar6 = *(int *)PTR_stderr_0002c310;\n  puVar5 = *(undefined1 **)(iVar6 + 0x14);\n  if (puVar5 < *(undefined1 **)(iVar6 + 0x18)) {\n    *(undefined1 **)(iVar6 + 0x14) = puVar5 + 1;\n    *puVar5 = 10;\n  }\n  else {\n    (*(code *)PTR___overflow_0002c25c)(iVar6,10);\n  }\n  return;\n}\n\n" (function_definition "void argmatch_valid(int *param_1,int param_2,int param_3)\n\n{\n  undefined *puVar1;\n  undefined4 uVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  undefined *puVar9;\n  undefined4 uVar10;\n  \n  uVar2 = (*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5);\n  (*(code *)PTR_fputs_unlocked_0002c328)(uVar2,*(undefined4 *)PTR_stderr_0002c310);\n  puVar1 = PTR_stderr_0002c310;\n  iVar6 = *param_1;\n  param_1 = param_1 + 1;\n  if (iVar6 != 0) {\n    iVar8 = 0;\n    iVar7 = 0;\n    puVar9 = PTR_DAT_0002c118 + -0x48ec;\n    puVar3 = PTR_DAT_0002c118 + -0x48e4;\n    do {\n      if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }\n      iVar7 = iVar7 + 1;\n      iVar6 = *param_1;\n      param_2 = param_2 + param_3;\n      param_1 = param_1 + 1;\n    } while (iVar6 != 0);\n  }\n  iVar6 = *(int *)PTR_stderr_0002c310;\n  puVar5 = *(undefined1 **)(iVar6 + 0x14);\n  if (puVar5 < *(undefined1 **)(iVar6 + 0x18)) {\n    *(undefined1 **)(iVar6 + 0x14) = puVar5 + 1;\n    *puVar5 = 10;\n  }\n  else {\n    (*(code *)PTR___overflow_0002c25c)(iVar6,10);\n  }\n  return;\n}" primitive_type (function_declarator "argmatch_valid(int *param_1,int param_2,int param_3)" identifier (parameter_list "(int *param_1,int param_2,int param_3)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined4 uVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  undefined *puVar9;\n  undefined4 uVar10;\n  \n  uVar2 = (*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5);\n  (*(code *)PTR_fputs_unlocked_0002c328)(uVar2,*(undefined4 *)PTR_stderr_0002c310);\n  puVar1 = PTR_stderr_0002c310;\n  iVar6 = *param_1;\n  param_1 = param_1 + 1;\n  if (iVar6 != 0) {\n    iVar8 = 0;\n    iVar7 = 0;\n    puVar9 = PTR_DAT_0002c118 + -0x48ec;\n    puVar3 = PTR_DAT_0002c118 + -0x48e4;\n    do {\n      if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }\n      iVar7 = iVar7 + 1;\n      iVar6 = *param_1;\n      param_2 = param_2 + param_3;\n      param_1 = param_1 + 1;\n    } while (iVar6 != 0);\n  }\n  iVar6 = *(int *)PTR_stderr_0002c310;\n  puVar5 = *(undefined1 **)(iVar6 + 0x14);\n  if (puVar5 < *(undefined1 **)(iVar6 + 0x18)) {\n    *(undefined1 **)(iVar6 + 0x14) = puVar5 + 1;\n    *puVar5 = 10;\n  }\n  else {\n    (*(code *)PTR___overflow_0002c25c)(iVar6,10);\n  }\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (expression_statement "uVar2 = (*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5);" (assignment_expression "uVar2 = (*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0002c2ec)" ( (pointer_expression "*(code *)PTR_dcgettext_0002c2ec" * (cast_expression "(code *)PTR_dcgettext_0002c2ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0002c118 + -0x4904,5)" ( number_literal , (binary_expression "PTR_DAT_0002c118 + -0x4904" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR_fputs_unlocked_0002c328)(uVar2,*(undefined4 *)PTR_stderr_0002c310);" (call_expression "(*(code *)PTR_fputs_unlocked_0002c328)(uVar2,*(undefined4 *)PTR_stderr_0002c310)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_0002c328)" ( (pointer_expression "*(code *)PTR_fputs_unlocked_0002c328" * (cast_expression "(code *)PTR_fputs_unlocked_0002c328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar2,*(undefined4 *)PTR_stderr_0002c310)" ( identifier , (pointer_expression "*(undefined4 *)PTR_stderr_0002c310" * (cast_expression "(undefined4 *)PTR_stderr_0002c310" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "puVar1 = PTR_stderr_0002c310;" (assignment_expression "puVar1 = PTR_stderr_0002c310" identifier = identifier) ;) (expression_statement "iVar6 = *param_1;" (assignment_expression "iVar6 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) (if_statement "if (iVar6 != 0) {\n    iVar8 = 0;\n    iVar7 = 0;\n    puVar9 = PTR_DAT_0002c118 + -0x48ec;\n    puVar3 = PTR_DAT_0002c118 + -0x48e4;\n    do {\n      if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }\n      iVar7 = iVar7 + 1;\n      iVar6 = *param_1;\n      param_2 = param_2 + param_3;\n      param_1 = param_1 + 1;\n    } while (iVar6 != 0);\n  }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar8 = 0;\n    iVar7 = 0;\n    puVar9 = PTR_DAT_0002c118 + -0x48ec;\n    puVar3 = PTR_DAT_0002c118 + -0x48e4;\n    do {\n      if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }\n      iVar7 = iVar7 + 1;\n      iVar6 = *param_1;\n      param_2 = param_2 + param_3;\n      param_1 = param_1 + 1;\n    } while (iVar6 != 0);\n  }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "puVar9 = PTR_DAT_0002c118 + -0x48ec;" (assignment_expression "puVar9 = PTR_DAT_0002c118 + -0x48ec" identifier = (binary_expression "PTR_DAT_0002c118 + -0x48ec" identifier + number_literal)) ;) (expression_statement "puVar3 = PTR_DAT_0002c118 + -0x48e4;" (assignment_expression "puVar3 = PTR_DAT_0002c118 + -0x48e4" identifier = (binary_expression "PTR_DAT_0002c118 + -0x48e4" identifier + number_literal)) ;) (do_statement "do {\n      if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }\n      iVar7 = iVar7 + 1;\n      iVar6 = *param_1;\n      param_2 = param_2 + param_3;\n      param_1 = param_1 + 1;\n    } while (iVar6 != 0);" do (compound_statement "{\n      if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }\n      iVar7 = iVar7 + 1;\n      iVar6 = *param_1;\n      param_2 = param_2 + param_3;\n      param_1 = param_1 + 1;\n    }" { (if_statement "if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }" if (parenthesized_expression "((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0))" ( (binary_expression "(iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)" ( (comma_expression "iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0" (assignment_expression "iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3)" identifier = (call_expression "(*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3)" (parenthesized_expression "(*(code *)PTR_memcmp_0002c2f0)" ( (pointer_expression "*(code *)PTR_memcmp_0002c2f0" * (cast_expression "(code *)PTR_memcmp_0002c2f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8,param_2,param_3)" ( identifier , identifier , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }" { (expression_statement "uVar10 = *(undefined4 *)puVar1;" (assignment_expression "uVar10 = *(undefined4 *)puVar1" identifier = (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar2 = quote(iVar6);" (assignment_expression "uVar2 = quote(iVar6)" identifier = (call_expression "quote(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);" (call_expression "(*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0002c240)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0002c240" * (cast_expression "(code *)PTR___fprintf_chk_0002c240" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,1,puVar9,uVar2)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "iVar8 = param_2;" (assignment_expression "iVar8 = param_2" identifier = identifier) ;) }) (else_clause "else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }" else (compound_statement "{\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }" { (expression_statement "uVar10 = *(undefined4 *)puVar1;" (assignment_expression "uVar10 = *(undefined4 *)puVar1" identifier = (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar2 = quote(iVar6);" (assignment_expression "uVar2 = quote(iVar6)" identifier = (call_expression "quote(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);" (call_expression "(*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0002c240)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0002c240" * (cast_expression "(code *)PTR___fprintf_chk_0002c240" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,1,puVar3,uVar2)" ( identifier , number_literal , identifier , identifier ))) ;) }))) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar6 = *param_1;" (assignment_expression "iVar6 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "param_2 = param_2 + param_3;" (assignment_expression "param_2 = param_2 + param_3" identifier = (binary_expression "param_2 + param_3" identifier + identifier)) ;) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) ;) })) (expression_statement "iVar6 = *(int *)PTR_stderr_0002c310;" (assignment_expression "iVar6 = *(int *)PTR_stderr_0002c310" identifier = (pointer_expression "*(int *)PTR_stderr_0002c310" * (cast_expression "(int *)PTR_stderr_0002c310" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar5 = *(undefined1 **)(iVar6 + 0x14);" (assignment_expression "puVar5 = *(undefined1 **)(iVar6 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" * (cast_expression "(undefined1 **)(iVar6 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar5 < *(undefined1 **)(iVar6 + 0x18)) {\n    *(undefined1 **)(iVar6 + 0x14) = puVar5 + 1;\n    *puVar5 = 10;\n  }\n  else {\n    (*(code *)PTR___overflow_0002c25c)(iVar6,10);\n  }" if (parenthesized_expression "(puVar5 < *(undefined1 **)(iVar6 + 0x18))" ( (binary_expression "puVar5 < *(undefined1 **)(iVar6 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(iVar6 + 0x18)" * (cast_expression "(undefined1 **)(iVar6 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n    *(undefined1 **)(iVar6 + 0x14) = puVar5 + 1;\n    *puVar5 = 10;\n  }" { (expression_statement "*(undefined1 **)(iVar6 + 0x14) = puVar5 + 1;" (assignment_expression "*(undefined1 **)(iVar6 + 0x14) = puVar5 + 1" (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" * (cast_expression "(undefined1 **)(iVar6 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) (expression_statement "*puVar5 = 10;" (assignment_expression "*puVar5 = 10" (pointer_expression "*puVar5" * identifier) = number_literal) ;) }) (else_clause "else {\n    (*(code *)PTR___overflow_0002c25c)(iVar6,10);\n  }" else (compound_statement "{\n    (*(code *)PTR___overflow_0002c25c)(iVar6,10);\n  }" { (expression_statement "(*(code *)PTR___overflow_0002c25c)(iVar6,10);" (call_expression "(*(code *)PTR___overflow_0002c25c)(iVar6,10)" (parenthesized_expression "(*(code *)PTR___overflow_0002c25c)" ( (pointer_expression "*(code *)PTR___overflow_0002c25c" * (cast_expression "(code *)PTR___overflow_0002c25c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,10)" ( identifier , number_literal ))) ;) }))) (return_statement "return;" return ;) })))
(translation_unit "void argmatch_valid(char **arglist,char *vallist,size_t valsize)\n\n{\n  undefined *puVar1;\n  undefined4 uVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  char **ppcVar6;\n  char *pcVar7;\n  int iVar8;\n  char *pcVar9;\n  undefined *puVar10;\n  \n  uVar2 = (*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5);\n  (*(code *)PTR_fputs_unlocked_0002c328)(uVar2,*(undefined4 *)PTR_stderr_0002c310);\n  puVar1 = PTR_stderr_0002c310;\n  pcVar7 = *arglist;\n  ppcVar6 = arglist + 1;\n  if (pcVar7 != (char *)0x0) {\n    pcVar9 = (char *)0x0;\n    iVar8 = 0;\n    puVar10 = PTR_DAT_0002c118 + -0x48ec;\n    puVar3 = PTR_DAT_0002c118 + -0x48e4;\n    do {\n      if ((iVar8 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(pcVar9,vallist,valsize), iVar4 != 0)) {\n        uVar2 = *(undefined4 *)puVar1;\n        pcVar7 = quote(pcVar7);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar10,pcVar7);\n        pcVar9 = vallist;\n      }\n      else {\n        uVar2 = *(undefined4 *)puVar1;\n        pcVar7 = quote(pcVar7);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar3,pcVar7);\n      }\n      iVar8 = iVar8 + 1;\n      pcVar7 = *ppcVar6;\n      vallist = vallist + valsize;\n      ppcVar6 = ppcVar6 + 1;\n    } while (pcVar7 != (char *)0x0);\n  }\n  iVar8 = *(int *)PTR_stderr_0002c310;\n  puVar5 = *(undefined1 **)(iVar8 + 0x14);\n  if (puVar5 < *(undefined1 **)(iVar8 + 0x18)) {\n    *(undefined1 **)(iVar8 + 0x14) = puVar5 + 1;\n    *puVar5 = 10;\n  }\n  else {\n    (*(code *)PTR___overflow_0002c25c)(iVar8,10);\n  }\n  return;\n}\n\n" (function_definition "void argmatch_valid(char **arglist,char *vallist,size_t valsize)\n\n{\n  undefined *puVar1;\n  undefined4 uVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  char **ppcVar6;\n  char *pcVar7;\n  int iVar8;\n  char *pcVar9;\n  undefined *puVar10;\n  \n  uVar2 = (*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5);\n  (*(code *)PTR_fputs_unlocked_0002c328)(uVar2,*(undefined4 *)PTR_stderr_0002c310);\n  puVar1 = PTR_stderr_0002c310;\n  pcVar7 = *arglist;\n  ppcVar6 = arglist + 1;\n  if (pcVar7 != (char *)0x0) {\n    pcVar9 = (char *)0x0;\n    iVar8 = 0;\n    puVar10 = PTR_DAT_0002c118 + -0x48ec;\n    puVar3 = PTR_DAT_0002c118 + -0x48e4;\n    do {\n      if ((iVar8 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(pcVar9,vallist,valsize), iVar4 != 0)) {\n        uVar2 = *(undefined4 *)puVar1;\n        pcVar7 = quote(pcVar7);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar10,pcVar7);\n        pcVar9 = vallist;\n      }\n      else {\n        uVar2 = *(undefined4 *)puVar1;\n        pcVar7 = quote(pcVar7);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar3,pcVar7);\n      }\n      iVar8 = iVar8 + 1;\n      pcVar7 = *ppcVar6;\n      vallist = vallist + valsize;\n      ppcVar6 = ppcVar6 + 1;\n    } while (pcVar7 != (char *)0x0);\n  }\n  iVar8 = *(int *)PTR_stderr_0002c310;\n  puVar5 = *(undefined1 **)(iVar8 + 0x14);\n  if (puVar5 < *(undefined1 **)(iVar8 + 0x18)) {\n    *(undefined1 **)(iVar8 + 0x14) = puVar5 + 1;\n    *puVar5 = 10;\n  }\n  else {\n    (*(code *)PTR___overflow_0002c25c)(iVar8,10);\n  }\n  return;\n}" primitive_type (function_declarator "argmatch_valid(char **arglist,char *vallist,size_t valsize)" identifier (parameter_list "(char **arglist,char *vallist,size_t valsize)" ( (parameter_declaration "char **arglist" primitive_type (pointer_declarator "**arglist" * (pointer_declarator "*arglist" * identifier))) , (parameter_declaration "char *vallist" primitive_type (pointer_declarator "*vallist" * identifier)) , (parameter_declaration "size_t valsize" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined4 uVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  char **ppcVar6;\n  char *pcVar7;\n  int iVar8;\n  char *pcVar9;\n  undefined *puVar10;\n  \n  uVar2 = (*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5);\n  (*(code *)PTR_fputs_unlocked_0002c328)(uVar2,*(undefined4 *)PTR_stderr_0002c310);\n  puVar1 = PTR_stderr_0002c310;\n  pcVar7 = *arglist;\n  ppcVar6 = arglist + 1;\n  if (pcVar7 != (char *)0x0) {\n    pcVar9 = (char *)0x0;\n    iVar8 = 0;\n    puVar10 = PTR_DAT_0002c118 + -0x48ec;\n    puVar3 = PTR_DAT_0002c118 + -0x48e4;\n    do {\n      if ((iVar8 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(pcVar9,vallist,valsize), iVar4 != 0)) {\n        uVar2 = *(undefined4 *)puVar1;\n        pcVar7 = quote(pcVar7);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar10,pcVar7);\n        pcVar9 = vallist;\n      }\n      else {\n        uVar2 = *(undefined4 *)puVar1;\n        pcVar7 = quote(pcVar7);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar3,pcVar7);\n      }\n      iVar8 = iVar8 + 1;\n      pcVar7 = *ppcVar6;\n      vallist = vallist + valsize;\n      ppcVar6 = ppcVar6 + 1;\n    } while (pcVar7 != (char *)0x0);\n  }\n  iVar8 = *(int *)PTR_stderr_0002c310;\n  puVar5 = *(undefined1 **)(iVar8 + 0x14);\n  if (puVar5 < *(undefined1 **)(iVar8 + 0x18)) {\n    *(undefined1 **)(iVar8 + 0x14) = puVar5 + 1;\n    *puVar5 = 10;\n  }\n  else {\n    (*(code *)PTR___overflow_0002c25c)(iVar8,10);\n  }\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "char **ppcVar6;" primitive_type (pointer_declarator "**ppcVar6" * (pointer_declarator "*ppcVar6" * identifier)) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (expression_statement "uVar2 = (*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5);" (assignment_expression "uVar2 = (*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0002c2ec)" ( (pointer_expression "*(code *)PTR_dcgettext_0002c2ec" * (cast_expression "(code *)PTR_dcgettext_0002c2ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0002c118 + -0x4904,5)" ( number_literal , (binary_expression "PTR_DAT_0002c118 + -0x4904" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR_fputs_unlocked_0002c328)(uVar2,*(undefined4 *)PTR_stderr_0002c310);" (call_expression "(*(code *)PTR_fputs_unlocked_0002c328)(uVar2,*(undefined4 *)PTR_stderr_0002c310)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_0002c328)" ( (pointer_expression "*(code *)PTR_fputs_unlocked_0002c328" * (cast_expression "(code *)PTR_fputs_unlocked_0002c328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar2,*(undefined4 *)PTR_stderr_0002c310)" ( identifier , (pointer_expression "*(undefined4 *)PTR_stderr_0002c310" * (cast_expression "(undefined4 *)PTR_stderr_0002c310" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "puVar1 = PTR_stderr_0002c310;" (assignment_expression "puVar1 = PTR_stderr_0002c310" identifier = identifier) ;) (expression_statement "pcVar7 = *arglist;" (assignment_expression "pcVar7 = *arglist" identifier = (pointer_expression "*arglist" * identifier)) ;) (expression_statement "ppcVar6 = arglist + 1;" (assignment_expression "ppcVar6 = arglist + 1" identifier = (binary_expression "arglist + 1" identifier + number_literal)) ;) (if_statement "if (pcVar7 != (char *)0x0) {\n    pcVar9 = (char *)0x0;\n    iVar8 = 0;\n    puVar10 = PTR_DAT_0002c118 + -0x48ec;\n    puVar3 = PTR_DAT_0002c118 + -0x48e4;\n    do {\n      if ((iVar8 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(pcVar9,vallist,valsize), iVar4 != 0)) {\n        uVar2 = *(undefined4 *)puVar1;\n        pcVar7 = quote(pcVar7);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar10,pcVar7);\n        pcVar9 = vallist;\n      }\n      else {\n        uVar2 = *(undefined4 *)puVar1;\n        pcVar7 = quote(pcVar7);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar3,pcVar7);\n      }\n      iVar8 = iVar8 + 1;\n      pcVar7 = *ppcVar6;\n      vallist = vallist + valsize;\n      ppcVar6 = ppcVar6 + 1;\n    } while (pcVar7 != (char *)0x0);\n  }" if (parenthesized_expression "(pcVar7 != (char *)0x0)" ( (binary_expression "pcVar7 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar9 = (char *)0x0;\n    iVar8 = 0;\n    puVar10 = PTR_DAT_0002c118 + -0x48ec;\n    puVar3 = PTR_DAT_0002c118 + -0x48e4;\n    do {\n      if ((iVar8 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(pcVar9,vallist,valsize), iVar4 != 0)) {\n        uVar2 = *(undefined4 *)puVar1;\n        pcVar7 = quote(pcVar7);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar10,pcVar7);\n        pcVar9 = vallist;\n      }\n      else {\n        uVar2 = *(undefined4 *)puVar1;\n        pcVar7 = quote(pcVar7);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar3,pcVar7);\n      }\n      iVar8 = iVar8 + 1;\n      pcVar7 = *ppcVar6;\n      vallist = vallist + valsize;\n      ppcVar6 = ppcVar6 + 1;\n    } while (pcVar7 != (char *)0x0);\n  }" { (expression_statement "pcVar9 = (char *)0x0;" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "puVar10 = PTR_DAT_0002c118 + -0x48ec;" (assignment_expression "puVar10 = PTR_DAT_0002c118 + -0x48ec" identifier = (binary_expression "PTR_DAT_0002c118 + -0x48ec" identifier + number_literal)) ;) (expression_statement "puVar3 = PTR_DAT_0002c118 + -0x48e4;" (assignment_expression "puVar3 = PTR_DAT_0002c118 + -0x48e4" identifier = (binary_expression "PTR_DAT_0002c118 + -0x48e4" identifier + number_literal)) ;) (do_statement "do {\n      if ((iVar8 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(pcVar9,vallist,valsize), iVar4 != 0)) {\n        uVar2 = *(undefined4 *)puVar1;\n        pcVar7 = quote(pcVar7);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar10,pcVar7);\n        pcVar9 = vallist;\n      }\n      else {\n        uVar2 = *(undefined4 *)puVar1;\n        pcVar7 = quote(pcVar7);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar3,pcVar7);\n      }\n      iVar8 = iVar8 + 1;\n      pcVar7 = *ppcVar6;\n      vallist = vallist + valsize;\n      ppcVar6 = ppcVar6 + 1;\n    } while (pcVar7 != (char *)0x0);" do (compound_statement "{\n      if ((iVar8 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(pcVar9,vallist,valsize), iVar4 != 0)) {\n        uVar2 = *(undefined4 *)puVar1;\n        pcVar7 = quote(pcVar7);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar10,pcVar7);\n        pcVar9 = vallist;\n      }\n      else {\n        uVar2 = *(undefined4 *)puVar1;\n        pcVar7 = quote(pcVar7);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar3,pcVar7);\n      }\n      iVar8 = iVar8 + 1;\n      pcVar7 = *ppcVar6;\n      vallist = vallist + valsize;\n      ppcVar6 = ppcVar6 + 1;\n    }" { (if_statement "if ((iVar8 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(pcVar9,vallist,valsize), iVar4 != 0)) {\n        uVar2 = *(undefined4 *)puVar1;\n        pcVar7 = quote(pcVar7);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar10,pcVar7);\n        pcVar9 = vallist;\n      }\n      else {\n        uVar2 = *(undefined4 *)puVar1;\n        pcVar7 = quote(pcVar7);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar3,pcVar7);\n      }" if (parenthesized_expression "((iVar8 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(pcVar9,vallist,valsize), iVar4 != 0))" ( (binary_expression "(iVar8 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(pcVar9,vallist,valsize), iVar4 != 0)" (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_memcmp_0002c2f0)(pcVar9,vallist,valsize), iVar4 != 0)" ( (comma_expression "iVar4 = (*(code *)PTR_memcmp_0002c2f0)(pcVar9,vallist,valsize), iVar4 != 0" (assignment_expression "iVar4 = (*(code *)PTR_memcmp_0002c2f0)(pcVar9,vallist,valsize)" identifier = (call_expression "(*(code *)PTR_memcmp_0002c2f0)(pcVar9,vallist,valsize)" (parenthesized_expression "(*(code *)PTR_memcmp_0002c2f0)" ( (pointer_expression "*(code *)PTR_memcmp_0002c2f0" * (cast_expression "(code *)PTR_memcmp_0002c2f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar9,vallist,valsize)" ( identifier , identifier , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        uVar2 = *(undefined4 *)puVar1;\n        pcVar7 = quote(pcVar7);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar10,pcVar7);\n        pcVar9 = vallist;\n      }" { (expression_statement "uVar2 = *(undefined4 *)puVar1;" (assignment_expression "uVar2 = *(undefined4 *)puVar1" identifier = (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar7 = quote(pcVar7);" (assignment_expression "pcVar7 = quote(pcVar7)" identifier = (call_expression "quote(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar10,pcVar7);" (call_expression "(*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar10,pcVar7)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0002c240)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0002c240" * (cast_expression "(code *)PTR___fprintf_chk_0002c240" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar2,1,puVar10,pcVar7)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "pcVar9 = vallist;" (assignment_expression "pcVar9 = vallist" identifier = identifier) ;) }) (else_clause "else {\n        uVar2 = *(undefined4 *)puVar1;\n        pcVar7 = quote(pcVar7);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar3,pcVar7);\n      }" else (compound_statement "{\n        uVar2 = *(undefined4 *)puVar1;\n        pcVar7 = quote(pcVar7);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar3,pcVar7);\n      }" { (expression_statement "uVar2 = *(undefined4 *)puVar1;" (assignment_expression "uVar2 = *(undefined4 *)puVar1" identifier = (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar7 = quote(pcVar7);" (assignment_expression "pcVar7 = quote(pcVar7)" identifier = (call_expression "quote(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar3,pcVar7);" (call_expression "(*(code *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar3,pcVar7)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0002c240)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0002c240" * (cast_expression "(code *)PTR___fprintf_chk_0002c240" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar2,1,puVar3,pcVar7)" ( identifier , number_literal , identifier , identifier ))) ;) }))) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pcVar7 = *ppcVar6;" (assignment_expression "pcVar7 = *ppcVar6" identifier = (pointer_expression "*ppcVar6" * identifier)) ;) (expression_statement "vallist = vallist + valsize;" (assignment_expression "vallist = vallist + valsize" identifier = (binary_expression "vallist + valsize" identifier + identifier)) ;) (expression_statement "ppcVar6 = ppcVar6 + 1;" (assignment_expression "ppcVar6 = ppcVar6 + 1" identifier = (binary_expression "ppcVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar7 != (char *)0x0)" ( (binary_expression "pcVar7 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "iVar8 = *(int *)PTR_stderr_0002c310;" (assignment_expression "iVar8 = *(int *)PTR_stderr_0002c310" identifier = (pointer_expression "*(int *)PTR_stderr_0002c310" * (cast_expression "(int *)PTR_stderr_0002c310" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar5 = *(undefined1 **)(iVar8 + 0x14);" (assignment_expression "puVar5 = *(undefined1 **)(iVar8 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(iVar8 + 0x14)" * (cast_expression "(undefined1 **)(iVar8 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14)" ( (binary_expression "iVar8 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar5 < *(undefined1 **)(iVar8 + 0x18)) {\n    *(undefined1 **)(iVar8 + 0x14) = puVar5 + 1;\n    *puVar5 = 10;\n  }\n  else {\n    (*(code *)PTR___overflow_0002c25c)(iVar8,10);\n  }" if (parenthesized_expression "(puVar5 < *(undefined1 **)(iVar8 + 0x18))" ( (binary_expression "puVar5 < *(undefined1 **)(iVar8 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(iVar8 + 0x18)" * (cast_expression "(undefined1 **)(iVar8 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x18)" ( (binary_expression "iVar8 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n    *(undefined1 **)(iVar8 + 0x14) = puVar5 + 1;\n    *puVar5 = 10;\n  }" { (expression_statement "*(undefined1 **)(iVar8 + 0x14) = puVar5 + 1;" (assignment_expression "*(undefined1 **)(iVar8 + 0x14) = puVar5 + 1" (pointer_expression "*(undefined1 **)(iVar8 + 0x14)" * (cast_expression "(undefined1 **)(iVar8 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14)" ( (binary_expression "iVar8 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) (expression_statement "*puVar5 = 10;" (assignment_expression "*puVar5 = 10" (pointer_expression "*puVar5" * identifier) = number_literal) ;) }) (else_clause "else {\n    (*(code *)PTR___overflow_0002c25c)(iVar8,10);\n  }" else (compound_statement "{\n    (*(code *)PTR___overflow_0002c25c)(iVar8,10);\n  }" { (expression_statement "(*(code *)PTR___overflow_0002c25c)(iVar8,10);" (call_expression "(*(code *)PTR___overflow_0002c25c)(iVar8,10)" (parenthesized_expression "(*(code *)PTR___overflow_0002c25c)" ( (pointer_expression "*(code *)PTR___overflow_0002c25c" * (cast_expression "(code *)PTR___overflow_0002c25c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8,10)" ( identifier , number_literal ))) ;) }))) (return_statement "return;" return ;) })))
(translation_unit "void argmatch_valid(int *param_1,int param_2,int param_3)\n\n{\n  undefined *puVar1;\n  undefined4 uVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  undefined *puVar9;\n  undefined4 uVar10;\n  \n  uVar2 = (*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5);\n  (*(code *)PTR_fputs_unlocked_0002c328)(uVar2,*(undefined4 *)PTR_stderr_0002c310);\n  puVar1 = PTR_stderr_0002c310;\n  iVar6 = *param_1;\n  param_1 = param_1 + 1;\n  if (iVar6 != 0) {\n    iVar8 = 0;\n    iVar7 = 0;\n    puVar9 = PTR_DAT_0002c118 + -0x48ec;\n    puVar3 = PTR_DAT_0002c118 + -0x48e4;\n    do {\n      if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }\n      iVar7 = iVar7 + 1;\n      iVar6 = *param_1;\n      param_2 = param_2 + param_3;\n      param_1 = param_1 + 1;\n    } while (iVar6 != 0);\n  }\n  iVar6 = *(int *)PTR_stderr_0002c310;\n  puVar5 = *(undefined1 **)(iVar6 + 0x14);\n  if (puVar5 < *(undefined1 **)(iVar6 + 0x18)) {\n    *(undefined1 **)(iVar6 + 0x14) = puVar5 + 1;\n    *puVar5 = 10;\n  }\n  else {\n    (*(code *)PTR___overflow_0002c25c)(iVar6,10);\n  }\n  return;\n}\n\n" (function_definition "void argmatch_valid(int *param_1,int param_2,int param_3)\n\n{\n  undefined *puVar1;\n  undefined4 uVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  undefined *puVar9;\n  undefined4 uVar10;\n  \n  uVar2 = (*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5);\n  (*(code *)PTR_fputs_unlocked_0002c328)(uVar2,*(undefined4 *)PTR_stderr_0002c310);\n  puVar1 = PTR_stderr_0002c310;\n  iVar6 = *param_1;\n  param_1 = param_1 + 1;\n  if (iVar6 != 0) {\n    iVar8 = 0;\n    iVar7 = 0;\n    puVar9 = PTR_DAT_0002c118 + -0x48ec;\n    puVar3 = PTR_DAT_0002c118 + -0x48e4;\n    do {\n      if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }\n      iVar7 = iVar7 + 1;\n      iVar6 = *param_1;\n      param_2 = param_2 + param_3;\n      param_1 = param_1 + 1;\n    } while (iVar6 != 0);\n  }\n  iVar6 = *(int *)PTR_stderr_0002c310;\n  puVar5 = *(undefined1 **)(iVar6 + 0x14);\n  if (puVar5 < *(undefined1 **)(iVar6 + 0x18)) {\n    *(undefined1 **)(iVar6 + 0x14) = puVar5 + 1;\n    *puVar5 = 10;\n  }\n  else {\n    (*(code *)PTR___overflow_0002c25c)(iVar6,10);\n  }\n  return;\n}" primitive_type (function_declarator "argmatch_valid(int *param_1,int param_2,int param_3)" identifier (parameter_list "(int *param_1,int param_2,int param_3)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined4 uVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  undefined *puVar9;\n  undefined4 uVar10;\n  \n  uVar2 = (*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5);\n  (*(code *)PTR_fputs_unlocked_0002c328)(uVar2,*(undefined4 *)PTR_stderr_0002c310);\n  puVar1 = PTR_stderr_0002c310;\n  iVar6 = *param_1;\n  param_1 = param_1 + 1;\n  if (iVar6 != 0) {\n    iVar8 = 0;\n    iVar7 = 0;\n    puVar9 = PTR_DAT_0002c118 + -0x48ec;\n    puVar3 = PTR_DAT_0002c118 + -0x48e4;\n    do {\n      if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }\n      iVar7 = iVar7 + 1;\n      iVar6 = *param_1;\n      param_2 = param_2 + param_3;\n      param_1 = param_1 + 1;\n    } while (iVar6 != 0);\n  }\n  iVar6 = *(int *)PTR_stderr_0002c310;\n  puVar5 = *(undefined1 **)(iVar6 + 0x14);\n  if (puVar5 < *(undefined1 **)(iVar6 + 0x18)) {\n    *(undefined1 **)(iVar6 + 0x14) = puVar5 + 1;\n    *puVar5 = 10;\n  }\n  else {\n    (*(code *)PTR___overflow_0002c25c)(iVar6,10);\n  }\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (expression_statement "uVar2 = (*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5);" (assignment_expression "uVar2 = (*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0002c2ec)" ( (pointer_expression "*(code *)PTR_dcgettext_0002c2ec" * (cast_expression "(code *)PTR_dcgettext_0002c2ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0002c118 + -0x4904,5)" ( number_literal , (binary_expression "PTR_DAT_0002c118 + -0x4904" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR_fputs_unlocked_0002c328)(uVar2,*(undefined4 *)PTR_stderr_0002c310);" (call_expression "(*(code *)PTR_fputs_unlocked_0002c328)(uVar2,*(undefined4 *)PTR_stderr_0002c310)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_0002c328)" ( (pointer_expression "*(code *)PTR_fputs_unlocked_0002c328" * (cast_expression "(code *)PTR_fputs_unlocked_0002c328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar2,*(undefined4 *)PTR_stderr_0002c310)" ( identifier , (pointer_expression "*(undefined4 *)PTR_stderr_0002c310" * (cast_expression "(undefined4 *)PTR_stderr_0002c310" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "puVar1 = PTR_stderr_0002c310;" (assignment_expression "puVar1 = PTR_stderr_0002c310" identifier = identifier) ;) (expression_statement "iVar6 = *param_1;" (assignment_expression "iVar6 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) (if_statement "if (iVar6 != 0) {\n    iVar8 = 0;\n    iVar7 = 0;\n    puVar9 = PTR_DAT_0002c118 + -0x48ec;\n    puVar3 = PTR_DAT_0002c118 + -0x48e4;\n    do {\n      if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }\n      iVar7 = iVar7 + 1;\n      iVar6 = *param_1;\n      param_2 = param_2 + param_3;\n      param_1 = param_1 + 1;\n    } while (iVar6 != 0);\n  }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar8 = 0;\n    iVar7 = 0;\n    puVar9 = PTR_DAT_0002c118 + -0x48ec;\n    puVar3 = PTR_DAT_0002c118 + -0x48e4;\n    do {\n      if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }\n      iVar7 = iVar7 + 1;\n      iVar6 = *param_1;\n      param_2 = param_2 + param_3;\n      param_1 = param_1 + 1;\n    } while (iVar6 != 0);\n  }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "puVar9 = PTR_DAT_0002c118 + -0x48ec;" (assignment_expression "puVar9 = PTR_DAT_0002c118 + -0x48ec" identifier = (binary_expression "PTR_DAT_0002c118 + -0x48ec" identifier + number_literal)) ;) (expression_statement "puVar3 = PTR_DAT_0002c118 + -0x48e4;" (assignment_expression "puVar3 = PTR_DAT_0002c118 + -0x48e4" identifier = (binary_expression "PTR_DAT_0002c118 + -0x48e4" identifier + number_literal)) ;) (do_statement "do {\n      if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }\n      iVar7 = iVar7 + 1;\n      iVar6 = *param_1;\n      param_2 = param_2 + param_3;\n      param_1 = param_1 + 1;\n    } while (iVar6 != 0);" do (compound_statement "{\n      if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }\n      iVar7 = iVar7 + 1;\n      iVar6 = *param_1;\n      param_2 = param_2 + param_3;\n      param_1 = param_1 + 1;\n    }" { (if_statement "if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }" if (parenthesized_expression "((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0))" ( (binary_expression "(iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)" ( (comma_expression "iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0" (assignment_expression "iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3)" identifier = (call_expression "(*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3)" (parenthesized_expression "(*(code *)PTR_memcmp_0002c2f0)" ( (pointer_expression "*(code *)PTR_memcmp_0002c2f0" * (cast_expression "(code *)PTR_memcmp_0002c2f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8,param_2,param_3)" ( identifier , identifier , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }" { (expression_statement "uVar10 = *(undefined4 *)puVar1;" (assignment_expression "uVar10 = *(undefined4 *)puVar1" identifier = (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar2 = quote(iVar6);" (assignment_expression "uVar2 = quote(iVar6)" identifier = (call_expression "quote(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);" (call_expression "(*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0002c240)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0002c240" * (cast_expression "(code *)PTR___fprintf_chk_0002c240" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,1,puVar9,uVar2)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "iVar8 = param_2;" (assignment_expression "iVar8 = param_2" identifier = identifier) ;) }) (else_clause "else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }" else (compound_statement "{\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }" { (expression_statement "uVar10 = *(undefined4 *)puVar1;" (assignment_expression "uVar10 = *(undefined4 *)puVar1" identifier = (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar2 = quote(iVar6);" (assignment_expression "uVar2 = quote(iVar6)" identifier = (call_expression "quote(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);" (call_expression "(*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0002c240)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0002c240" * (cast_expression "(code *)PTR___fprintf_chk_0002c240" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,1,puVar3,uVar2)" ( identifier , number_literal , identifier , identifier ))) ;) }))) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar6 = *param_1;" (assignment_expression "iVar6 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "param_2 = param_2 + param_3;" (assignment_expression "param_2 = param_2 + param_3" identifier = (binary_expression "param_2 + param_3" identifier + identifier)) ;) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) ;) })) (expression_statement "iVar6 = *(int *)PTR_stderr_0002c310;" (assignment_expression "iVar6 = *(int *)PTR_stderr_0002c310" identifier = (pointer_expression "*(int *)PTR_stderr_0002c310" * (cast_expression "(int *)PTR_stderr_0002c310" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar5 = *(undefined1 **)(iVar6 + 0x14);" (assignment_expression "puVar5 = *(undefined1 **)(iVar6 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" * (cast_expression "(undefined1 **)(iVar6 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar5 < *(undefined1 **)(iVar6 + 0x18)) {\n    *(undefined1 **)(iVar6 + 0x14) = puVar5 + 1;\n    *puVar5 = 10;\n  }\n  else {\n    (*(code *)PTR___overflow_0002c25c)(iVar6,10);\n  }" if (parenthesized_expression "(puVar5 < *(undefined1 **)(iVar6 + 0x18))" ( (binary_expression "puVar5 < *(undefined1 **)(iVar6 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(iVar6 + 0x18)" * (cast_expression "(undefined1 **)(iVar6 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n    *(undefined1 **)(iVar6 + 0x14) = puVar5 + 1;\n    *puVar5 = 10;\n  }" { (expression_statement "*(undefined1 **)(iVar6 + 0x14) = puVar5 + 1;" (assignment_expression "*(undefined1 **)(iVar6 + 0x14) = puVar5 + 1" (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" * (cast_expression "(undefined1 **)(iVar6 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) (expression_statement "*puVar5 = 10;" (assignment_expression "*puVar5 = 10" (pointer_expression "*puVar5" * identifier) = number_literal) ;) }) (else_clause "else {\n    (*(code *)PTR___overflow_0002c25c)(iVar6,10);\n  }" else (compound_statement "{\n    (*(code *)PTR___overflow_0002c25c)(iVar6,10);\n  }" { (expression_statement "(*(code *)PTR___overflow_0002c25c)(iVar6,10);" (call_expression "(*(code *)PTR___overflow_0002c25c)(iVar6,10)" (parenthesized_expression "(*(code *)PTR___overflow_0002c25c)" ( (pointer_expression "*(code *)PTR___overflow_0002c25c" * (cast_expression "(code *)PTR___overflow_0002c25c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,10)" ( identifier , number_literal ))) ;) }))) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) }))) (return_statement return ;) })))
(function_definition "void argmatch_valid(int *param_1,int param_2,int param_3)\n\n{\n  undefined *puVar1;\n  undefined4 uVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  undefined *puVar9;\n  undefined4 uVar10;\n  \n  uVar2 = (*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5);\n  (*(code *)PTR_fputs_unlocked_0002c328)(uVar2,*(undefined4 *)PTR_stderr_0002c310);\n  puVar1 = PTR_stderr_0002c310;\n  iVar6 = *param_1;\n  param_1 = param_1 + 1;\n  if (iVar6 != 0) {\n    iVar8 = 0;\n    iVar7 = 0;\n    puVar9 = PTR_DAT_0002c118 + -0x48ec;\n    puVar3 = PTR_DAT_0002c118 + -0x48e4;\n    do {\n      if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }\n      iVar7 = iVar7 + 1;\n      iVar6 = *param_1;\n      param_2 = param_2 + param_3;\n      param_1 = param_1 + 1;\n    } while (iVar6 != 0);\n  }\n  iVar6 = *(int *)PTR_stderr_0002c310;\n  puVar5 = *(undefined1 **)(iVar6 + 0x14);\n  if (puVar5 < *(undefined1 **)(iVar6 + 0x18)) {\n    *(undefined1 **)(iVar6 + 0x14) = puVar5 + 1;\n    *puVar5 = 10;\n  }\n  else {\n    (*(code *)PTR___overflow_0002c25c)(iVar6,10);\n  }\n  return;\n}" (primitive_type "void") (function_declarator "argmatch_valid(int *param_1,int param_2,int param_3)" (identifier "argmatch_valid") (parameter_list "(int *param_1,int param_2,int param_3)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  undefined4 uVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  undefined *puVar9;\n  undefined4 uVar10;\n  \n  uVar2 = (*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5);\n  (*(code *)PTR_fputs_unlocked_0002c328)(uVar2,*(undefined4 *)PTR_stderr_0002c310);\n  puVar1 = PTR_stderr_0002c310;\n  iVar6 = *param_1;\n  param_1 = param_1 + 1;\n  if (iVar6 != 0) {\n    iVar8 = 0;\n    iVar7 = 0;\n    puVar9 = PTR_DAT_0002c118 + -0x48ec;\n    puVar3 = PTR_DAT_0002c118 + -0x48e4;\n    do {\n      if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }\n      iVar7 = iVar7 + 1;\n      iVar6 = *param_1;\n      param_2 = param_2 + param_3;\n      param_1 = param_1 + 1;\n    } while (iVar6 != 0);\n  }\n  iVar6 = *(int *)PTR_stderr_0002c310;\n  puVar5 = *(undefined1 **)(iVar6 + 0x14);\n  if (puVar5 < *(undefined1 **)(iVar6 + 0x18)) {\n    *(undefined1 **)(iVar6 + 0x14) = puVar5 + 1;\n    *puVar5 = 10;\n  }\n  else {\n    (*(code *)PTR___overflow_0002c25c)(iVar6,10);\n  }\n  return;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined1 *puVar5;" (type_identifier "undefined1") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "undefined *puVar9;" (type_identifier "undefined") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (expression_statement "uVar2 = (*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5);" (assignment_expression "uVar2 = (*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5)" (identifier "uVar2") (= "=") (call_expression "(*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0002c2ec)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_0002c2ec" (* "*") (cast_expression "(code *)PTR_dcgettext_0002c2ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_0002c2ec"))) () ")")) (argument_list "(0,PTR_DAT_0002c118 + -0x4904,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_DAT_0002c118 + -0x4904" (identifier "PTR_DAT_0002c118") (+ "+") (number_literal "-0x4904")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_fputs_unlocked_0002c328)(uVar2,*(undefined4 *)PTR_stderr_0002c310);" (call_expression "(*(code *)PTR_fputs_unlocked_0002c328)(uVar2,*(undefined4 *)PTR_stderr_0002c310)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_0002c328)" (( "(") (pointer_expression "*(code *)PTR_fputs_unlocked_0002c328" (* "*") (cast_expression "(code *)PTR_fputs_unlocked_0002c328" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fputs_unlocked_0002c328"))) () ")")) (argument_list "(uVar2,*(undefined4 *)PTR_stderr_0002c310)" (( "(") (identifier "uVar2") (, ",") (pointer_expression "*(undefined4 *)PTR_stderr_0002c310" (* "*") (cast_expression "(undefined4 *)PTR_stderr_0002c310" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stderr_0002c310"))) () ")"))) (; ";")) (expression_statement "puVar1 = PTR_stderr_0002c310;" (assignment_expression "puVar1 = PTR_stderr_0002c310" (identifier "puVar1") (= "=") (identifier "PTR_stderr_0002c310")) (; ";")) (expression_statement "iVar6 = *param_1;" (assignment_expression "iVar6 = *param_1" (identifier "iVar6") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" (identifier "param_1") (= "=") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar6 != 0) {\n    iVar8 = 0;\n    iVar7 = 0;\n    puVar9 = PTR_DAT_0002c118 + -0x48ec;\n    puVar3 = PTR_DAT_0002c118 + -0x48e4;\n    do {\n      if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }\n      iVar7 = iVar7 + 1;\n      iVar6 = *param_1;\n      param_2 = param_2 + param_3;\n      param_1 = param_1 + 1;\n    } while (iVar6 != 0);\n  }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar8 = 0;\n    iVar7 = 0;\n    puVar9 = PTR_DAT_0002c118 + -0x48ec;\n    puVar3 = PTR_DAT_0002c118 + -0x48e4;\n    do {\n      if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }\n      iVar7 = iVar7 + 1;\n      iVar6 = *param_1;\n      param_2 = param_2 + param_3;\n      param_1 = param_1 + 1;\n    } while (iVar6 != 0);\n  }" ({ "{") (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar9 = PTR_DAT_0002c118 + -0x48ec;" (assignment_expression "puVar9 = PTR_DAT_0002c118 + -0x48ec" (identifier "puVar9") (= "=") (binary_expression "PTR_DAT_0002c118 + -0x48ec" (identifier "PTR_DAT_0002c118") (+ "+") (number_literal "-0x48ec"))) (; ";")) (expression_statement "puVar3 = PTR_DAT_0002c118 + -0x48e4;" (assignment_expression "puVar3 = PTR_DAT_0002c118 + -0x48e4" (identifier "puVar3") (= "=") (binary_expression "PTR_DAT_0002c118 + -0x48e4" (identifier "PTR_DAT_0002c118") (+ "+") (number_literal "-0x48e4"))) (; ";")) (do_statement "do {\n      if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }\n      iVar7 = iVar7 + 1;\n      iVar6 = *param_1;\n      param_2 = param_2 + param_3;\n      param_1 = param_1 + 1;\n    } while (iVar6 != 0);" (do "do") (compound_statement "{\n      if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }\n      iVar7 = iVar7 + 1;\n      iVar6 = *param_1;\n      param_2 = param_2 + param_3;\n      param_1 = param_1 + 1;\n    }" ({ "{") (if_statement "if ((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }\n      else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }" (if "if") (parenthesized_expression "((iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0))" (( "(") (binary_expression "(iVar7 == 0) ||\n         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)" (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)" (( "(") (comma_expression "iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0" (assignment_expression "iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3)" (parenthesized_expression "(*(code *)PTR_memcmp_0002c2f0)" (( "(") (pointer_expression "*(code *)PTR_memcmp_0002c2f0" (* "*") (cast_expression "(code *)PTR_memcmp_0002c2f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcmp_0002c2f0"))) () ")")) (argument_list "(iVar8,param_2,param_3)" (( "(") (identifier "iVar8") (, ",") (identifier "param_2") (, ",") (identifier "param_3") () ")")))) (, ",") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);\n        iVar8 = param_2;\n      }" ({ "{") (expression_statement "uVar10 = *(undefined4 *)puVar1;" (assignment_expression "uVar10 = *(undefined4 *)puVar1" (identifier "uVar10") (= "=") (pointer_expression "*(undefined4 *)puVar1" (* "*") (cast_expression "(undefined4 *)puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) (; ";")) (expression_statement "uVar2 = quote(iVar6);" (assignment_expression "uVar2 = quote(iVar6)" (identifier "uVar2") (= "=") (call_expression "quote(iVar6)" (identifier "quote") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);" (call_expression "(*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0002c240)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0002c240" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0002c240" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0002c240"))) () ")")) (argument_list "(uVar10,1,puVar9,uVar2)" (( "(") (identifier "uVar10") (, ",") (number_literal "1") (, ",") (identifier "puVar9") (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "iVar8 = param_2;" (assignment_expression "iVar8 = param_2" (identifier "iVar8") (= "=") (identifier "param_2")) (; ";")) (} "}")) (else_clause "else {\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }" (else "else") (compound_statement "{\n        uVar10 = *(undefined4 *)puVar1;\n        uVar2 = quote(iVar6);\n        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);\n      }" ({ "{") (expression_statement "uVar10 = *(undefined4 *)puVar1;" (assignment_expression "uVar10 = *(undefined4 *)puVar1" (identifier "uVar10") (= "=") (pointer_expression "*(undefined4 *)puVar1" (* "*") (cast_expression "(undefined4 *)puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) (; ";")) (expression_statement "uVar2 = quote(iVar6);" (assignment_expression "uVar2 = quote(iVar6)" (identifier "uVar2") (= "=") (call_expression "quote(iVar6)" (identifier "quote") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);" (call_expression "(*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0002c240)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0002c240" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0002c240" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0002c240"))) () ")")) (argument_list "(uVar10,1,puVar3,uVar2)" (( "(") (identifier "uVar10") (, ",") (number_literal "1") (, ",") (identifier "puVar3") (, ",") (identifier "uVar2") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar6 = *param_1;" (assignment_expression "iVar6 = *param_1" (identifier "iVar6") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "param_2 = param_2 + param_3;" (assignment_expression "param_2 = param_2 + param_3" (identifier "param_2") (= "=") (binary_expression "param_2 + param_3" (identifier "param_2") (+ "+") (identifier "param_3"))) (; ";")) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" (identifier "param_1") (= "=") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar6 = *(int *)PTR_stderr_0002c310;" (assignment_expression "iVar6 = *(int *)PTR_stderr_0002c310" (identifier "iVar6") (= "=") (pointer_expression "*(int *)PTR_stderr_0002c310" (* "*") (cast_expression "(int *)PTR_stderr_0002c310" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stderr_0002c310")))) (; ";")) (expression_statement "puVar5 = *(undefined1 **)(iVar6 + 0x14);" (assignment_expression "puVar5 = *(undefined1 **)(iVar6 + 0x14)" (identifier "puVar5") (= "=") (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" (* "*") (cast_expression "(undefined1 **)(iVar6 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (puVar5 < *(undefined1 **)(iVar6 + 0x18)) {\n    *(undefined1 **)(iVar6 + 0x14) = puVar5 + 1;\n    *puVar5 = 10;\n  }\n  else {\n    (*(code *)PTR___overflow_0002c25c)(iVar6,10);\n  }" (if "if") (parenthesized_expression "(puVar5 < *(undefined1 **)(iVar6 + 0x18))" (( "(") (binary_expression "puVar5 < *(undefined1 **)(iVar6 + 0x18)" (identifier "puVar5") (< "<") (pointer_expression "*(undefined1 **)(iVar6 + 0x18)" (* "*") (cast_expression "(undefined1 **)(iVar6 + 0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n    *(undefined1 **)(iVar6 + 0x14) = puVar5 + 1;\n    *puVar5 = 10;\n  }" ({ "{") (expression_statement "*(undefined1 **)(iVar6 + 0x14) = puVar5 + 1;" (assignment_expression "*(undefined1 **)(iVar6 + 0x14) = puVar5 + 1" (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" (* "*") (cast_expression "(undefined1 **)(iVar6 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "puVar5 + 1" (identifier "puVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar5 = 10;" (assignment_expression "*puVar5 = 10" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (number_literal "10")) (; ";")) (} "}")) (else_clause "else {\n    (*(code *)PTR___overflow_0002c25c)(iVar6,10);\n  }" (else "else") (compound_statement "{\n    (*(code *)PTR___overflow_0002c25c)(iVar6,10);\n  }" ({ "{") (expression_statement "(*(code *)PTR___overflow_0002c25c)(iVar6,10);" (call_expression "(*(code *)PTR___overflow_0002c25c)(iVar6,10)" (parenthesized_expression "(*(code *)PTR___overflow_0002c25c)" (( "(") (pointer_expression "*(code *)PTR___overflow_0002c25c" (* "*") (cast_expression "(code *)PTR___overflow_0002c25c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___overflow_0002c25c"))) () ")")) (argument_list "(iVar6,10)" (( "(") (identifier "iVar6") (, ",") (number_literal "10") () ")"))) (; ";")) (} "}")))) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(char **var_2,char *var_7,size_t var_8)

{
  type_1 *puVar1;
  type_2 uVar2;
  type_1 *puVar3;
  int var_5;
  type_3 *var_10;
  char **var_9;
  char *var_3;
  int var_4;
  char *pcVar9;
  type_1 *puVar10;
  
  uVar2 = (*(type_4 *)PTR_dcgettext_0002c2ec)(0,var_1 + -0x4904,5);
  (*(type_4 *)PTR_fputs_unlocked_0002c328)(uVar2,*(type_2 *)PTR_stderr_0002c310);
  puVar1 = PTR_stderr_0002c310;
  var_3 = *var_2;
  var_9 = var_2 + 1;
  if (var_3 != (char *)0x0) {
    pcVar9 = (char *)0x0;
    var_4 = 0;
    puVar10 = var_1 + -0x48ec;
    puVar3 = var_1 + -0x48e4;
    do {
      if ((var_4 == 0) ||
         (var_5 = (*(type_4 *)PTR_memcmp_0002c2f0)(pcVar9,var_7,var_8), var_5 != 0)) {
        uVar2 = *(type_2 *)puVar1;
        var_3 = var_6(var_3);
        (*(type_4 *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar10,var_3);
        pcVar9 = var_7;
      }
      else {
        uVar2 = *(type_2 *)puVar1;
        var_3 = var_6(var_3);
        (*(type_4 *)PTR___fprintf_chk_0002c240)(uVar2,1,puVar3,var_3);
      }
      var_4 = var_4 + 1;
      var_3 = *var_9;
      var_7 = var_7 + var_8;
      var_9 = var_9 + 1;
    } while (var_3 != (char *)0x0);
  }
  var_4 = *(int *)PTR_stderr_0002c310;
  var_10 = *(type_3 **)(var_4 + 0x14);
  if (var_10 < *(type_3 **)(var_4 + 0x18)) {
    *(type_3 **)(var_4 + 0x14) = var_10 + 1;
    *var_10 = 10;
  }
  else {
    (*(type_4 *)PTR___overflow_0002c25c)(var_4,10);
  }
  return;
}


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

void MASKED(int *param_1,int param_2,int param_3)

{
  undefined *puVar1;
  undefined4 uVar2;
  undefined *puVar3;
  int iVar4;
  undefined1 *puVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  undefined *puVar9;
  undefined4 uVar10;
  
  uVar2 = (*(code *)PTR_dcgettext_0002c2ec)(0,PTR_DAT_0002c118 + -0x4904,5);
  (*(code *)PTR_fputs_unlocked_0002c328)(uVar2,*(undefined4 *)PTR_stderr_0002c310);
  puVar1 = PTR_stderr_0002c310;
  iVar6 = *param_1;
  param_1 = param_1 + 1;
  if (iVar6 != 0) {
    iVar8 = 0;
    iVar7 = 0;
    puVar9 = PTR_DAT_0002c118 + -0x48ec;
    puVar3 = PTR_DAT_0002c118 + -0x48e4;
    do {
      if ((iVar7 == 0) ||
         (iVar4 = (*(code *)PTR_memcmp_0002c2f0)(iVar8,param_2,param_3), iVar4 != 0)) {
        uVar10 = *(undefined4 *)puVar1;
        uVar2 = quote(iVar6);
        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar9,uVar2);
        iVar8 = param_2;
      }
      else {
        uVar10 = *(undefined4 *)puVar1;
        uVar2 = quote(iVar6);
        (*(code *)PTR___fprintf_chk_0002c240)(uVar10,1,puVar3,uVar2);
      }
      iVar7 = iVar7 + 1;
      iVar6 = *param_1;
      param_2 = param_2 + param_3;
      param_1 = param_1 + 1;
    } while (iVar6 != 0);
  }
  iVar6 = *(int *)PTR_stderr_0002c310;
  puVar5 = *(undefined1 **)(iVar6 + 0x14);
  if (puVar5 < *(undefined1 **)(iVar6 + 0x18)) {
    *(undefined1 **)(iVar6 + 0x14) = puVar5 + 1;
    *puVar5 = 10;
  }
  else {
    (*(code *)PTR___overflow_0002c25c)(iVar6,10);
  }
  return;
}

