
size_t nstrftime(char *s,size_t maxsize,char *format,tm *tp,timezone_t tz,int ns)

{
  size_t sVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  int *piVar5;
  int iVar6;
  undefined *puVar7;
  code *pcVar8;
  _Bool tzset_called;
  int local_c;
  
  puVar7 = PTR___stack_chk_guard_000495fc;
  tzset_called = false;
  local_c = *(int *)PTR___stack_chk_guard_000495fc;
  sVar1 = __strftime_internal(s,maxsize,format,tp,false,&tzset_called,tz,ns);
  if (local_c == *(int *)puVar7) {
    return sVar1;
  }
  iVar4 = local_c;
  puVar7 = PTR___stack_chk_fail_000495d0;
  (*(code *)PTR___stack_chk_fail_000495d0)();
  if (iVar4 != 0) {
    iVar2 = (**(code **)(puVar7 + 0x23b58))();
    if ((iVar2 != 0) && (iVar6 = iVar2 + 1, 6 < iVar6 - iVar4)) {
      iVar3 = (**(code **)(puVar7 + 0x23b10))(iVar2 + -6,*(int *)(puVar7 + 0x23898) + 0x69c8,7);
      if (iVar3 == 0) {
        iVar4 = (**(code **)(puVar7 + 0x23b10))(iVar6,*(int *)(puVar7 + 0x23898) + 0x69d0,3);
        if (iVar4 != 0) {
          **(int **)(puVar7 + 0x23934) = iVar6;
          piVar5 = *(int **)(puVar7 + 0x23b68);
          *piVar5 = iVar6;
          return (size_t)piVar5;
        }
        iVar4 = iVar2 + 4;
        **(int **)(puVar7 + 0x23b24) = iVar4;
      }
    }
    **(int **)(puVar7 + 0x23934) = iVar4;
    piVar5 = *(int **)(puVar7 + 0x23b68);
    *piVar5 = iVar4;
    return (size_t)piVar5;
  }
  iVar4 = 1;
  piVar5 = (int *)(*(int *)(puVar7 + 0x23898) + 0x6990);
  (**(code **)(puVar7 + 0x23c24))(piVar5,1,0x37,**(undefined4 **)(puVar7 + 0x23ca4));
  pcVar8 = *(code **)(puVar7 + 0x23b08);
  (*pcVar8)();
  *piVar5 = 0;
  piVar5[1] = 0;
  piVar5[2] = 0;
  piVar5[3] = 0;
  piVar5[4] = 0;
  piVar5[5] = 0;
  piVar5[6] = 0;
  piVar5[7] = 0;
  piVar5[8] = 0;
  piVar5[9] = 0;
  piVar5[10] = 0;
  piVar5[0xb] = 0;
  if (iVar4 != 10) {
    *piVar5 = iVar4;
    return (size_t)piVar5;
  }
  sVar1 = (**(code **)(pcVar8 + 0x239d8))();
  return sVar1;
}



int * nstrftime(void)

{
  int iVar1;
  int *piVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  undefined *puVar6;
  code *pcVar7;
  
  puVar6 = PTR___stack_chk_guard_000495fc;
  iVar1 = *(int *)PTR___stack_chk_guard_000495fc;
  piVar2 = (int *)FUN_00023eb8();
  if (iVar1 == *(int *)puVar6) {
    return piVar2;
  }
  puVar6 = PTR___stack_chk_fail_000495d0;
  (*(code *)PTR___stack_chk_fail_000495d0)();
  if (iVar1 != 0) {
    iVar3 = (**(code **)(puVar6 + 0x23b58))();
    if ((iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)) {
      iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);
      if (iVar4 == 0) {
        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);
        if (iVar1 != 0) {
          **(int **)(puVar6 + 0x23934) = iVar5;
          piVar2 = *(int **)(puVar6 + 0x23b68);
          *piVar2 = iVar5;
          return piVar2;
        }
        iVar1 = iVar3 + 4;
        **(int **)(puVar6 + 0x23b24) = iVar1;
      }
    }
    **(int **)(puVar6 + 0x23934) = iVar1;
    piVar2 = *(int **)(puVar6 + 0x23b68);
    *piVar2 = iVar1;
    return piVar2;
  }
  iVar1 = 1;
  piVar2 = (int *)(*(int *)(puVar6 + 0x23898) + 0x6990);
  (**(code **)(puVar6 + 0x23c24))(piVar2,1,0x37,**(undefined4 **)(puVar6 + 0x23ca4));
  pcVar7 = *(code **)(puVar6 + 0x23b08);
  (*pcVar7)();
  *piVar2 = 0;
  piVar2[1] = 0;
  piVar2[2] = 0;
  piVar2[3] = 0;
  piVar2[4] = 0;
  piVar2[5] = 0;
  piVar2[6] = 0;
  piVar2[7] = 0;
  piVar2[8] = 0;
  piVar2[9] = 0;
  piVar2[10] = 0;
  piVar2[0xb] = 0;
  if (iVar1 != 10) {
    *piVar2 = iVar1;
    return piVar2;
  }
  piVar2 = (int *)(**(code **)(pcVar7 + 0x239d8))();
  return piVar2;
}


lui gp,0x3
addiu gp,gp,-0x4720
addu gp,gp,t9
addiu sp,sp,-0x38
lw t9,-0x7f60(gp)
lw v1,0x48(sp)
addiu t9,t9,0x3eb8
sw s0,0x30(sp)
lw s0,-0x7be4(gp)
sw gp,0x20(sp)
sw ra,0x34(sp)
sb zero,0x2b(sp)
lw v0,0x0(s0)
sw v1,0x18(sp)
lw v1,0x4c(sp)
sw zero,0x10(sp)
sw v0,0x2c(sp)
sw v1,0x1c(sp)
addiu v1,sp,0x2b
bal 0x00023eb8
_sw v1,0x14(sp)
lw a0,0x2c(sp)
lw v1,0x0(s0)
bne a0,v1,0x00025974
_lw gp,0x20(sp)
lw ra,0x34(sp)
lw s0,0x30(sp)
jr ra
_addiu sp,sp,0x38
lw t9,-0x7c10(gp)
jalr t9
_nop
(translation_unit "int * nstrftime(void)\n\n{\n  int iVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  undefined *puVar6;\n  code *pcVar7;\n  \n  puVar6 = PTR___stack_chk_guard_000495fc;\n  iVar1 = *(int *)PTR___stack_chk_guard_000495fc;\n  piVar2 = (int *)FUN_00023eb8();\n  if (iVar1 == *(int *)puVar6) {\n    return piVar2;\n  }\n  puVar6 = PTR___stack_chk_fail_000495d0;\n  (*(code *)PTR___stack_chk_fail_000495d0)();\n  if (iVar1 != 0) {\n    iVar3 = (**(code **)(puVar6 + 0x23b58))();\n    if ((iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)) {\n      iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);\n      if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }\n    }\n    **(int **)(puVar6 + 0x23934) = iVar1;\n    piVar2 = *(int **)(puVar6 + 0x23b68);\n    *piVar2 = iVar1;\n    return piVar2;\n  }\n  iVar1 = 1;\n  piVar2 = (int *)(*(int *)(puVar6 + 0x23898) + 0x6990);\n  (**(code **)(puVar6 + 0x23c24))(piVar2,1,0x37,**(undefined4 **)(puVar6 + 0x23ca4));\n  pcVar7 = *(code **)(puVar6 + 0x23b08);\n  (*pcVar7)();\n  *piVar2 = 0;\n  piVar2[1] = 0;\n  piVar2[2] = 0;\n  piVar2[3] = 0;\n  piVar2[4] = 0;\n  piVar2[5] = 0;\n  piVar2[6] = 0;\n  piVar2[7] = 0;\n  piVar2[8] = 0;\n  piVar2[9] = 0;\n  piVar2[10] = 0;\n  piVar2[0xb] = 0;\n  if (iVar1 != 10) {\n    *piVar2 = iVar1;\n    return piVar2;\n  }\n  piVar2 = (int *)(**(code **)(pcVar7 + 0x239d8))();\n  return piVar2;\n}\n\n" (function_definition "int * nstrftime(void)\n\n{\n  int iVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  undefined *puVar6;\n  code *pcVar7;\n  \n  puVar6 = PTR___stack_chk_guard_000495fc;\n  iVar1 = *(int *)PTR___stack_chk_guard_000495fc;\n  piVar2 = (int *)FUN_00023eb8();\n  if (iVar1 == *(int *)puVar6) {\n    return piVar2;\n  }\n  puVar6 = PTR___stack_chk_fail_000495d0;\n  (*(code *)PTR___stack_chk_fail_000495d0)();\n  if (iVar1 != 0) {\n    iVar3 = (**(code **)(puVar6 + 0x23b58))();\n    if ((iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)) {\n      iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);\n      if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }\n    }\n    **(int **)(puVar6 + 0x23934) = iVar1;\n    piVar2 = *(int **)(puVar6 + 0x23b68);\n    *piVar2 = iVar1;\n    return piVar2;\n  }\n  iVar1 = 1;\n  piVar2 = (int *)(*(int *)(puVar6 + 0x23898) + 0x6990);\n  (**(code **)(puVar6 + 0x23c24))(piVar2,1,0x37,**(undefined4 **)(puVar6 + 0x23ca4));\n  pcVar7 = *(code **)(puVar6 + 0x23b08);\n  (*pcVar7)();\n  *piVar2 = 0;\n  piVar2[1] = 0;\n  piVar2[2] = 0;\n  piVar2[3] = 0;\n  piVar2[4] = 0;\n  piVar2[5] = 0;\n  piVar2[6] = 0;\n  piVar2[7] = 0;\n  piVar2[8] = 0;\n  piVar2[9] = 0;\n  piVar2[10] = 0;\n  piVar2[0xb] = 0;\n  if (iVar1 != 10) {\n    *piVar2 = iVar1;\n    return piVar2;\n  }\n  piVar2 = (int *)(**(code **)(pcVar7 + 0x239d8))();\n  return piVar2;\n}" primitive_type (pointer_declarator "* nstrftime(void)" * (function_declarator "nstrftime(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) )))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  undefined *puVar6;\n  code *pcVar7;\n  \n  puVar6 = PTR___stack_chk_guard_000495fc;\n  iVar1 = *(int *)PTR___stack_chk_guard_000495fc;\n  piVar2 = (int *)FUN_00023eb8();\n  if (iVar1 == *(int *)puVar6) {\n    return piVar2;\n  }\n  puVar6 = PTR___stack_chk_fail_000495d0;\n  (*(code *)PTR___stack_chk_fail_000495d0)();\n  if (iVar1 != 0) {\n    iVar3 = (**(code **)(puVar6 + 0x23b58))();\n    if ((iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)) {\n      iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);\n      if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }\n    }\n    **(int **)(puVar6 + 0x23934) = iVar1;\n    piVar2 = *(int **)(puVar6 + 0x23b68);\n    *piVar2 = iVar1;\n    return piVar2;\n  }\n  iVar1 = 1;\n  piVar2 = (int *)(*(int *)(puVar6 + 0x23898) + 0x6990);\n  (**(code **)(puVar6 + 0x23c24))(piVar2,1,0x37,**(undefined4 **)(puVar6 + 0x23ca4));\n  pcVar7 = *(code **)(puVar6 + 0x23b08);\n  (*pcVar7)();\n  *piVar2 = 0;\n  piVar2[1] = 0;\n  piVar2[2] = 0;\n  piVar2[3] = 0;\n  piVar2[4] = 0;\n  piVar2[5] = 0;\n  piVar2[6] = 0;\n  piVar2[7] = 0;\n  piVar2[8] = 0;\n  piVar2[9] = 0;\n  piVar2[10] = 0;\n  piVar2[0xb] = 0;\n  if (iVar1 != 10) {\n    *piVar2 = iVar1;\n    return piVar2;\n  }\n  piVar2 = (int *)(**(code **)(pcVar7 + 0x239d8))();\n  return piVar2;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "code *pcVar7;" type_identifier (pointer_declarator "*pcVar7" * identifier) ;) (expression_statement "puVar6 = PTR___stack_chk_guard_000495fc;" (assignment_expression "puVar6 = PTR___stack_chk_guard_000495fc" identifier = identifier) ;) (expression_statement "iVar1 = *(int *)PTR___stack_chk_guard_000495fc;" (assignment_expression "iVar1 = *(int *)PTR___stack_chk_guard_000495fc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000495fc" * (cast_expression "(int *)PTR___stack_chk_guard_000495fc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar2 = (int *)FUN_00023eb8();" (assignment_expression "piVar2 = (int *)FUN_00023eb8()" identifier = (cast_expression "(int *)FUN_00023eb8()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00023eb8()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (iVar1 == *(int *)puVar6) {\n    return piVar2;\n  }" if (parenthesized_expression "(iVar1 == *(int *)puVar6)" ( (binary_expression "iVar1 == *(int *)puVar6" identifier == (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return piVar2;\n  }" { (return_statement "return piVar2;" return identifier ;) })) (expression_statement "puVar6 = PTR___stack_chk_fail_000495d0;" (assignment_expression "puVar6 = PTR___stack_chk_fail_000495d0" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000495d0)();" (call_expression "(*(code *)PTR___stack_chk_fail_000495d0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000495d0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000495d0" * (cast_expression "(code *)PTR___stack_chk_fail_000495d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar1 != 0) {\n    iVar3 = (**(code **)(puVar6 + 0x23b58))();\n    if ((iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)) {\n      iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);\n      if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }\n    }\n    **(int **)(puVar6 + 0x23934) = iVar1;\n    piVar2 = *(int **)(puVar6 + 0x23b68);\n    *piVar2 = iVar1;\n    return piVar2;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar3 = (**(code **)(puVar6 + 0x23b58))();\n    if ((iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)) {\n      iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);\n      if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }\n    }\n    **(int **)(puVar6 + 0x23934) = iVar1;\n    piVar2 = *(int **)(puVar6 + 0x23b68);\n    *piVar2 = iVar1;\n    return piVar2;\n  }" { (expression_statement "iVar3 = (**(code **)(puVar6 + 0x23b58))();" (assignment_expression "iVar3 = (**(code **)(puVar6 + 0x23b58))()" identifier = (call_expression "(**(code **)(puVar6 + 0x23b58))()" (parenthesized_expression "(**(code **)(puVar6 + 0x23b58))" ( (pointer_expression "**(code **)(puVar6 + 0x23b58)" * (pointer_expression "*(code **)(puVar6 + 0x23b58)" * (cast_expression "(code **)(puVar6 + 0x23b58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x23b58)" ( (binary_expression "puVar6 + 0x23b58" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)) {\n      iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);\n      if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }\n    }" if (parenthesized_expression "((iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1))" ( (binary_expression "(iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)" ( (comma_expression "iVar5 = iVar3 + 1, 6 < iVar5 - iVar1" (assignment_expression "iVar5 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) , (binary_expression "6 < iVar5 - iVar1" number_literal < (binary_expression "iVar5 - iVar1" identifier - identifier))) ))) )) (compound_statement "{\n      iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);\n      if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }\n    }" { (expression_statement "iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);" (assignment_expression "iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7)" identifier = (call_expression "(**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7)" (parenthesized_expression "(**(code **)(puVar6 + 0x23b10))" ( (pointer_expression "**(code **)(puVar6 + 0x23b10)" * (pointer_expression "*(code **)(puVar6 + 0x23b10)" * (cast_expression "(code **)(puVar6 + 0x23b10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x23b10)" ( (binary_expression "puVar6 + 0x23b10" identifier + number_literal) ))))) )) (argument_list "(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7)" ( (binary_expression "iVar3 + -6" identifier + number_literal) , (binary_expression "*(int *)(puVar6 + 0x23898) + 0x69c8" (pointer_expression "*(int *)(puVar6 + 0x23898)" * (cast_expression "(int *)(puVar6 + 0x23898)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x23898)" ( (binary_expression "puVar6 + 0x23898" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }" { (expression_statement "iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);" (assignment_expression "iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3)" identifier = (call_expression "(**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3)" (parenthesized_expression "(**(code **)(puVar6 + 0x23b10))" ( (pointer_expression "**(code **)(puVar6 + 0x23b10)" * (pointer_expression "*(code **)(puVar6 + 0x23b10)" * (cast_expression "(code **)(puVar6 + 0x23b10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x23b10)" ( (binary_expression "puVar6 + 0x23b10" identifier + number_literal) ))))) )) (argument_list "(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3)" ( identifier , (binary_expression "*(int *)(puVar6 + 0x23898) + 0x69d0" (pointer_expression "*(int *)(puVar6 + 0x23898)" * (cast_expression "(int *)(puVar6 + 0x23898)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x23898)" ( (binary_expression "puVar6 + 0x23898" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (if_statement "if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }" { (expression_statement "**(int **)(puVar6 + 0x23934) = iVar5;" (assignment_expression "**(int **)(puVar6 + 0x23934) = iVar5" (pointer_expression "**(int **)(puVar6 + 0x23934)" * (pointer_expression "*(int **)(puVar6 + 0x23934)" * (cast_expression "(int **)(puVar6 + 0x23934)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x23934)" ( (binary_expression "puVar6 + 0x23934" identifier + number_literal) ))))) = identifier) ;) (expression_statement "piVar2 = *(int **)(puVar6 + 0x23b68);" (assignment_expression "piVar2 = *(int **)(puVar6 + 0x23b68)" identifier = (pointer_expression "*(int **)(puVar6 + 0x23b68)" * (cast_expression "(int **)(puVar6 + 0x23b68)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x23b68)" ( (binary_expression "puVar6 + 0x23b68" identifier + number_literal) ))))) ;) (expression_statement "*piVar2 = iVar5;" (assignment_expression "*piVar2 = iVar5" (pointer_expression "*piVar2" * identifier) = identifier) ;) (return_statement "return piVar2;" return identifier ;) })) (expression_statement "iVar1 = iVar3 + 4;" (assignment_expression "iVar1 = iVar3 + 4" identifier = (binary_expression "iVar3 + 4" identifier + number_literal)) ;) (expression_statement "**(int **)(puVar6 + 0x23b24) = iVar1;" (assignment_expression "**(int **)(puVar6 + 0x23b24) = iVar1" (pointer_expression "**(int **)(puVar6 + 0x23b24)" * (pointer_expression "*(int **)(puVar6 + 0x23b24)" * (cast_expression "(int **)(puVar6 + 0x23b24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x23b24)" ( (binary_expression "puVar6 + 0x23b24" identifier + number_literal) ))))) = identifier) ;) })) })) (expression_statement "**(int **)(puVar6 + 0x23934) = iVar1;" (assignment_expression "**(int **)(puVar6 + 0x23934) = iVar1" (pointer_expression "**(int **)(puVar6 + 0x23934)" * (pointer_expression "*(int **)(puVar6 + 0x23934)" * (cast_expression "(int **)(puVar6 + 0x23934)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x23934)" ( (binary_expression "puVar6 + 0x23934" identifier + number_literal) ))))) = identifier) ;) (expression_statement "piVar2 = *(int **)(puVar6 + 0x23b68);" (assignment_expression "piVar2 = *(int **)(puVar6 + 0x23b68)" identifier = (pointer_expression "*(int **)(puVar6 + 0x23b68)" * (cast_expression "(int **)(puVar6 + 0x23b68)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x23b68)" ( (binary_expression "puVar6 + 0x23b68" identifier + number_literal) ))))) ;) (expression_statement "*piVar2 = iVar1;" (assignment_expression "*piVar2 = iVar1" (pointer_expression "*piVar2" * identifier) = identifier) ;) (return_statement "return piVar2;" return identifier ;) })) (expression_statement "iVar1 = 1;" (assignment_expression "iVar1 = 1" identifier = number_literal) ;) (expression_statement "piVar2 = (int *)(*(int *)(puVar6 + 0x23898) + 0x6990);" (assignment_expression "piVar2 = (int *)(*(int *)(puVar6 + 0x23898) + 0x6990)" identifier = (cast_expression "(int *)(*(int *)(puVar6 + 0x23898) + 0x6990)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar6 + 0x23898) + 0x6990)" ( (binary_expression "*(int *)(puVar6 + 0x23898) + 0x6990" (pointer_expression "*(int *)(puVar6 + 0x23898)" * (cast_expression "(int *)(puVar6 + 0x23898)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x23898)" ( (binary_expression "puVar6 + 0x23898" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar6 + 0x23c24))(piVar2,1,0x37,**(undefined4 **)(puVar6 + 0x23ca4));" (call_expression "(**(code **)(puVar6 + 0x23c24))(piVar2,1,0x37,**(undefined4 **)(puVar6 + 0x23ca4))" (parenthesized_expression "(**(code **)(puVar6 + 0x23c24))" ( (pointer_expression "**(code **)(puVar6 + 0x23c24)" * (pointer_expression "*(code **)(puVar6 + 0x23c24)" * (cast_expression "(code **)(puVar6 + 0x23c24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x23c24)" ( (binary_expression "puVar6 + 0x23c24" identifier + number_literal) ))))) )) (argument_list "(piVar2,1,0x37,**(undefined4 **)(puVar6 + 0x23ca4))" ( identifier , number_literal , number_literal , (pointer_expression "**(undefined4 **)(puVar6 + 0x23ca4)" * (pointer_expression "*(undefined4 **)(puVar6 + 0x23ca4)" * (cast_expression "(undefined4 **)(puVar6 + 0x23ca4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x23ca4)" ( (binary_expression "puVar6 + 0x23ca4" identifier + number_literal) ))))) ))) ;) (expression_statement "pcVar7 = *(code **)(puVar6 + 0x23b08);" (assignment_expression "pcVar7 = *(code **)(puVar6 + 0x23b08)" identifier = (pointer_expression "*(code **)(puVar6 + 0x23b08)" * (cast_expression "(code **)(puVar6 + 0x23b08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x23b08)" ( (binary_expression "puVar6 + 0x23b08" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "*piVar2 = 0;" (assignment_expression "*piVar2 = 0" (pointer_expression "*piVar2" * identifier) = number_literal) ;) (expression_statement "piVar2[1] = 0;" (assignment_expression "piVar2[1] = 0" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[5] = 0;" (assignment_expression "piVar2[5] = 0" (subscript_expression "piVar2[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[6] = 0;" (assignment_expression "piVar2[6] = 0" (subscript_expression "piVar2[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[7] = 0;" (assignment_expression "piVar2[7] = 0" (subscript_expression "piVar2[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[8] = 0;" (assignment_expression "piVar2[8] = 0" (subscript_expression "piVar2[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xb] = 0;" (assignment_expression "piVar2[0xb] = 0" (subscript_expression "piVar2[0xb]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar1 != 10) {\n    *piVar2 = iVar1;\n    return piVar2;\n  }" if (parenthesized_expression "(iVar1 != 10)" ( (binary_expression "iVar1 != 10" identifier != number_literal) )) (compound_statement "{\n    *piVar2 = iVar1;\n    return piVar2;\n  }" { (expression_statement "*piVar2 = iVar1;" (assignment_expression "*piVar2 = iVar1" (pointer_expression "*piVar2" * identifier) = identifier) ;) (return_statement "return piVar2;" return identifier ;) })) (expression_statement "piVar2 = (int *)(**(code **)(pcVar7 + 0x239d8))();" (assignment_expression "piVar2 = (int *)(**(code **)(pcVar7 + 0x239d8))()" identifier = (cast_expression "(int *)(**(code **)(pcVar7 + 0x239d8))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar7 + 0x239d8))()" (parenthesized_expression "(**(code **)(pcVar7 + 0x239d8))" ( (pointer_expression "**(code **)(pcVar7 + 0x239d8)" * (pointer_expression "*(code **)(pcVar7 + 0x239d8)" * (cast_expression "(code **)(pcVar7 + 0x239d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0x239d8)" ( (binary_expression "pcVar7 + 0x239d8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (return_statement "return piVar2;" return identifier ;) })))
(translation_unit "size_t nstrftime(char *s,size_t maxsize,char *format,tm *tp,timezone_t tz,int ns)\n\n{\n  size_t sVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  undefined *puVar7;\n  code *pcVar8;\n  _Bool tzset_called;\n  int local_c;\n  \n  puVar7 = PTR___stack_chk_guard_000495fc;\n  tzset_called = false;\n  local_c = *(int *)PTR___stack_chk_guard_000495fc;\n  sVar1 = __strftime_internal(s,maxsize,format,tp,false,&tzset_called,tz,ns);\n  if (local_c == *(int *)puVar7) {\n    return sVar1;\n  }\n  iVar4 = local_c;\n  puVar7 = PTR___stack_chk_fail_000495d0;\n  (*(code *)PTR___stack_chk_fail_000495d0)();\n  if (iVar4 != 0) {\n    iVar2 = (**(code **)(puVar7 + 0x23b58))();\n    if ((iVar2 != 0) && (iVar6 = iVar2 + 1, 6 < iVar6 - iVar4)) {\n      iVar3 = (**(code **)(puVar7 + 0x23b10))(iVar2 + -6,*(int *)(puVar7 + 0x23898) + 0x69c8,7);\n      if (iVar3 == 0) {\n        iVar4 = (**(code **)(puVar7 + 0x23b10))(iVar6,*(int *)(puVar7 + 0x23898) + 0x69d0,3);\n        if (iVar4 != 0) {\n          **(int **)(puVar7 + 0x23934) = iVar6;\n          piVar5 = *(int **)(puVar7 + 0x23b68);\n          *piVar5 = iVar6;\n          return (size_t)piVar5;\n        }\n        iVar4 = iVar2 + 4;\n        **(int **)(puVar7 + 0x23b24) = iVar4;\n      }\n    }\n    **(int **)(puVar7 + 0x23934) = iVar4;\n    piVar5 = *(int **)(puVar7 + 0x23b68);\n    *piVar5 = iVar4;\n    return (size_t)piVar5;\n  }\n  iVar4 = 1;\n  piVar5 = (int *)(*(int *)(puVar7 + 0x23898) + 0x6990);\n  (**(code **)(puVar7 + 0x23c24))(piVar5,1,0x37,**(undefined4 **)(puVar7 + 0x23ca4));\n  pcVar8 = *(code **)(puVar7 + 0x23b08);\n  (*pcVar8)();\n  *piVar5 = 0;\n  piVar5[1] = 0;\n  piVar5[2] = 0;\n  piVar5[3] = 0;\n  piVar5[4] = 0;\n  piVar5[5] = 0;\n  piVar5[6] = 0;\n  piVar5[7] = 0;\n  piVar5[8] = 0;\n  piVar5[9] = 0;\n  piVar5[10] = 0;\n  piVar5[0xb] = 0;\n  if (iVar4 != 10) {\n    *piVar5 = iVar4;\n    return (size_t)piVar5;\n  }\n  sVar1 = (**(code **)(pcVar8 + 0x239d8))();\n  return sVar1;\n}\n\n" (function_definition "size_t nstrftime(char *s,size_t maxsize,char *format,tm *tp,timezone_t tz,int ns)\n\n{\n  size_t sVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  undefined *puVar7;\n  code *pcVar8;\n  _Bool tzset_called;\n  int local_c;\n  \n  puVar7 = PTR___stack_chk_guard_000495fc;\n  tzset_called = false;\n  local_c = *(int *)PTR___stack_chk_guard_000495fc;\n  sVar1 = __strftime_internal(s,maxsize,format,tp,false,&tzset_called,tz,ns);\n  if (local_c == *(int *)puVar7) {\n    return sVar1;\n  }\n  iVar4 = local_c;\n  puVar7 = PTR___stack_chk_fail_000495d0;\n  (*(code *)PTR___stack_chk_fail_000495d0)();\n  if (iVar4 != 0) {\n    iVar2 = (**(code **)(puVar7 + 0x23b58))();\n    if ((iVar2 != 0) && (iVar6 = iVar2 + 1, 6 < iVar6 - iVar4)) {\n      iVar3 = (**(code **)(puVar7 + 0x23b10))(iVar2 + -6,*(int *)(puVar7 + 0x23898) + 0x69c8,7);\n      if (iVar3 == 0) {\n        iVar4 = (**(code **)(puVar7 + 0x23b10))(iVar6,*(int *)(puVar7 + 0x23898) + 0x69d0,3);\n        if (iVar4 != 0) {\n          **(int **)(puVar7 + 0x23934) = iVar6;\n          piVar5 = *(int **)(puVar7 + 0x23b68);\n          *piVar5 = iVar6;\n          return (size_t)piVar5;\n        }\n        iVar4 = iVar2 + 4;\n        **(int **)(puVar7 + 0x23b24) = iVar4;\n      }\n    }\n    **(int **)(puVar7 + 0x23934) = iVar4;\n    piVar5 = *(int **)(puVar7 + 0x23b68);\n    *piVar5 = iVar4;\n    return (size_t)piVar5;\n  }\n  iVar4 = 1;\n  piVar5 = (int *)(*(int *)(puVar7 + 0x23898) + 0x6990);\n  (**(code **)(puVar7 + 0x23c24))(piVar5,1,0x37,**(undefined4 **)(puVar7 + 0x23ca4));\n  pcVar8 = *(code **)(puVar7 + 0x23b08);\n  (*pcVar8)();\n  *piVar5 = 0;\n  piVar5[1] = 0;\n  piVar5[2] = 0;\n  piVar5[3] = 0;\n  piVar5[4] = 0;\n  piVar5[5] = 0;\n  piVar5[6] = 0;\n  piVar5[7] = 0;\n  piVar5[8] = 0;\n  piVar5[9] = 0;\n  piVar5[10] = 0;\n  piVar5[0xb] = 0;\n  if (iVar4 != 10) {\n    *piVar5 = iVar4;\n    return (size_t)piVar5;\n  }\n  sVar1 = (**(code **)(pcVar8 + 0x239d8))();\n  return sVar1;\n}" primitive_type (function_declarator "nstrftime(char *s,size_t maxsize,char *format,tm *tp,timezone_t tz,int ns)" identifier (parameter_list "(char *s,size_t maxsize,char *format,tm *tp,timezone_t tz,int ns)" ( (parameter_declaration "char *s" primitive_type (pointer_declarator "*s" * identifier)) , (parameter_declaration "size_t maxsize" primitive_type identifier) , (parameter_declaration "char *format" primitive_type (pointer_declarator "*format" * identifier)) , (parameter_declaration "tm *tp" type_identifier (pointer_declarator "*tp" * identifier)) , (parameter_declaration "timezone_t tz" type_identifier identifier) , (parameter_declaration "int ns" primitive_type identifier) ))) (compound_statement "{\n  size_t sVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  undefined *puVar7;\n  code *pcVar8;\n  _Bool tzset_called;\n  int local_c;\n  \n  puVar7 = PTR___stack_chk_guard_000495fc;\n  tzset_called = false;\n  local_c = *(int *)PTR___stack_chk_guard_000495fc;\n  sVar1 = __strftime_internal(s,maxsize,format,tp,false,&tzset_called,tz,ns);\n  if (local_c == *(int *)puVar7) {\n    return sVar1;\n  }\n  iVar4 = local_c;\n  puVar7 = PTR___stack_chk_fail_000495d0;\n  (*(code *)PTR___stack_chk_fail_000495d0)();\n  if (iVar4 != 0) {\n    iVar2 = (**(code **)(puVar7 + 0x23b58))();\n    if ((iVar2 != 0) && (iVar6 = iVar2 + 1, 6 < iVar6 - iVar4)) {\n      iVar3 = (**(code **)(puVar7 + 0x23b10))(iVar2 + -6,*(int *)(puVar7 + 0x23898) + 0x69c8,7);\n      if (iVar3 == 0) {\n        iVar4 = (**(code **)(puVar7 + 0x23b10))(iVar6,*(int *)(puVar7 + 0x23898) + 0x69d0,3);\n        if (iVar4 != 0) {\n          **(int **)(puVar7 + 0x23934) = iVar6;\n          piVar5 = *(int **)(puVar7 + 0x23b68);\n          *piVar5 = iVar6;\n          return (size_t)piVar5;\n        }\n        iVar4 = iVar2 + 4;\n        **(int **)(puVar7 + 0x23b24) = iVar4;\n      }\n    }\n    **(int **)(puVar7 + 0x23934) = iVar4;\n    piVar5 = *(int **)(puVar7 + 0x23b68);\n    *piVar5 = iVar4;\n    return (size_t)piVar5;\n  }\n  iVar4 = 1;\n  piVar5 = (int *)(*(int *)(puVar7 + 0x23898) + 0x6990);\n  (**(code **)(puVar7 + 0x23c24))(piVar5,1,0x37,**(undefined4 **)(puVar7 + 0x23ca4));\n  pcVar8 = *(code **)(puVar7 + 0x23b08);\n  (*pcVar8)();\n  *piVar5 = 0;\n  piVar5[1] = 0;\n  piVar5[2] = 0;\n  piVar5[3] = 0;\n  piVar5[4] = 0;\n  piVar5[5] = 0;\n  piVar5[6] = 0;\n  piVar5[7] = 0;\n  piVar5[8] = 0;\n  piVar5[9] = 0;\n  piVar5[10] = 0;\n  piVar5[0xb] = 0;\n  if (iVar4 != 10) {\n    *piVar5 = iVar4;\n    return (size_t)piVar5;\n  }\n  sVar1 = (**(code **)(pcVar8 + 0x239d8))();\n  return sVar1;\n}" { (declaration "size_t sVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "code *pcVar8;" type_identifier (pointer_declarator "*pcVar8" * identifier) ;) (declaration "_Bool tzset_called;" type_identifier identifier ;) (declaration "int local_c;" primitive_type identifier ;) (expression_statement "puVar7 = PTR___stack_chk_guard_000495fc;" (assignment_expression "puVar7 = PTR___stack_chk_guard_000495fc" identifier = identifier) ;) (expression_statement "tzset_called = false;" (assignment_expression "tzset_called = false" identifier = false) ;) (expression_statement "local_c = *(int *)PTR___stack_chk_guard_000495fc;" (assignment_expression "local_c = *(int *)PTR___stack_chk_guard_000495fc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000495fc" * (cast_expression "(int *)PTR___stack_chk_guard_000495fc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "sVar1 = __strftime_internal(s,maxsize,format,tp,false,&tzset_called,tz,ns);" (assignment_expression "sVar1 = __strftime_internal(s,maxsize,format,tp,false,&tzset_called,tz,ns)" identifier = (call_expression "__strftime_internal(s,maxsize,format,tp,false,&tzset_called,tz,ns)" identifier (argument_list "(s,maxsize,format,tp,false,&tzset_called,tz,ns)" ( identifier , identifier , identifier , identifier , false , (pointer_expression "&tzset_called" & identifier) , identifier , identifier )))) ;) (if_statement "if (local_c == *(int *)puVar7) {\n    return sVar1;\n  }" if (parenthesized_expression "(local_c == *(int *)puVar7)" ( (binary_expression "local_c == *(int *)puVar7" identifier == (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return sVar1;\n  }" { (return_statement "return sVar1;" return identifier ;) })) (expression_statement "iVar4 = local_c;" (assignment_expression "iVar4 = local_c" identifier = identifier) ;) (expression_statement "puVar7 = PTR___stack_chk_fail_000495d0;" (assignment_expression "puVar7 = PTR___stack_chk_fail_000495d0" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000495d0)();" (call_expression "(*(code *)PTR___stack_chk_fail_000495d0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000495d0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000495d0" * (cast_expression "(code *)PTR___stack_chk_fail_000495d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar4 != 0) {\n    iVar2 = (**(code **)(puVar7 + 0x23b58))();\n    if ((iVar2 != 0) && (iVar6 = iVar2 + 1, 6 < iVar6 - iVar4)) {\n      iVar3 = (**(code **)(puVar7 + 0x23b10))(iVar2 + -6,*(int *)(puVar7 + 0x23898) + 0x69c8,7);\n      if (iVar3 == 0) {\n        iVar4 = (**(code **)(puVar7 + 0x23b10))(iVar6,*(int *)(puVar7 + 0x23898) + 0x69d0,3);\n        if (iVar4 != 0) {\n          **(int **)(puVar7 + 0x23934) = iVar6;\n          piVar5 = *(int **)(puVar7 + 0x23b68);\n          *piVar5 = iVar6;\n          return (size_t)piVar5;\n        }\n        iVar4 = iVar2 + 4;\n        **(int **)(puVar7 + 0x23b24) = iVar4;\n      }\n    }\n    **(int **)(puVar7 + 0x23934) = iVar4;\n    piVar5 = *(int **)(puVar7 + 0x23b68);\n    *piVar5 = iVar4;\n    return (size_t)piVar5;\n  }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar2 = (**(code **)(puVar7 + 0x23b58))();\n    if ((iVar2 != 0) && (iVar6 = iVar2 + 1, 6 < iVar6 - iVar4)) {\n      iVar3 = (**(code **)(puVar7 + 0x23b10))(iVar2 + -6,*(int *)(puVar7 + 0x23898) + 0x69c8,7);\n      if (iVar3 == 0) {\n        iVar4 = (**(code **)(puVar7 + 0x23b10))(iVar6,*(int *)(puVar7 + 0x23898) + 0x69d0,3);\n        if (iVar4 != 0) {\n          **(int **)(puVar7 + 0x23934) = iVar6;\n          piVar5 = *(int **)(puVar7 + 0x23b68);\n          *piVar5 = iVar6;\n          return (size_t)piVar5;\n        }\n        iVar4 = iVar2 + 4;\n        **(int **)(puVar7 + 0x23b24) = iVar4;\n      }\n    }\n    **(int **)(puVar7 + 0x23934) = iVar4;\n    piVar5 = *(int **)(puVar7 + 0x23b68);\n    *piVar5 = iVar4;\n    return (size_t)piVar5;\n  }" { (expression_statement "iVar2 = (**(code **)(puVar7 + 0x23b58))();" (assignment_expression "iVar2 = (**(code **)(puVar7 + 0x23b58))()" identifier = (call_expression "(**(code **)(puVar7 + 0x23b58))()" (parenthesized_expression "(**(code **)(puVar7 + 0x23b58))" ( (pointer_expression "**(code **)(puVar7 + 0x23b58)" * (pointer_expression "*(code **)(puVar7 + 0x23b58)" * (cast_expression "(code **)(puVar7 + 0x23b58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x23b58)" ( (binary_expression "puVar7 + 0x23b58" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((iVar2 != 0) && (iVar6 = iVar2 + 1, 6 < iVar6 - iVar4)) {\n      iVar3 = (**(code **)(puVar7 + 0x23b10))(iVar2 + -6,*(int *)(puVar7 + 0x23898) + 0x69c8,7);\n      if (iVar3 == 0) {\n        iVar4 = (**(code **)(puVar7 + 0x23b10))(iVar6,*(int *)(puVar7 + 0x23898) + 0x69d0,3);\n        if (iVar4 != 0) {\n          **(int **)(puVar7 + 0x23934) = iVar6;\n          piVar5 = *(int **)(puVar7 + 0x23b68);\n          *piVar5 = iVar6;\n          return (size_t)piVar5;\n        }\n        iVar4 = iVar2 + 4;\n        **(int **)(puVar7 + 0x23b24) = iVar4;\n      }\n    }" if (parenthesized_expression "((iVar2 != 0) && (iVar6 = iVar2 + 1, 6 < iVar6 - iVar4))" ( (binary_expression "(iVar2 != 0) && (iVar6 = iVar2 + 1, 6 < iVar6 - iVar4)" (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar6 = iVar2 + 1, 6 < iVar6 - iVar4)" ( (comma_expression "iVar6 = iVar2 + 1, 6 < iVar6 - iVar4" (assignment_expression "iVar6 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) , (binary_expression "6 < iVar6 - iVar4" number_literal < (binary_expression "iVar6 - iVar4" identifier - identifier))) ))) )) (compound_statement "{\n      iVar3 = (**(code **)(puVar7 + 0x23b10))(iVar2 + -6,*(int *)(puVar7 + 0x23898) + 0x69c8,7);\n      if (iVar3 == 0) {\n        iVar4 = (**(code **)(puVar7 + 0x23b10))(iVar6,*(int *)(puVar7 + 0x23898) + 0x69d0,3);\n        if (iVar4 != 0) {\n          **(int **)(puVar7 + 0x23934) = iVar6;\n          piVar5 = *(int **)(puVar7 + 0x23b68);\n          *piVar5 = iVar6;\n          return (size_t)piVar5;\n        }\n        iVar4 = iVar2 + 4;\n        **(int **)(puVar7 + 0x23b24) = iVar4;\n      }\n    }" { (expression_statement "iVar3 = (**(code **)(puVar7 + 0x23b10))(iVar2 + -6,*(int *)(puVar7 + 0x23898) + 0x69c8,7);" (assignment_expression "iVar3 = (**(code **)(puVar7 + 0x23b10))(iVar2 + -6,*(int *)(puVar7 + 0x23898) + 0x69c8,7)" identifier = (call_expression "(**(code **)(puVar7 + 0x23b10))(iVar2 + -6,*(int *)(puVar7 + 0x23898) + 0x69c8,7)" (parenthesized_expression "(**(code **)(puVar7 + 0x23b10))" ( (pointer_expression "**(code **)(puVar7 + 0x23b10)" * (pointer_expression "*(code **)(puVar7 + 0x23b10)" * (cast_expression "(code **)(puVar7 + 0x23b10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x23b10)" ( (binary_expression "puVar7 + 0x23b10" identifier + number_literal) ))))) )) (argument_list "(iVar2 + -6,*(int *)(puVar7 + 0x23898) + 0x69c8,7)" ( (binary_expression "iVar2 + -6" identifier + number_literal) , (binary_expression "*(int *)(puVar7 + 0x23898) + 0x69c8" (pointer_expression "*(int *)(puVar7 + 0x23898)" * (cast_expression "(int *)(puVar7 + 0x23898)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x23898)" ( (binary_expression "puVar7 + 0x23898" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n        iVar4 = (**(code **)(puVar7 + 0x23b10))(iVar6,*(int *)(puVar7 + 0x23898) + 0x69d0,3);\n        if (iVar4 != 0) {\n          **(int **)(puVar7 + 0x23934) = iVar6;\n          piVar5 = *(int **)(puVar7 + 0x23b68);\n          *piVar5 = iVar6;\n          return (size_t)piVar5;\n        }\n        iVar4 = iVar2 + 4;\n        **(int **)(puVar7 + 0x23b24) = iVar4;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar4 = (**(code **)(puVar7 + 0x23b10))(iVar6,*(int *)(puVar7 + 0x23898) + 0x69d0,3);\n        if (iVar4 != 0) {\n          **(int **)(puVar7 + 0x23934) = iVar6;\n          piVar5 = *(int **)(puVar7 + 0x23b68);\n          *piVar5 = iVar6;\n          return (size_t)piVar5;\n        }\n        iVar4 = iVar2 + 4;\n        **(int **)(puVar7 + 0x23b24) = iVar4;\n      }" { (expression_statement "iVar4 = (**(code **)(puVar7 + 0x23b10))(iVar6,*(int *)(puVar7 + 0x23898) + 0x69d0,3);" (assignment_expression "iVar4 = (**(code **)(puVar7 + 0x23b10))(iVar6,*(int *)(puVar7 + 0x23898) + 0x69d0,3)" identifier = (call_expression "(**(code **)(puVar7 + 0x23b10))(iVar6,*(int *)(puVar7 + 0x23898) + 0x69d0,3)" (parenthesized_expression "(**(code **)(puVar7 + 0x23b10))" ( (pointer_expression "**(code **)(puVar7 + 0x23b10)" * (pointer_expression "*(code **)(puVar7 + 0x23b10)" * (cast_expression "(code **)(puVar7 + 0x23b10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x23b10)" ( (binary_expression "puVar7 + 0x23b10" identifier + number_literal) ))))) )) (argument_list "(iVar6,*(int *)(puVar7 + 0x23898) + 0x69d0,3)" ( identifier , (binary_expression "*(int *)(puVar7 + 0x23898) + 0x69d0" (pointer_expression "*(int *)(puVar7 + 0x23898)" * (cast_expression "(int *)(puVar7 + 0x23898)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x23898)" ( (binary_expression "puVar7 + 0x23898" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (if_statement "if (iVar4 != 0) {\n          **(int **)(puVar7 + 0x23934) = iVar6;\n          piVar5 = *(int **)(puVar7 + 0x23b68);\n          *piVar5 = iVar6;\n          return (size_t)piVar5;\n        }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n          **(int **)(puVar7 + 0x23934) = iVar6;\n          piVar5 = *(int **)(puVar7 + 0x23b68);\n          *piVar5 = iVar6;\n          return (size_t)piVar5;\n        }" { (expression_statement "**(int **)(puVar7 + 0x23934) = iVar6;" (assignment_expression "**(int **)(puVar7 + 0x23934) = iVar6" (pointer_expression "**(int **)(puVar7 + 0x23934)" * (pointer_expression "*(int **)(puVar7 + 0x23934)" * (cast_expression "(int **)(puVar7 + 0x23934)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x23934)" ( (binary_expression "puVar7 + 0x23934" identifier + number_literal) ))))) = identifier) ;) (expression_statement "piVar5 = *(int **)(puVar7 + 0x23b68);" (assignment_expression "piVar5 = *(int **)(puVar7 + 0x23b68)" identifier = (pointer_expression "*(int **)(puVar7 + 0x23b68)" * (cast_expression "(int **)(puVar7 + 0x23b68)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x23b68)" ( (binary_expression "puVar7 + 0x23b68" identifier + number_literal) ))))) ;) (expression_statement "*piVar5 = iVar6;" (assignment_expression "*piVar5 = iVar6" (pointer_expression "*piVar5" * identifier) = identifier) ;) (return_statement "return (size_t)piVar5;" return (cast_expression "(size_t)piVar5" ( (type_descriptor "size_t" primitive_type) ) identifier) ;) })) (expression_statement "iVar4 = iVar2 + 4;" (assignment_expression "iVar4 = iVar2 + 4" identifier = (binary_expression "iVar2 + 4" identifier + number_literal)) ;) (expression_statement "**(int **)(puVar7 + 0x23b24) = iVar4;" (assignment_expression "**(int **)(puVar7 + 0x23b24) = iVar4" (pointer_expression "**(int **)(puVar7 + 0x23b24)" * (pointer_expression "*(int **)(puVar7 + 0x23b24)" * (cast_expression "(int **)(puVar7 + 0x23b24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x23b24)" ( (binary_expression "puVar7 + 0x23b24" identifier + number_literal) ))))) = identifier) ;) })) })) (expression_statement "**(int **)(puVar7 + 0x23934) = iVar4;" (assignment_expression "**(int **)(puVar7 + 0x23934) = iVar4" (pointer_expression "**(int **)(puVar7 + 0x23934)" * (pointer_expression "*(int **)(puVar7 + 0x23934)" * (cast_expression "(int **)(puVar7 + 0x23934)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x23934)" ( (binary_expression "puVar7 + 0x23934" identifier + number_literal) ))))) = identifier) ;) (expression_statement "piVar5 = *(int **)(puVar7 + 0x23b68);" (assignment_expression "piVar5 = *(int **)(puVar7 + 0x23b68)" identifier = (pointer_expression "*(int **)(puVar7 + 0x23b68)" * (cast_expression "(int **)(puVar7 + 0x23b68)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x23b68)" ( (binary_expression "puVar7 + 0x23b68" identifier + number_literal) ))))) ;) (expression_statement "*piVar5 = iVar4;" (assignment_expression "*piVar5 = iVar4" (pointer_expression "*piVar5" * identifier) = identifier) ;) (return_statement "return (size_t)piVar5;" return (cast_expression "(size_t)piVar5" ( (type_descriptor "size_t" primitive_type) ) identifier) ;) })) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (expression_statement "piVar5 = (int *)(*(int *)(puVar7 + 0x23898) + 0x6990);" (assignment_expression "piVar5 = (int *)(*(int *)(puVar7 + 0x23898) + 0x6990)" identifier = (cast_expression "(int *)(*(int *)(puVar7 + 0x23898) + 0x6990)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar7 + 0x23898) + 0x6990)" ( (binary_expression "*(int *)(puVar7 + 0x23898) + 0x6990" (pointer_expression "*(int *)(puVar7 + 0x23898)" * (cast_expression "(int *)(puVar7 + 0x23898)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x23898)" ( (binary_expression "puVar7 + 0x23898" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar7 + 0x23c24))(piVar5,1,0x37,**(undefined4 **)(puVar7 + 0x23ca4));" (call_expression "(**(code **)(puVar7 + 0x23c24))(piVar5,1,0x37,**(undefined4 **)(puVar7 + 0x23ca4))" (parenthesized_expression "(**(code **)(puVar7 + 0x23c24))" ( (pointer_expression "**(code **)(puVar7 + 0x23c24)" * (pointer_expression "*(code **)(puVar7 + 0x23c24)" * (cast_expression "(code **)(puVar7 + 0x23c24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x23c24)" ( (binary_expression "puVar7 + 0x23c24" identifier + number_literal) ))))) )) (argument_list "(piVar5,1,0x37,**(undefined4 **)(puVar7 + 0x23ca4))" ( identifier , number_literal , number_literal , (pointer_expression "**(undefined4 **)(puVar7 + 0x23ca4)" * (pointer_expression "*(undefined4 **)(puVar7 + 0x23ca4)" * (cast_expression "(undefined4 **)(puVar7 + 0x23ca4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x23ca4)" ( (binary_expression "puVar7 + 0x23ca4" identifier + number_literal) ))))) ))) ;) (expression_statement "pcVar8 = *(code **)(puVar7 + 0x23b08);" (assignment_expression "pcVar8 = *(code **)(puVar7 + 0x23b08)" identifier = (pointer_expression "*(code **)(puVar7 + 0x23b08)" * (cast_expression "(code **)(puVar7 + 0x23b08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x23b08)" ( (binary_expression "puVar7 + 0x23b08" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar8)();" (call_expression "(*pcVar8)()" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "*piVar5 = 0;" (assignment_expression "*piVar5 = 0" (pointer_expression "*piVar5" * identifier) = number_literal) ;) (expression_statement "piVar5[1] = 0;" (assignment_expression "piVar5[1] = 0" (subscript_expression "piVar5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[2] = 0;" (assignment_expression "piVar5[2] = 0" (subscript_expression "piVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[3] = 0;" (assignment_expression "piVar5[3] = 0" (subscript_expression "piVar5[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[4] = 0;" (assignment_expression "piVar5[4] = 0" (subscript_expression "piVar5[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[5] = 0;" (assignment_expression "piVar5[5] = 0" (subscript_expression "piVar5[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[6] = 0;" (assignment_expression "piVar5[6] = 0" (subscript_expression "piVar5[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[7] = 0;" (assignment_expression "piVar5[7] = 0" (subscript_expression "piVar5[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[8] = 0;" (assignment_expression "piVar5[8] = 0" (subscript_expression "piVar5[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[9] = 0;" (assignment_expression "piVar5[9] = 0" (subscript_expression "piVar5[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[10] = 0;" (assignment_expression "piVar5[10] = 0" (subscript_expression "piVar5[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[0xb] = 0;" (assignment_expression "piVar5[0xb] = 0" (subscript_expression "piVar5[0xb]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar4 != 10) {\n    *piVar5 = iVar4;\n    return (size_t)piVar5;\n  }" if (parenthesized_expression "(iVar4 != 10)" ( (binary_expression "iVar4 != 10" identifier != number_literal) )) (compound_statement "{\n    *piVar5 = iVar4;\n    return (size_t)piVar5;\n  }" { (expression_statement "*piVar5 = iVar4;" (assignment_expression "*piVar5 = iVar4" (pointer_expression "*piVar5" * identifier) = identifier) ;) (return_statement "return (size_t)piVar5;" return (cast_expression "(size_t)piVar5" ( (type_descriptor "size_t" primitive_type) ) identifier) ;) })) (expression_statement "sVar1 = (**(code **)(pcVar8 + 0x239d8))();" (assignment_expression "sVar1 = (**(code **)(pcVar8 + 0x239d8))()" identifier = (call_expression "(**(code **)(pcVar8 + 0x239d8))()" (parenthesized_expression "(**(code **)(pcVar8 + 0x239d8))" ( (pointer_expression "**(code **)(pcVar8 + 0x239d8)" * (pointer_expression "*(code **)(pcVar8 + 0x239d8)" * (cast_expression "(code **)(pcVar8 + 0x239d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar8 + 0x239d8)" ( (binary_expression "pcVar8 + 0x239d8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (return_statement "return sVar1;" return identifier ;) })))
(translation_unit "int * nstrftime(void)\n\n{\n  int iVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  undefined *puVar6;\n  code *pcVar7;\n  \n  puVar6 = PTR___stack_chk_guard_000495fc;\n  iVar1 = *(int *)PTR___stack_chk_guard_000495fc;\n  piVar2 = (int *)FUN_00023eb8();\n  if (iVar1 == *(int *)puVar6) {\n    return piVar2;\n  }\n  puVar6 = PTR___stack_chk_fail_000495d0;\n  (*(code *)PTR___stack_chk_fail_000495d0)();\n  if (iVar1 != 0) {\n    iVar3 = (**(code **)(puVar6 + 0x23b58))();\n    if ((iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)) {\n      iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);\n      if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }\n    }\n    **(int **)(puVar6 + 0x23934) = iVar1;\n    piVar2 = *(int **)(puVar6 + 0x23b68);\n    *piVar2 = iVar1;\n    return piVar2;\n  }\n  iVar1 = 1;\n  piVar2 = (int *)(*(int *)(puVar6 + 0x23898) + 0x6990);\n  (**(code **)(puVar6 + 0x23c24))(piVar2,1,0x37,**(undefined4 **)(puVar6 + 0x23ca4));\n  pcVar7 = *(code **)(puVar6 + 0x23b08);\n  (*pcVar7)();\n  *piVar2 = 0;\n  piVar2[1] = 0;\n  piVar2[2] = 0;\n  piVar2[3] = 0;\n  piVar2[4] = 0;\n  piVar2[5] = 0;\n  piVar2[6] = 0;\n  piVar2[7] = 0;\n  piVar2[8] = 0;\n  piVar2[9] = 0;\n  piVar2[10] = 0;\n  piVar2[0xb] = 0;\n  if (iVar1 != 10) {\n    *piVar2 = iVar1;\n    return piVar2;\n  }\n  piVar2 = (int *)(**(code **)(pcVar7 + 0x239d8))();\n  return piVar2;\n}\n\n" (function_definition "int * nstrftime(void)\n\n{\n  int iVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  undefined *puVar6;\n  code *pcVar7;\n  \n  puVar6 = PTR___stack_chk_guard_000495fc;\n  iVar1 = *(int *)PTR___stack_chk_guard_000495fc;\n  piVar2 = (int *)FUN_00023eb8();\n  if (iVar1 == *(int *)puVar6) {\n    return piVar2;\n  }\n  puVar6 = PTR___stack_chk_fail_000495d0;\n  (*(code *)PTR___stack_chk_fail_000495d0)();\n  if (iVar1 != 0) {\n    iVar3 = (**(code **)(puVar6 + 0x23b58))();\n    if ((iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)) {\n      iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);\n      if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }\n    }\n    **(int **)(puVar6 + 0x23934) = iVar1;\n    piVar2 = *(int **)(puVar6 + 0x23b68);\n    *piVar2 = iVar1;\n    return piVar2;\n  }\n  iVar1 = 1;\n  piVar2 = (int *)(*(int *)(puVar6 + 0x23898) + 0x6990);\n  (**(code **)(puVar6 + 0x23c24))(piVar2,1,0x37,**(undefined4 **)(puVar6 + 0x23ca4));\n  pcVar7 = *(code **)(puVar6 + 0x23b08);\n  (*pcVar7)();\n  *piVar2 = 0;\n  piVar2[1] = 0;\n  piVar2[2] = 0;\n  piVar2[3] = 0;\n  piVar2[4] = 0;\n  piVar2[5] = 0;\n  piVar2[6] = 0;\n  piVar2[7] = 0;\n  piVar2[8] = 0;\n  piVar2[9] = 0;\n  piVar2[10] = 0;\n  piVar2[0xb] = 0;\n  if (iVar1 != 10) {\n    *piVar2 = iVar1;\n    return piVar2;\n  }\n  piVar2 = (int *)(**(code **)(pcVar7 + 0x239d8))();\n  return piVar2;\n}" primitive_type (pointer_declarator "* nstrftime(void)" * (function_declarator "nstrftime(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) )))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  undefined *puVar6;\n  code *pcVar7;\n  \n  puVar6 = PTR___stack_chk_guard_000495fc;\n  iVar1 = *(int *)PTR___stack_chk_guard_000495fc;\n  piVar2 = (int *)FUN_00023eb8();\n  if (iVar1 == *(int *)puVar6) {\n    return piVar2;\n  }\n  puVar6 = PTR___stack_chk_fail_000495d0;\n  (*(code *)PTR___stack_chk_fail_000495d0)();\n  if (iVar1 != 0) {\n    iVar3 = (**(code **)(puVar6 + 0x23b58))();\n    if ((iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)) {\n      iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);\n      if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }\n    }\n    **(int **)(puVar6 + 0x23934) = iVar1;\n    piVar2 = *(int **)(puVar6 + 0x23b68);\n    *piVar2 = iVar1;\n    return piVar2;\n  }\n  iVar1 = 1;\n  piVar2 = (int *)(*(int *)(puVar6 + 0x23898) + 0x6990);\n  (**(code **)(puVar6 + 0x23c24))(piVar2,1,0x37,**(undefined4 **)(puVar6 + 0x23ca4));\n  pcVar7 = *(code **)(puVar6 + 0x23b08);\n  (*pcVar7)();\n  *piVar2 = 0;\n  piVar2[1] = 0;\n  piVar2[2] = 0;\n  piVar2[3] = 0;\n  piVar2[4] = 0;\n  piVar2[5] = 0;\n  piVar2[6] = 0;\n  piVar2[7] = 0;\n  piVar2[8] = 0;\n  piVar2[9] = 0;\n  piVar2[10] = 0;\n  piVar2[0xb] = 0;\n  if (iVar1 != 10) {\n    *piVar2 = iVar1;\n    return piVar2;\n  }\n  piVar2 = (int *)(**(code **)(pcVar7 + 0x239d8))();\n  return piVar2;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "code *pcVar7;" type_identifier (pointer_declarator "*pcVar7" * identifier) ;) (expression_statement "puVar6 = PTR___stack_chk_guard_000495fc;" (assignment_expression "puVar6 = PTR___stack_chk_guard_000495fc" identifier = identifier) ;) (expression_statement "iVar1 = *(int *)PTR___stack_chk_guard_000495fc;" (assignment_expression "iVar1 = *(int *)PTR___stack_chk_guard_000495fc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000495fc" * (cast_expression "(int *)PTR___stack_chk_guard_000495fc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar2 = (int *)FUN_00023eb8();" (assignment_expression "piVar2 = (int *)FUN_00023eb8()" identifier = (cast_expression "(int *)FUN_00023eb8()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00023eb8()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (iVar1 == *(int *)puVar6) {\n    return piVar2;\n  }" if (parenthesized_expression "(iVar1 == *(int *)puVar6)" ( (binary_expression "iVar1 == *(int *)puVar6" identifier == (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return piVar2;\n  }" { (return_statement "return piVar2;" return identifier ;) })) (expression_statement "puVar6 = PTR___stack_chk_fail_000495d0;" (assignment_expression "puVar6 = PTR___stack_chk_fail_000495d0" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000495d0)();" (call_expression "(*(code *)PTR___stack_chk_fail_000495d0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000495d0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000495d0" * (cast_expression "(code *)PTR___stack_chk_fail_000495d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar1 != 0) {\n    iVar3 = (**(code **)(puVar6 + 0x23b58))();\n    if ((iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)) {\n      iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);\n      if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }\n    }\n    **(int **)(puVar6 + 0x23934) = iVar1;\n    piVar2 = *(int **)(puVar6 + 0x23b68);\n    *piVar2 = iVar1;\n    return piVar2;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar3 = (**(code **)(puVar6 + 0x23b58))();\n    if ((iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)) {\n      iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);\n      if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }\n    }\n    **(int **)(puVar6 + 0x23934) = iVar1;\n    piVar2 = *(int **)(puVar6 + 0x23b68);\n    *piVar2 = iVar1;\n    return piVar2;\n  }" { (expression_statement "iVar3 = (**(code **)(puVar6 + 0x23b58))();" (assignment_expression "iVar3 = (**(code **)(puVar6 + 0x23b58))()" identifier = (call_expression "(**(code **)(puVar6 + 0x23b58))()" (parenthesized_expression "(**(code **)(puVar6 + 0x23b58))" ( (pointer_expression "**(code **)(puVar6 + 0x23b58)" * (pointer_expression "*(code **)(puVar6 + 0x23b58)" * (cast_expression "(code **)(puVar6 + 0x23b58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x23b58)" ( (binary_expression "puVar6 + 0x23b58" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)) {\n      iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);\n      if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }\n    }" if (parenthesized_expression "((iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1))" ( (binary_expression "(iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)" ( (comma_expression "iVar5 = iVar3 + 1, 6 < iVar5 - iVar1" (assignment_expression "iVar5 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) , (binary_expression "6 < iVar5 - iVar1" number_literal < (binary_expression "iVar5 - iVar1" identifier - identifier))) ))) )) (compound_statement "{\n      iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);\n      if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }\n    }" { (expression_statement "iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);" (assignment_expression "iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7)" identifier = (call_expression "(**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7)" (parenthesized_expression "(**(code **)(puVar6 + 0x23b10))" ( (pointer_expression "**(code **)(puVar6 + 0x23b10)" * (pointer_expression "*(code **)(puVar6 + 0x23b10)" * (cast_expression "(code **)(puVar6 + 0x23b10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x23b10)" ( (binary_expression "puVar6 + 0x23b10" identifier + number_literal) ))))) )) (argument_list "(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7)" ( (binary_expression "iVar3 + -6" identifier + number_literal) , (binary_expression "*(int *)(puVar6 + 0x23898) + 0x69c8" (pointer_expression "*(int *)(puVar6 + 0x23898)" * (cast_expression "(int *)(puVar6 + 0x23898)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x23898)" ( (binary_expression "puVar6 + 0x23898" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }" { (expression_statement "iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);" (assignment_expression "iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3)" identifier = (call_expression "(**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3)" (parenthesized_expression "(**(code **)(puVar6 + 0x23b10))" ( (pointer_expression "**(code **)(puVar6 + 0x23b10)" * (pointer_expression "*(code **)(puVar6 + 0x23b10)" * (cast_expression "(code **)(puVar6 + 0x23b10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x23b10)" ( (binary_expression "puVar6 + 0x23b10" identifier + number_literal) ))))) )) (argument_list "(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3)" ( identifier , (binary_expression "*(int *)(puVar6 + 0x23898) + 0x69d0" (pointer_expression "*(int *)(puVar6 + 0x23898)" * (cast_expression "(int *)(puVar6 + 0x23898)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x23898)" ( (binary_expression "puVar6 + 0x23898" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (if_statement "if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }" { (expression_statement "**(int **)(puVar6 + 0x23934) = iVar5;" (assignment_expression "**(int **)(puVar6 + 0x23934) = iVar5" (pointer_expression "**(int **)(puVar6 + 0x23934)" * (pointer_expression "*(int **)(puVar6 + 0x23934)" * (cast_expression "(int **)(puVar6 + 0x23934)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x23934)" ( (binary_expression "puVar6 + 0x23934" identifier + number_literal) ))))) = identifier) ;) (expression_statement "piVar2 = *(int **)(puVar6 + 0x23b68);" (assignment_expression "piVar2 = *(int **)(puVar6 + 0x23b68)" identifier = (pointer_expression "*(int **)(puVar6 + 0x23b68)" * (cast_expression "(int **)(puVar6 + 0x23b68)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x23b68)" ( (binary_expression "puVar6 + 0x23b68" identifier + number_literal) ))))) ;) (expression_statement "*piVar2 = iVar5;" (assignment_expression "*piVar2 = iVar5" (pointer_expression "*piVar2" * identifier) = identifier) ;) (return_statement "return piVar2;" return identifier ;) })) (expression_statement "iVar1 = iVar3 + 4;" (assignment_expression "iVar1 = iVar3 + 4" identifier = (binary_expression "iVar3 + 4" identifier + number_literal)) ;) (expression_statement "**(int **)(puVar6 + 0x23b24) = iVar1;" (assignment_expression "**(int **)(puVar6 + 0x23b24) = iVar1" (pointer_expression "**(int **)(puVar6 + 0x23b24)" * (pointer_expression "*(int **)(puVar6 + 0x23b24)" * (cast_expression "(int **)(puVar6 + 0x23b24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x23b24)" ( (binary_expression "puVar6 + 0x23b24" identifier + number_literal) ))))) = identifier) ;) })) })) (expression_statement "**(int **)(puVar6 + 0x23934) = iVar1;" (assignment_expression "**(int **)(puVar6 + 0x23934) = iVar1" (pointer_expression "**(int **)(puVar6 + 0x23934)" * (pointer_expression "*(int **)(puVar6 + 0x23934)" * (cast_expression "(int **)(puVar6 + 0x23934)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x23934)" ( (binary_expression "puVar6 + 0x23934" identifier + number_literal) ))))) = identifier) ;) (expression_statement "piVar2 = *(int **)(puVar6 + 0x23b68);" (assignment_expression "piVar2 = *(int **)(puVar6 + 0x23b68)" identifier = (pointer_expression "*(int **)(puVar6 + 0x23b68)" * (cast_expression "(int **)(puVar6 + 0x23b68)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x23b68)" ( (binary_expression "puVar6 + 0x23b68" identifier + number_literal) ))))) ;) (expression_statement "*piVar2 = iVar1;" (assignment_expression "*piVar2 = iVar1" (pointer_expression "*piVar2" * identifier) = identifier) ;) (return_statement "return piVar2;" return identifier ;) })) (expression_statement "iVar1 = 1;" (assignment_expression "iVar1 = 1" identifier = number_literal) ;) (expression_statement "piVar2 = (int *)(*(int *)(puVar6 + 0x23898) + 0x6990);" (assignment_expression "piVar2 = (int *)(*(int *)(puVar6 + 0x23898) + 0x6990)" identifier = (cast_expression "(int *)(*(int *)(puVar6 + 0x23898) + 0x6990)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar6 + 0x23898) + 0x6990)" ( (binary_expression "*(int *)(puVar6 + 0x23898) + 0x6990" (pointer_expression "*(int *)(puVar6 + 0x23898)" * (cast_expression "(int *)(puVar6 + 0x23898)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x23898)" ( (binary_expression "puVar6 + 0x23898" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar6 + 0x23c24))(piVar2,1,0x37,**(undefined4 **)(puVar6 + 0x23ca4));" (call_expression "(**(code **)(puVar6 + 0x23c24))(piVar2,1,0x37,**(undefined4 **)(puVar6 + 0x23ca4))" (parenthesized_expression "(**(code **)(puVar6 + 0x23c24))" ( (pointer_expression "**(code **)(puVar6 + 0x23c24)" * (pointer_expression "*(code **)(puVar6 + 0x23c24)" * (cast_expression "(code **)(puVar6 + 0x23c24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x23c24)" ( (binary_expression "puVar6 + 0x23c24" identifier + number_literal) ))))) )) (argument_list "(piVar2,1,0x37,**(undefined4 **)(puVar6 + 0x23ca4))" ( identifier , number_literal , number_literal , (pointer_expression "**(undefined4 **)(puVar6 + 0x23ca4)" * (pointer_expression "*(undefined4 **)(puVar6 + 0x23ca4)" * (cast_expression "(undefined4 **)(puVar6 + 0x23ca4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x23ca4)" ( (binary_expression "puVar6 + 0x23ca4" identifier + number_literal) ))))) ))) ;) (expression_statement "pcVar7 = *(code **)(puVar6 + 0x23b08);" (assignment_expression "pcVar7 = *(code **)(puVar6 + 0x23b08)" identifier = (pointer_expression "*(code **)(puVar6 + 0x23b08)" * (cast_expression "(code **)(puVar6 + 0x23b08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x23b08)" ( (binary_expression "puVar6 + 0x23b08" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "*piVar2 = 0;" (assignment_expression "*piVar2 = 0" (pointer_expression "*piVar2" * identifier) = number_literal) ;) (expression_statement "piVar2[1] = 0;" (assignment_expression "piVar2[1] = 0" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[5] = 0;" (assignment_expression "piVar2[5] = 0" (subscript_expression "piVar2[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[6] = 0;" (assignment_expression "piVar2[6] = 0" (subscript_expression "piVar2[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[7] = 0;" (assignment_expression "piVar2[7] = 0" (subscript_expression "piVar2[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[8] = 0;" (assignment_expression "piVar2[8] = 0" (subscript_expression "piVar2[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xb] = 0;" (assignment_expression "piVar2[0xb] = 0" (subscript_expression "piVar2[0xb]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar1 != 10) {\n    *piVar2 = iVar1;\n    return piVar2;\n  }" if (parenthesized_expression "(iVar1 != 10)" ( (binary_expression "iVar1 != 10" identifier != number_literal) )) (compound_statement "{\n    *piVar2 = iVar1;\n    return piVar2;\n  }" { (expression_statement "*piVar2 = iVar1;" (assignment_expression "*piVar2 = iVar1" (pointer_expression "*piVar2" * identifier) = identifier) ;) (return_statement "return piVar2;" return identifier ;) })) (expression_statement "piVar2 = (int *)(**(code **)(pcVar7 + 0x239d8))();" (assignment_expression "piVar2 = (int *)(**(code **)(pcVar7 + 0x239d8))()" identifier = (cast_expression "(int *)(**(code **)(pcVar7 + 0x239d8))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar7 + 0x239d8))()" (parenthesized_expression "(**(code **)(pcVar7 + 0x239d8))" ( (pointer_expression "**(code **)(pcVar7 + 0x239d8)" * (pointer_expression "*(code **)(pcVar7 + 0x239d8)" * (cast_expression "(code **)(pcVar7 + 0x239d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0x239d8)" ( (binary_expression "pcVar7 + 0x239d8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (return_statement "return piVar2;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression LIT < (binary_expression IDENT - IDENT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) = 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) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) = IDENT) ;) })) })) (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) = 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) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) })))
(function_definition "int * nstrftime(void)\n\n{\n  int iVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  undefined *puVar6;\n  code *pcVar7;\n  \n  puVar6 = PTR___stack_chk_guard_000495fc;\n  iVar1 = *(int *)PTR___stack_chk_guard_000495fc;\n  piVar2 = (int *)FUN_00023eb8();\n  if (iVar1 == *(int *)puVar6) {\n    return piVar2;\n  }\n  puVar6 = PTR___stack_chk_fail_000495d0;\n  (*(code *)PTR___stack_chk_fail_000495d0)();\n  if (iVar1 != 0) {\n    iVar3 = (**(code **)(puVar6 + 0x23b58))();\n    if ((iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)) {\n      iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);\n      if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }\n    }\n    **(int **)(puVar6 + 0x23934) = iVar1;\n    piVar2 = *(int **)(puVar6 + 0x23b68);\n    *piVar2 = iVar1;\n    return piVar2;\n  }\n  iVar1 = 1;\n  piVar2 = (int *)(*(int *)(puVar6 + 0x23898) + 0x6990);\n  (**(code **)(puVar6 + 0x23c24))(piVar2,1,0x37,**(undefined4 **)(puVar6 + 0x23ca4));\n  pcVar7 = *(code **)(puVar6 + 0x23b08);\n  (*pcVar7)();\n  *piVar2 = 0;\n  piVar2[1] = 0;\n  piVar2[2] = 0;\n  piVar2[3] = 0;\n  piVar2[4] = 0;\n  piVar2[5] = 0;\n  piVar2[6] = 0;\n  piVar2[7] = 0;\n  piVar2[8] = 0;\n  piVar2[9] = 0;\n  piVar2[10] = 0;\n  piVar2[0xb] = 0;\n  if (iVar1 != 10) {\n    *piVar2 = iVar1;\n    return piVar2;\n  }\n  piVar2 = (int *)(**(code **)(pcVar7 + 0x239d8))();\n  return piVar2;\n}" (primitive_type "int") (pointer_declarator "* nstrftime(void)" (* "*") (function_declarator "nstrftime(void)" (identifier "nstrftime") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")")))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  undefined *puVar6;\n  code *pcVar7;\n  \n  puVar6 = PTR___stack_chk_guard_000495fc;\n  iVar1 = *(int *)PTR___stack_chk_guard_000495fc;\n  piVar2 = (int *)FUN_00023eb8();\n  if (iVar1 == *(int *)puVar6) {\n    return piVar2;\n  }\n  puVar6 = PTR___stack_chk_fail_000495d0;\n  (*(code *)PTR___stack_chk_fail_000495d0)();\n  if (iVar1 != 0) {\n    iVar3 = (**(code **)(puVar6 + 0x23b58))();\n    if ((iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)) {\n      iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);\n      if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }\n    }\n    **(int **)(puVar6 + 0x23934) = iVar1;\n    piVar2 = *(int **)(puVar6 + 0x23b68);\n    *piVar2 = iVar1;\n    return piVar2;\n  }\n  iVar1 = 1;\n  piVar2 = (int *)(*(int *)(puVar6 + 0x23898) + 0x6990);\n  (**(code **)(puVar6 + 0x23c24))(piVar2,1,0x37,**(undefined4 **)(puVar6 + 0x23ca4));\n  pcVar7 = *(code **)(puVar6 + 0x23b08);\n  (*pcVar7)();\n  *piVar2 = 0;\n  piVar2[1] = 0;\n  piVar2[2] = 0;\n  piVar2[3] = 0;\n  piVar2[4] = 0;\n  piVar2[5] = 0;\n  piVar2[6] = 0;\n  piVar2[7] = 0;\n  piVar2[8] = 0;\n  piVar2[9] = 0;\n  piVar2[10] = 0;\n  piVar2[0xb] = 0;\n  if (iVar1 != 10) {\n    *piVar2 = iVar1;\n    return piVar2;\n  }\n  piVar2 = (int *)(**(code **)(pcVar7 + 0x239d8))();\n  return piVar2;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "undefined *puVar6;" (type_identifier "undefined") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "code *pcVar7;" (type_identifier "code") (pointer_declarator "*pcVar7" (* "*") (identifier "pcVar7")) (; ";")) (expression_statement "puVar6 = PTR___stack_chk_guard_000495fc;" (assignment_expression "puVar6 = PTR___stack_chk_guard_000495fc" (identifier "puVar6") (= "=") (identifier "PTR___stack_chk_guard_000495fc")) (; ";")) (expression_statement "iVar1 = *(int *)PTR___stack_chk_guard_000495fc;" (assignment_expression "iVar1 = *(int *)PTR___stack_chk_guard_000495fc" (identifier "iVar1") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_000495fc" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000495fc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000495fc")))) (; ";")) (expression_statement "piVar2 = (int *)FUN_00023eb8();" (assignment_expression "piVar2 = (int *)FUN_00023eb8()" (identifier "piVar2") (= "=") (cast_expression "(int *)FUN_00023eb8()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00023eb8()" (identifier "FUN_00023eb8") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (iVar1 == *(int *)puVar6) {\n    return piVar2;\n  }" (if "if") (parenthesized_expression "(iVar1 == *(int *)puVar6)" (( "(") (binary_expression "iVar1 == *(int *)puVar6" (identifier "iVar1") (== "==") (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6")))) () ")")) (compound_statement "{\n    return piVar2;\n  }" ({ "{") (return_statement "return piVar2;" (return "return") (identifier "piVar2") (; ";")) (} "}"))) (expression_statement "puVar6 = PTR___stack_chk_fail_000495d0;" (assignment_expression "puVar6 = PTR___stack_chk_fail_000495d0" (identifier "puVar6") (= "=") (identifier "PTR___stack_chk_fail_000495d0")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_000495d0)();" (call_expression "(*(code *)PTR___stack_chk_fail_000495d0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000495d0)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000495d0" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000495d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000495d0"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (iVar1 != 0) {\n    iVar3 = (**(code **)(puVar6 + 0x23b58))();\n    if ((iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)) {\n      iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);\n      if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }\n    }\n    **(int **)(puVar6 + 0x23934) = iVar1;\n    piVar2 = *(int **)(puVar6 + 0x23b68);\n    *piVar2 = iVar1;\n    return piVar2;\n  }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar3 = (**(code **)(puVar6 + 0x23b58))();\n    if ((iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)) {\n      iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);\n      if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }\n    }\n    **(int **)(puVar6 + 0x23934) = iVar1;\n    piVar2 = *(int **)(puVar6 + 0x23b68);\n    *piVar2 = iVar1;\n    return piVar2;\n  }" ({ "{") (expression_statement "iVar3 = (**(code **)(puVar6 + 0x23b58))();" (assignment_expression "iVar3 = (**(code **)(puVar6 + 0x23b58))()" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar6 + 0x23b58))()" (parenthesized_expression "(**(code **)(puVar6 + 0x23b58))" (( "(") (pointer_expression "**(code **)(puVar6 + 0x23b58)" (* "*") (pointer_expression "*(code **)(puVar6 + 0x23b58)" (* "*") (cast_expression "(code **)(puVar6 + 0x23b58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x23b58)" (( "(") (binary_expression "puVar6 + 0x23b58" (identifier "puVar6") (+ "+") (number_literal "0x23b58")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)) {\n      iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);\n      if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }\n    }" (if "if") (parenthesized_expression "((iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1))" (( "(") (binary_expression "(iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)" (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)" (( "(") (comma_expression "iVar5 = iVar3 + 1, 6 < iVar5 - iVar1" (assignment_expression "iVar5 = iVar3 + 1" (identifier "iVar5") (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (, ",") (binary_expression "6 < iVar5 - iVar1" (number_literal "6") (< "<") (binary_expression "iVar5 - iVar1" (identifier "iVar5") (- "-") (identifier "iVar1")))) () ")"))) () ")")) (compound_statement "{\n      iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);\n      if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }\n    }" ({ "{") (expression_statement "iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);" (assignment_expression "iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7)" (parenthesized_expression "(**(code **)(puVar6 + 0x23b10))" (( "(") (pointer_expression "**(code **)(puVar6 + 0x23b10)" (* "*") (pointer_expression "*(code **)(puVar6 + 0x23b10)" (* "*") (cast_expression "(code **)(puVar6 + 0x23b10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x23b10)" (( "(") (binary_expression "puVar6 + 0x23b10" (identifier "puVar6") (+ "+") (number_literal "0x23b10")) () ")"))))) () ")")) (argument_list "(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7)" (( "(") (binary_expression "iVar3 + -6" (identifier "iVar3") (+ "+") (number_literal "-6")) (, ",") (binary_expression "*(int *)(puVar6 + 0x23898) + 0x69c8" (pointer_expression "*(int *)(puVar6 + 0x23898)" (* "*") (cast_expression "(int *)(puVar6 + 0x23898)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x23898)" (( "(") (binary_expression "puVar6 + 0x23898" (identifier "puVar6") (+ "+") (number_literal "0x23898")) () ")")))) (+ "+") (number_literal "0x69c8")) (, ",") (number_literal "7") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);\n        if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }\n        iVar1 = iVar3 + 4;\n        **(int **)(puVar6 + 0x23b24) = iVar1;\n      }" ({ "{") (expression_statement "iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);" (assignment_expression "iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3)" (parenthesized_expression "(**(code **)(puVar6 + 0x23b10))" (( "(") (pointer_expression "**(code **)(puVar6 + 0x23b10)" (* "*") (pointer_expression "*(code **)(puVar6 + 0x23b10)" (* "*") (cast_expression "(code **)(puVar6 + 0x23b10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x23b10)" (( "(") (binary_expression "puVar6 + 0x23b10" (identifier "puVar6") (+ "+") (number_literal "0x23b10")) () ")"))))) () ")")) (argument_list "(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3)" (( "(") (identifier "iVar5") (, ",") (binary_expression "*(int *)(puVar6 + 0x23898) + 0x69d0" (pointer_expression "*(int *)(puVar6 + 0x23898)" (* "*") (cast_expression "(int *)(puVar6 + 0x23898)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x23898)" (( "(") (binary_expression "puVar6 + 0x23898" (identifier "puVar6") (+ "+") (number_literal "0x23898")) () ")")))) (+ "+") (number_literal "0x69d0")) (, ",") (number_literal "3") () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          **(int **)(puVar6 + 0x23934) = iVar5;\n          piVar2 = *(int **)(puVar6 + 0x23b68);\n          *piVar2 = iVar5;\n          return piVar2;\n        }" ({ "{") (expression_statement "**(int **)(puVar6 + 0x23934) = iVar5;" (assignment_expression "**(int **)(puVar6 + 0x23934) = iVar5" (pointer_expression "**(int **)(puVar6 + 0x23934)" (* "*") (pointer_expression "*(int **)(puVar6 + 0x23934)" (* "*") (cast_expression "(int **)(puVar6 + 0x23934)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x23934)" (( "(") (binary_expression "puVar6 + 0x23934" (identifier "puVar6") (+ "+") (number_literal "0x23934")) () ")"))))) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "piVar2 = *(int **)(puVar6 + 0x23b68);" (assignment_expression "piVar2 = *(int **)(puVar6 + 0x23b68)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(puVar6 + 0x23b68)" (* "*") (cast_expression "(int **)(puVar6 + 0x23b68)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x23b68)" (( "(") (binary_expression "puVar6 + 0x23b68" (identifier "puVar6") (+ "+") (number_literal "0x23b68")) () ")"))))) (; ";")) (expression_statement "*piVar2 = iVar5;" (assignment_expression "*piVar2 = iVar5" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (identifier "iVar5")) (; ";")) (return_statement "return piVar2;" (return "return") (identifier "piVar2") (; ";")) (} "}"))) (expression_statement "iVar1 = iVar3 + 4;" (assignment_expression "iVar1 = iVar3 + 4" (identifier "iVar1") (= "=") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "**(int **)(puVar6 + 0x23b24) = iVar1;" (assignment_expression "**(int **)(puVar6 + 0x23b24) = iVar1" (pointer_expression "**(int **)(puVar6 + 0x23b24)" (* "*") (pointer_expression "*(int **)(puVar6 + 0x23b24)" (* "*") (cast_expression "(int **)(puVar6 + 0x23b24)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x23b24)" (( "(") (binary_expression "puVar6 + 0x23b24" (identifier "puVar6") (+ "+") (number_literal "0x23b24")) () ")"))))) (= "=") (identifier "iVar1")) (; ";")) (} "}"))) (} "}"))) (expression_statement "**(int **)(puVar6 + 0x23934) = iVar1;" (assignment_expression "**(int **)(puVar6 + 0x23934) = iVar1" (pointer_expression "**(int **)(puVar6 + 0x23934)" (* "*") (pointer_expression "*(int **)(puVar6 + 0x23934)" (* "*") (cast_expression "(int **)(puVar6 + 0x23934)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x23934)" (( "(") (binary_expression "puVar6 + 0x23934" (identifier "puVar6") (+ "+") (number_literal "0x23934")) () ")"))))) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "piVar2 = *(int **)(puVar6 + 0x23b68);" (assignment_expression "piVar2 = *(int **)(puVar6 + 0x23b68)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(puVar6 + 0x23b68)" (* "*") (cast_expression "(int **)(puVar6 + 0x23b68)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x23b68)" (( "(") (binary_expression "puVar6 + 0x23b68" (identifier "puVar6") (+ "+") (number_literal "0x23b68")) () ")"))))) (; ";")) (expression_statement "*piVar2 = iVar1;" (assignment_expression "*piVar2 = iVar1" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (identifier "iVar1")) (; ";")) (return_statement "return piVar2;" (return "return") (identifier "piVar2") (; ";")) (} "}"))) (expression_statement "iVar1 = 1;" (assignment_expression "iVar1 = 1" (identifier "iVar1") (= "=") (number_literal "1")) (; ";")) (expression_statement "piVar2 = (int *)(*(int *)(puVar6 + 0x23898) + 0x6990);" (assignment_expression "piVar2 = (int *)(*(int *)(puVar6 + 0x23898) + 0x6990)" (identifier "piVar2") (= "=") (cast_expression "(int *)(*(int *)(puVar6 + 0x23898) + 0x6990)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar6 + 0x23898) + 0x6990)" (( "(") (binary_expression "*(int *)(puVar6 + 0x23898) + 0x6990" (pointer_expression "*(int *)(puVar6 + 0x23898)" (* "*") (cast_expression "(int *)(puVar6 + 0x23898)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x23898)" (( "(") (binary_expression "puVar6 + 0x23898" (identifier "puVar6") (+ "+") (number_literal "0x23898")) () ")")))) (+ "+") (number_literal "0x6990")) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar6 + 0x23c24))(piVar2,1,0x37,**(undefined4 **)(puVar6 + 0x23ca4));" (call_expression "(**(code **)(puVar6 + 0x23c24))(piVar2,1,0x37,**(undefined4 **)(puVar6 + 0x23ca4))" (parenthesized_expression "(**(code **)(puVar6 + 0x23c24))" (( "(") (pointer_expression "**(code **)(puVar6 + 0x23c24)" (* "*") (pointer_expression "*(code **)(puVar6 + 0x23c24)" (* "*") (cast_expression "(code **)(puVar6 + 0x23c24)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x23c24)" (( "(") (binary_expression "puVar6 + 0x23c24" (identifier "puVar6") (+ "+") (number_literal "0x23c24")) () ")"))))) () ")")) (argument_list "(piVar2,1,0x37,**(undefined4 **)(puVar6 + 0x23ca4))" (( "(") (identifier "piVar2") (, ",") (number_literal "1") (, ",") (number_literal "0x37") (, ",") (pointer_expression "**(undefined4 **)(puVar6 + 0x23ca4)" (* "*") (pointer_expression "*(undefined4 **)(puVar6 + 0x23ca4)" (* "*") (cast_expression "(undefined4 **)(puVar6 + 0x23ca4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x23ca4)" (( "(") (binary_expression "puVar6 + 0x23ca4" (identifier "puVar6") (+ "+") (number_literal "0x23ca4")) () ")"))))) () ")"))) (; ";")) (expression_statement "pcVar7 = *(code **)(puVar6 + 0x23b08);" (assignment_expression "pcVar7 = *(code **)(puVar6 + 0x23b08)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(puVar6 + 0x23b08)" (* "*") (cast_expression "(code **)(puVar6 + 0x23b08)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x23b08)" (( "(") (binary_expression "puVar6 + 0x23b08" (identifier "puVar6") (+ "+") (number_literal "0x23b08")) () ")"))))) (; ";")) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*piVar2 = 0;" (assignment_expression "*piVar2 = 0" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[1] = 0;" (assignment_expression "piVar2[1] = 0" (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" (identifier "piVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" (identifier "piVar2") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[5] = 0;" (assignment_expression "piVar2[5] = 0" (subscript_expression "piVar2[5]" (identifier "piVar2") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[6] = 0;" (assignment_expression "piVar2[6] = 0" (subscript_expression "piVar2[6]" (identifier "piVar2") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[7] = 0;" (assignment_expression "piVar2[7] = 0" (subscript_expression "piVar2[7]" (identifier "piVar2") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[8] = 0;" (assignment_expression "piVar2[8] = 0" (subscript_expression "piVar2[8]" (identifier "piVar2") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" (identifier "piVar2") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" (identifier "piVar2") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0xb] = 0;" (assignment_expression "piVar2[0xb] = 0" (subscript_expression "piVar2[0xb]" (identifier "piVar2") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar1 != 10) {\n    *piVar2 = iVar1;\n    return piVar2;\n  }" (if "if") (parenthesized_expression "(iVar1 != 10)" (( "(") (binary_expression "iVar1 != 10" (identifier "iVar1") (!= "!=") (number_literal "10")) () ")")) (compound_statement "{\n    *piVar2 = iVar1;\n    return piVar2;\n  }" ({ "{") (expression_statement "*piVar2 = iVar1;" (assignment_expression "*piVar2 = iVar1" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (identifier "iVar1")) (; ";")) (return_statement "return piVar2;" (return "return") (identifier "piVar2") (; ";")) (} "}"))) (expression_statement "piVar2 = (int *)(**(code **)(pcVar7 + 0x239d8))();" (assignment_expression "piVar2 = (int *)(**(code **)(pcVar7 + 0x239d8))()" (identifier "piVar2") (= "=") (cast_expression "(int *)(**(code **)(pcVar7 + 0x239d8))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar7 + 0x239d8))()" (parenthesized_expression "(**(code **)(pcVar7 + 0x239d8))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0x239d8)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0x239d8)" (* "*") (cast_expression "(code **)(pcVar7 + 0x239d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0x239d8)" (( "(") (binary_expression "pcVar7 + 0x239d8" (identifier "pcVar7") (+ "+") (number_literal "0x239d8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return piVar2;" (return "return") (identifier "piVar2") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) 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: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list)))) (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: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (identifier))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (pointer_expression argument: (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))))))))) (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))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list))))) (return_statement (identifier)))))

int * MASKED(void)

{
  int iVar1;
  int *piVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  undefined *puVar6;
  code *pcVar7;
  
  puVar6 = PTR___stack_chk_guard_000495fc;
  iVar1 = *(int *)PTR___stack_chk_guard_000495fc;
  piVar2 = (int *)FUN_00023eb8();
  if (iVar1 == *(int *)puVar6) {
    return piVar2;
  }
  puVar6 = PTR___stack_chk_fail_000495d0;
  (*(code *)PTR___stack_chk_fail_000495d0)();
  if (iVar1 != 0) {
    iVar3 = (**(code **)(puVar6 + 0x23b58))();
    if ((iVar3 != 0) && (iVar5 = iVar3 + 1, 6 < iVar5 - iVar1)) {
      iVar4 = (**(code **)(puVar6 + 0x23b10))(iVar3 + -6,*(int *)(puVar6 + 0x23898) + 0x69c8,7);
      if (iVar4 == 0) {
        iVar1 = (**(code **)(puVar6 + 0x23b10))(iVar5,*(int *)(puVar6 + 0x23898) + 0x69d0,3);
        if (iVar1 != 0) {
          **(int **)(puVar6 + 0x23934) = iVar5;
          piVar2 = *(int **)(puVar6 + 0x23b68);
          *piVar2 = iVar5;
          return piVar2;
        }
        iVar1 = iVar3 + 4;
        **(int **)(puVar6 + 0x23b24) = iVar1;
      }
    }
    **(int **)(puVar6 + 0x23934) = iVar1;
    piVar2 = *(int **)(puVar6 + 0x23b68);
    *piVar2 = iVar1;
    return piVar2;
  }
  iVar1 = 1;
  piVar2 = (int *)(*(int *)(puVar6 + 0x23898) + 0x6990);
  (**(code **)(puVar6 + 0x23c24))(piVar2,1,0x37,**(undefined4 **)(puVar6 + 0x23ca4));
  pcVar7 = *(code **)(puVar6 + 0x23b08);
  (*pcVar7)();
  *piVar2 = 0;
  piVar2[1] = 0;
  piVar2[2] = 0;
  piVar2[3] = 0;
  piVar2[4] = 0;
  piVar2[5] = 0;
  piVar2[6] = 0;
  piVar2[7] = 0;
  piVar2[8] = 0;
  piVar2[9] = 0;
  piVar2[10] = 0;
  piVar2[0xb] = 0;
  if (iVar1 != 10) {
    *piVar2 = iVar1;
    return piVar2;
  }
  piVar2 = (int *)(**(code **)(pcVar7 + 0x239d8))();
  return piVar2;
}

