
time_t mktime_z(timezone_t tz,tm *tm)

{
  undefined3 extraout_var;
  undefined3 extraout_var_00;
  tm *tp;
  timezone_t tz_00;
  _Bool _Var2;
  time_t tVar1;
  _func_tm_ptr_time_t_ptr_tm_ptr *convert;
  int iVar3;
  undefined *puVar4;
  time_t t;
  tm tm_1;
  
  puVar4 = PTR___stack_chk_guard_000363a0;
  tp = *(tm **)PTR___stack_chk_guard_000363a0;
  if (tz == (timezone_t)0x0) {
    tVar1 = rpl_timegm(tm);
    goto LAB_0001fd44;
  }
  tz_00 = set_tz(tz);
  if (tz_00 != (timezone_t)0x0) {
    t = rpl_mktime(tm);
    if (t == -1) {
      iVar3 = (*(code *)PTR_localtime_r_00036380)(&t,&tm_1);
      if (iVar3 != 0) {
        if (((((tm->tm_isdst == 0) == (tm_1.tm_isdst == 0)) || (tm->tm_isdst < 0)) ||
            (tm_1.tm_isdst < 0)) &&
           (((((tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min) &&
              tm->tm_hour == tm_1.tm_hour) && tm->tm_mday == tm_1.tm_mday) &&
            tm->tm_mon == tm_1.tm_mon) && tm->tm_year == tm_1.tm_year)) goto LAB_0001fd00;
      }
    }
    else {
LAB_0001fd00:
      _Var2 = save_abbr(tz,tm);
      if (CONCAT31(extraout_var,_Var2) == 0) {
        t = -1;
      }
    }
    tVar1 = t;
    if ((tz_00 == (timezone_t)0x1) ||
       (_Var2 = revert_tz(tz_00), tVar1 = t, CONCAT31(extraout_var_00,_Var2) != 0))
    goto LAB_0001fd44;
  }
  tVar1 = -1;
LAB_0001fd44:
  if (tp != *(tm **)puVar4) {
    puVar4 = PTR___stack_chk_fail_00036384;
    (*(code *)PTR___stack_chk_fail_00036384)();
    iVar3 = *(int *)(puVar4 + 0x16308);
    convert = *(_func_tm_ptr_time_t_ptr_tm_ptr **)(puVar4 + 0x1649c);
    tp->tm_isdst = 0;
    tVar1 = mktime_internal(tp,convert,(mktime_offset_t *)(iVar3 + 0x6640));
    return tVar1;
  }
  return tVar1;
}



int mktime_z(int param_1,int *param_2)

{
  undefined *puVar1;
  int iVar2;
  int iVar3;
  int local_4c;
  int local_48;
  int local_44;
  int local_40;
  int local_3c;
  int local_38;
  int local_34;
  int local_28;
  int local_1c;
  
  puVar1 = PTR___stack_chk_guard_000363a0;
  local_1c = *(int *)PTR___stack_chk_guard_000363a0;
  if (param_1 == 0) {
    iVar3 = rpl_timegm(param_2);
    goto LAB_0001fd44;
  }
  iVar2 = FUN_0001f944();
  if (iVar2 != 0) {
    local_4c = rpl_mktime(param_2);
    if (local_4c == -1) {
      iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);
      if (iVar3 != 0) {
        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&
           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&
             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))
        goto LAB_0001fd00;
      }
    }
    else {
LAB_0001fd00:
      iVar3 = FUN_0001f700(param_1,param_2);
      if (iVar3 == 0) {
        local_4c = -1;
      }
    }
    iVar3 = local_4c;
    if ((iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0))
    goto LAB_0001fd44;
  }
  iVar3 = -1;
LAB_0001fd44:
  if (local_1c != *(int *)puVar1) {
    iVar3 = local_1c;
    (*(code *)PTR___stack_chk_fail_00036384)();
    *(undefined4 *)(iVar3 + 0x20) = 0;
    iVar3 = mktime_internal();
    return iVar3;
  }
  return iVar3;
}


lui gp,0x2
addiu gp,gp,-0x1b68
addu gp,gp,t9
addiu sp,sp,-0x68
sw s1,0x58(sp)
lw s1,-0x7d80(gp)
sw gp,0x10(sp)
sw s0,0x54(sp)
or s0,a1,zero
sw ra,0x64(sp)
sw s3,0x60(sp)
sw s2,0x5c(sp)
lw v0,0x0(s1)
sw v0,0x4c(sp)
beq a0,zero,0x0001fe14
_lw t9,-0x7fc8(gp)
addiu t9,t9,-0x6bc
bal 0x0001f944
_or s3,a0,zero
lw gp,0x10(sp)
beq v0,zero,0x0001fe28
_or s2,v0,zero
lw t9,-0x7eb0(gp)
bal 0x00020e58
_or a0,s0,zero
li v1,-0x1
lw gp,0x10(sp)
beq v0,v1,0x0001fd6c
_sw v0,0x1c(sp)
lw t9,-0x7fc8(gp)
or a1,s0,zero
addiu t9,t9,-0x900
bal 0x0001f700
_or a0,s3,zero
bne v0,zero,0x0001fd20
_lw gp,0x10(sp)
li v0,-0x1
sw v0,0x1c(sp)
li v0,0x1
beq s2,v0,0x0001fd40
_lw t9,-0x7fc8(gp)
addiu t9,t9,-0x568
bal 0x0001fa98
_or a0,s2,zero
beq v0,zero,0x0001fe28
_lw gp,0x10(sp)
lw v0,0x1c(sp)
lw a0,0x4c(sp)
lw v1,0x0(s1)
bne a0,v1,0x0001fe30
_lw ra,0x64(sp)
lw s3,0x60(sp)
lw s2,0x5c(sp)
lw s1,0x58(sp)
lw s0,0x54(sp)
jr ra
_addiu sp,sp,0x68
lw t9,-0x7da0(gp)
addiu a1,sp,0x20
jalr t9
_addiu a0,sp,0x1c
beq v0,zero,0x0001fd20
_lw gp,0x10(sp)
lw a2,0x24(sp)
lw a0,0x4(s0)
lw a1,0x20(sp)
lw v0,0x0(s0)
xor a0,a0,a2
lw v1,0x8(s0)
lw a2,0x28(sp)
xor v0,v0,a1
lw a1,0xc(s0)
or v0,v0,a0
lw a0,0x10(s0)
xor v1,v1,a2
lw a2,0x2c(sp)
or v0,v0,v1
lw v1,0x14(s0)
xor a1,a1,a2
lw a2,0x30(sp)
or v0,v0,a1
lw a1,0x20(s0)
xor a0,a0,a2
lw a2,0x40(sp)
or v0,v0,a0
lw a0,0x34(sp)
sltiu a3,a1,0x1
xor v1,v1,a0
sltiu a0,a2,0x1
beq a3,a0,0x0001fe04
_or v0,v0,v1
bltz a1,0x0001fe04
_nop
bgez a2,0x0001fd20
_nop
beq v0,zero,0x0001fd00
_lw t9,-0x7fc8(gp)
b 0x0001fd24
_li v0,0x1
lw t9,-0x7eac(gp)
bal 0x0001fe40
_or a0,a1,zero
b 0x0001fd44
_lw gp,0x10(sp)
b 0x0001fd44
_li v0,-0x1
lw t9,-0x7d9c(gp)
jalr t9
_nop
nop
(translation_unit "int mktime_z(int param_1,int *param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int local_4c;\n  int local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  int local_38;\n  int local_34;\n  int local_28;\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000363a0;\n  local_1c = *(int *)PTR___stack_chk_guard_000363a0;\n  if (param_1 == 0) {\n    iVar3 = rpl_timegm(param_2);\n    goto LAB_0001fd44;\n  }\n  iVar2 = FUN_0001f944();\n  if (iVar2 != 0) {\n    local_4c = rpl_mktime(param_2);\n    if (local_4c == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);\n      if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }\n    iVar3 = local_4c;\n    if ((iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0))\n    goto LAB_0001fd44;\n  }\n  iVar3 = -1;\nLAB_0001fd44:\n  if (local_1c != *(int *)puVar1) {\n    iVar3 = local_1c;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    *(undefined4 *)(iVar3 + 0x20) = 0;\n    iVar3 = mktime_internal();\n    return iVar3;\n  }\n  return iVar3;\n}\n\n" (function_definition "int mktime_z(int param_1,int *param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int local_4c;\n  int local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  int local_38;\n  int local_34;\n  int local_28;\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000363a0;\n  local_1c = *(int *)PTR___stack_chk_guard_000363a0;\n  if (param_1 == 0) {\n    iVar3 = rpl_timegm(param_2);\n    goto LAB_0001fd44;\n  }\n  iVar2 = FUN_0001f944();\n  if (iVar2 != 0) {\n    local_4c = rpl_mktime(param_2);\n    if (local_4c == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);\n      if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }\n    iVar3 = local_4c;\n    if ((iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0))\n    goto LAB_0001fd44;\n  }\n  iVar3 = -1;\nLAB_0001fd44:\n  if (local_1c != *(int *)puVar1) {\n    iVar3 = local_1c;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    *(undefined4 *)(iVar3 + 0x20) = 0;\n    iVar3 = mktime_internal();\n    return iVar3;\n  }\n  return iVar3;\n}" primitive_type (function_declarator "mktime_z(int param_1,int *param_2)" identifier (parameter_list "(int param_1,int *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int local_4c;\n  int local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  int local_38;\n  int local_34;\n  int local_28;\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000363a0;\n  local_1c = *(int *)PTR___stack_chk_guard_000363a0;\n  if (param_1 == 0) {\n    iVar3 = rpl_timegm(param_2);\n    goto LAB_0001fd44;\n  }\n  iVar2 = FUN_0001f944();\n  if (iVar2 != 0) {\n    local_4c = rpl_mktime(param_2);\n    if (local_4c == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);\n      if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }\n    iVar3 = local_4c;\n    if ((iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0))\n    goto LAB_0001fd44;\n  }\n  iVar3 = -1;\nLAB_0001fd44:\n  if (local_1c != *(int *)puVar1) {\n    iVar3 = local_1c;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    *(undefined4 *)(iVar3 + 0x20) = 0;\n    iVar3 = mktime_internal();\n    return iVar3;\n  }\n  return iVar3;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "int local_1c;" primitive_type identifier ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000363a0;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000363a0" identifier = identifier) ;) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_000363a0;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_000363a0" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000363a0" * (cast_expression "(int *)PTR___stack_chk_guard_000363a0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (param_1 == 0) {\n    iVar3 = rpl_timegm(param_2);\n    goto LAB_0001fd44;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar3 = rpl_timegm(param_2);\n    goto LAB_0001fd44;\n  }" { (expression_statement "iVar3 = rpl_timegm(param_2);" (assignment_expression "iVar3 = rpl_timegm(param_2)" identifier = (call_expression "rpl_timegm(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (goto_statement "goto LAB_0001fd44;" goto statement_identifier ;) })) (expression_statement "iVar2 = FUN_0001f944();" (assignment_expression "iVar2 = FUN_0001f944()" identifier = (call_expression "FUN_0001f944()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar2 != 0) {\n    local_4c = rpl_mktime(param_2);\n    if (local_4c == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);\n      if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }\n    iVar3 = local_4c;\n    if ((iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0))\n    goto LAB_0001fd44;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    local_4c = rpl_mktime(param_2);\n    if (local_4c == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);\n      if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }\n    iVar3 = local_4c;\n    if ((iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0))\n    goto LAB_0001fd44;\n  }" { (expression_statement "local_4c = rpl_mktime(param_2);" (assignment_expression "local_4c = rpl_mktime(param_2)" identifier = (call_expression "rpl_mktime(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (if_statement "if (local_4c == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);\n      if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }" if (parenthesized_expression "(local_4c == -1)" ( (binary_expression "local_4c == -1" identifier == number_literal) )) (compound_statement "{\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);\n      if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }\n    }" { (expression_statement "iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);" (assignment_expression "iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48)" identifier = (call_expression "(*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48)" (parenthesized_expression "(*(code *)PTR_localtime_r_00036380)" ( (pointer_expression "*(code *)PTR_localtime_r_00036380" * (cast_expression "(code *)PTR_localtime_r_00036380" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_4c,&local_48)" ( (pointer_expression "&local_4c" & identifier) , (pointer_expression "&local_48" & identifier) )))) ;) (if_statement "if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }" { (if_statement "if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;" if (parenthesized_expression "(((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))" ( (binary_expression "((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34)" (parenthesized_expression "((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0))" ( (binary_expression "(((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)" (parenthesized_expression "(((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0))" ( (binary_expression "((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)" (parenthesized_expression "((param_2[8] == 0) == (local_28 == 0))" ( (binary_expression "(param_2[8] == 0) == (local_28 == 0)" (parenthesized_expression "(param_2[8] == 0)" ( (binary_expression "param_2[8] == 0" (subscript_expression "param_2[8]" identifier [ number_literal ]) == number_literal) )) == (parenthesized_expression "(local_28 == 0)" ( (binary_expression "local_28 == 0" identifier == number_literal) ))) )) || (parenthesized_expression "(param_2[8] < 0)" ( (binary_expression "param_2[8] < 0" (subscript_expression "param_2[8]" identifier [ number_literal ]) < number_literal) ))) )) || (parenthesized_expression "(local_28 < 0)" ( (binary_expression "local_28 < 0" identifier < number_literal) ))) )) && (parenthesized_expression "(((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34)" ( (binary_expression "((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34" (parenthesized_expression "((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38)" ( (binary_expression "(((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38" (parenthesized_expression "(((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c)" ( (binary_expression "((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c" (parenthesized_expression "((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40)" ( (binary_expression "(*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40" (parenthesized_expression "(*param_2 == local_48 && param_2[1] == local_44)" ( (binary_expression "*param_2 == local_48 && param_2[1] == local_44" (binary_expression "*param_2 == local_48" (pointer_expression "*param_2" * identifier) == identifier) && (binary_expression "param_2[1] == local_44" (subscript_expression "param_2[1]" identifier [ number_literal ]) == identifier)) )) && (binary_expression "param_2[2] == local_40" (subscript_expression "param_2[2]" identifier [ number_literal ]) == identifier)) )) && (binary_expression "param_2[3] == local_3c" (subscript_expression "param_2[3]" identifier [ number_literal ]) == identifier)) )) && (binary_expression "param_2[4] == local_38" (subscript_expression "param_2[4]" identifier [ number_literal ]) == identifier)) )) && (binary_expression "param_2[5] == local_34" (subscript_expression "param_2[5]" identifier [ number_literal ]) == identifier)) ))) )) (goto_statement "goto LAB_0001fd00;" goto statement_identifier ;)) })) }) (else_clause "else {\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }" else (compound_statement "{\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }" { (labeled_statement "LAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);" statement_identifier : (expression_statement "iVar3 = FUN_0001f700(param_1,param_2);" (assignment_expression "iVar3 = FUN_0001f700(param_1,param_2)" identifier = (call_expression "FUN_0001f700(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;)) (if_statement "if (iVar3 == 0) {\n        local_4c = -1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        local_4c = -1;\n      }" { (expression_statement "local_4c = -1;" (assignment_expression "local_4c = -1" identifier = number_literal) ;) })) }))) (expression_statement "iVar3 = local_4c;" (assignment_expression "iVar3 = local_4c" identifier = identifier) ;) (if_statement "if ((iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0))\n    goto LAB_0001fd44;" if (parenthesized_expression "((iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0))" ( (binary_expression "(iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0)" (parenthesized_expression "(iVar2 == 1)" ( (binary_expression "iVar2 == 1" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0)" ( (comma_expression "iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0" (assignment_expression "iVar2 = FUN_0001fa98(iVar2)" identifier = (call_expression "FUN_0001fa98(iVar2)" identifier (argument_list "(iVar2)" ( identifier )))) , (comma_expression "iVar3 = local_4c, iVar2 != 0" (assignment_expression "iVar3 = local_4c" identifier = identifier) , (binary_expression "iVar2 != 0" identifier != number_literal))) ))) )) (goto_statement "goto LAB_0001fd44;" goto statement_identifier ;)) })) (expression_statement "iVar3 = -1;" (assignment_expression "iVar3 = -1" identifier = number_literal) ;) (labeled_statement "LAB_0001fd44:\n  if (local_1c != *(int *)puVar1) {\n    iVar3 = local_1c;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    *(undefined4 *)(iVar3 + 0x20) = 0;\n    iVar3 = mktime_internal();\n    return iVar3;\n  }" statement_identifier : (if_statement "if (local_1c != *(int *)puVar1) {\n    iVar3 = local_1c;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    *(undefined4 *)(iVar3 + 0x20) = 0;\n    iVar3 = mktime_internal();\n    return iVar3;\n  }" if (parenthesized_expression "(local_1c != *(int *)puVar1)" ( (binary_expression "local_1c != *(int *)puVar1" identifier != (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    iVar3 = local_1c;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    *(undefined4 *)(iVar3 + 0x20) = 0;\n    iVar3 = mktime_internal();\n    return iVar3;\n  }" { (expression_statement "iVar3 = local_1c;" (assignment_expression "iVar3 = local_1c" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00036384)();" (call_expression "(*(code *)PTR___stack_chk_fail_00036384)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00036384)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00036384" * (cast_expression "(code *)PTR___stack_chk_fail_00036384" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(iVar3 + 0x20) = 0;" (assignment_expression "*(undefined4 *)(iVar3 + 0x20) = 0" (pointer_expression "*(undefined4 *)(iVar3 + 0x20)" * (cast_expression "(undefined4 *)(iVar3 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x20)" ( (binary_expression "iVar3 + 0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar3 = mktime_internal();" (assignment_expression "iVar3 = mktime_internal()" identifier = (call_expression "mktime_internal()" identifier (argument_list "()" ( )))) ;) (return_statement "return iVar3;" return identifier ;) }))) (return_statement "return iVar3;" return identifier ;) })))
(translation_unit "time_t mktime_z(timezone_t tz,tm *tm)\n\n{\n  undefined3 extraout_var;\n  undefined3 extraout_var_00;\n  tm *tp;\n  timezone_t tz_00;\n  _Bool _Var2;\n  time_t tVar1;\n  _func_tm_ptr_time_t_ptr_tm_ptr *convert;\n  int iVar3;\n  undefined *puVar4;\n  time_t t;\n  tm tm_1;\n  \n  puVar4 = PTR___stack_chk_guard_000363a0;\n  tp = *(tm **)PTR___stack_chk_guard_000363a0;\n  if (tz == (timezone_t)0x0) {\n    tVar1 = rpl_timegm(tm);\n    goto LAB_0001fd44;\n  }\n  tz_00 = set_tz(tz);\n  if (tz_00 != (timezone_t)0x0) {\n    t = rpl_mktime(tm);\n    if (t == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&t,&tm_1);\n      if (iVar3 != 0) {\n        if (((((tm->tm_isdst == 0) == (tm_1.tm_isdst == 0)) || (tm->tm_isdst < 0)) ||\n            (tm_1.tm_isdst < 0)) &&\n           (((((tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min) &&\n              tm->tm_hour == tm_1.tm_hour) && tm->tm_mday == tm_1.tm_mday) &&\n            tm->tm_mon == tm_1.tm_mon) && tm->tm_year == tm_1.tm_year)) goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      _Var2 = save_abbr(tz,tm);\n      if (CONCAT31(extraout_var,_Var2) == 0) {\n        t = -1;\n      }\n    }\n    tVar1 = t;\n    if ((tz_00 == (timezone_t)0x1) ||\n       (_Var2 = revert_tz(tz_00), tVar1 = t, CONCAT31(extraout_var_00,_Var2) != 0))\n    goto LAB_0001fd44;\n  }\n  tVar1 = -1;\nLAB_0001fd44:\n  if (tp != *(tm **)puVar4) {\n    puVar4 = PTR___stack_chk_fail_00036384;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    iVar3 = *(int *)(puVar4 + 0x16308);\n    convert = *(_func_tm_ptr_time_t_ptr_tm_ptr **)(puVar4 + 0x1649c);\n    tp->tm_isdst = 0;\n    tVar1 = mktime_internal(tp,convert,(mktime_offset_t *)(iVar3 + 0x6640));\n    return tVar1;\n  }\n  return tVar1;\n}\n\n" (function_definition "time_t mktime_z(timezone_t tz,tm *tm)\n\n{\n  undefined3 extraout_var;\n  undefined3 extraout_var_00;\n  tm *tp;\n  timezone_t tz_00;\n  _Bool _Var2;\n  time_t tVar1;\n  _func_tm_ptr_time_t_ptr_tm_ptr *convert;\n  int iVar3;\n  undefined *puVar4;\n  time_t t;\n  tm tm_1;\n  \n  puVar4 = PTR___stack_chk_guard_000363a0;\n  tp = *(tm **)PTR___stack_chk_guard_000363a0;\n  if (tz == (timezone_t)0x0) {\n    tVar1 = rpl_timegm(tm);\n    goto LAB_0001fd44;\n  }\n  tz_00 = set_tz(tz);\n  if (tz_00 != (timezone_t)0x0) {\n    t = rpl_mktime(tm);\n    if (t == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&t,&tm_1);\n      if (iVar3 != 0) {\n        if (((((tm->tm_isdst == 0) == (tm_1.tm_isdst == 0)) || (tm->tm_isdst < 0)) ||\n            (tm_1.tm_isdst < 0)) &&\n           (((((tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min) &&\n              tm->tm_hour == tm_1.tm_hour) && tm->tm_mday == tm_1.tm_mday) &&\n            tm->tm_mon == tm_1.tm_mon) && tm->tm_year == tm_1.tm_year)) goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      _Var2 = save_abbr(tz,tm);\n      if (CONCAT31(extraout_var,_Var2) == 0) {\n        t = -1;\n      }\n    }\n    tVar1 = t;\n    if ((tz_00 == (timezone_t)0x1) ||\n       (_Var2 = revert_tz(tz_00), tVar1 = t, CONCAT31(extraout_var_00,_Var2) != 0))\n    goto LAB_0001fd44;\n  }\n  tVar1 = -1;\nLAB_0001fd44:\n  if (tp != *(tm **)puVar4) {\n    puVar4 = PTR___stack_chk_fail_00036384;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    iVar3 = *(int *)(puVar4 + 0x16308);\n    convert = *(_func_tm_ptr_time_t_ptr_tm_ptr **)(puVar4 + 0x1649c);\n    tp->tm_isdst = 0;\n    tVar1 = mktime_internal(tp,convert,(mktime_offset_t *)(iVar3 + 0x6640));\n    return tVar1;\n  }\n  return tVar1;\n}" type_identifier (function_declarator "mktime_z(timezone_t tz,tm *tm)" identifier (parameter_list "(timezone_t tz,tm *tm)" ( (parameter_declaration "timezone_t tz" type_identifier identifier) , (parameter_declaration "tm *tm" type_identifier (pointer_declarator "*tm" * identifier)) ))) (compound_statement "{\n  undefined3 extraout_var;\n  undefined3 extraout_var_00;\n  tm *tp;\n  timezone_t tz_00;\n  _Bool _Var2;\n  time_t tVar1;\n  _func_tm_ptr_time_t_ptr_tm_ptr *convert;\n  int iVar3;\n  undefined *puVar4;\n  time_t t;\n  tm tm_1;\n  \n  puVar4 = PTR___stack_chk_guard_000363a0;\n  tp = *(tm **)PTR___stack_chk_guard_000363a0;\n  if (tz == (timezone_t)0x0) {\n    tVar1 = rpl_timegm(tm);\n    goto LAB_0001fd44;\n  }\n  tz_00 = set_tz(tz);\n  if (tz_00 != (timezone_t)0x0) {\n    t = rpl_mktime(tm);\n    if (t == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&t,&tm_1);\n      if (iVar3 != 0) {\n        if (((((tm->tm_isdst == 0) == (tm_1.tm_isdst == 0)) || (tm->tm_isdst < 0)) ||\n            (tm_1.tm_isdst < 0)) &&\n           (((((tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min) &&\n              tm->tm_hour == tm_1.tm_hour) && tm->tm_mday == tm_1.tm_mday) &&\n            tm->tm_mon == tm_1.tm_mon) && tm->tm_year == tm_1.tm_year)) goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      _Var2 = save_abbr(tz,tm);\n      if (CONCAT31(extraout_var,_Var2) == 0) {\n        t = -1;\n      }\n    }\n    tVar1 = t;\n    if ((tz_00 == (timezone_t)0x1) ||\n       (_Var2 = revert_tz(tz_00), tVar1 = t, CONCAT31(extraout_var_00,_Var2) != 0))\n    goto LAB_0001fd44;\n  }\n  tVar1 = -1;\nLAB_0001fd44:\n  if (tp != *(tm **)puVar4) {\n    puVar4 = PTR___stack_chk_fail_00036384;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    iVar3 = *(int *)(puVar4 + 0x16308);\n    convert = *(_func_tm_ptr_time_t_ptr_tm_ptr **)(puVar4 + 0x1649c);\n    tp->tm_isdst = 0;\n    tVar1 = mktime_internal(tp,convert,(mktime_offset_t *)(iVar3 + 0x6640));\n    return tVar1;\n  }\n  return tVar1;\n}" { (declaration "undefined3 extraout_var;" type_identifier identifier ;) (declaration "undefined3 extraout_var_00;" type_identifier identifier ;) (declaration "tm *tp;" type_identifier (pointer_declarator "*tp" * identifier) ;) (declaration "timezone_t tz_00;" type_identifier identifier ;) (declaration "_Bool _Var2;" type_identifier identifier ;) (declaration "time_t tVar1;" type_identifier identifier ;) (declaration "_func_tm_ptr_time_t_ptr_tm_ptr *convert;" type_identifier (pointer_declarator "*convert" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "time_t t;" type_identifier identifier ;) (declaration "tm tm_1;" type_identifier identifier ;) (expression_statement "puVar4 = PTR___stack_chk_guard_000363a0;" (assignment_expression "puVar4 = PTR___stack_chk_guard_000363a0" identifier = identifier) ;) (expression_statement "tp = *(tm **)PTR___stack_chk_guard_000363a0;" (assignment_expression "tp = *(tm **)PTR___stack_chk_guard_000363a0" identifier = (pointer_expression "*(tm **)PTR___stack_chk_guard_000363a0" * (cast_expression "(tm **)PTR___stack_chk_guard_000363a0" ( (type_descriptor "tm **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (tz == (timezone_t)0x0) {\n    tVar1 = rpl_timegm(tm);\n    goto LAB_0001fd44;\n  }" if (parenthesized_expression "(tz == (timezone_t)0x0)" ( (binary_expression "tz == (timezone_t)0x0" identifier == (cast_expression "(timezone_t)0x0" ( (type_descriptor "timezone_t" type_identifier) ) number_literal)) )) (compound_statement "{\n    tVar1 = rpl_timegm(tm);\n    goto LAB_0001fd44;\n  }" { (expression_statement "tVar1 = rpl_timegm(tm);" (assignment_expression "tVar1 = rpl_timegm(tm)" identifier = (call_expression "rpl_timegm(tm)" identifier (argument_list "(tm)" ( identifier )))) ;) (goto_statement "goto LAB_0001fd44;" goto statement_identifier ;) })) (expression_statement "tz_00 = set_tz(tz);" (assignment_expression "tz_00 = set_tz(tz)" identifier = (call_expression "set_tz(tz)" identifier (argument_list "(tz)" ( identifier )))) ;) (if_statement "if (tz_00 != (timezone_t)0x0) {\n    t = rpl_mktime(tm);\n    if (t == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&t,&tm_1);\n      if (iVar3 != 0) {\n        if (((((tm->tm_isdst == 0) == (tm_1.tm_isdst == 0)) || (tm->tm_isdst < 0)) ||\n            (tm_1.tm_isdst < 0)) &&\n           (((((tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min) &&\n              tm->tm_hour == tm_1.tm_hour) && tm->tm_mday == tm_1.tm_mday) &&\n            tm->tm_mon == tm_1.tm_mon) && tm->tm_year == tm_1.tm_year)) goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      _Var2 = save_abbr(tz,tm);\n      if (CONCAT31(extraout_var,_Var2) == 0) {\n        t = -1;\n      }\n    }\n    tVar1 = t;\n    if ((tz_00 == (timezone_t)0x1) ||\n       (_Var2 = revert_tz(tz_00), tVar1 = t, CONCAT31(extraout_var_00,_Var2) != 0))\n    goto LAB_0001fd44;\n  }" if (parenthesized_expression "(tz_00 != (timezone_t)0x0)" ( (binary_expression "tz_00 != (timezone_t)0x0" identifier != (cast_expression "(timezone_t)0x0" ( (type_descriptor "timezone_t" type_identifier) ) number_literal)) )) (compound_statement "{\n    t = rpl_mktime(tm);\n    if (t == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&t,&tm_1);\n      if (iVar3 != 0) {\n        if (((((tm->tm_isdst == 0) == (tm_1.tm_isdst == 0)) || (tm->tm_isdst < 0)) ||\n            (tm_1.tm_isdst < 0)) &&\n           (((((tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min) &&\n              tm->tm_hour == tm_1.tm_hour) && tm->tm_mday == tm_1.tm_mday) &&\n            tm->tm_mon == tm_1.tm_mon) && tm->tm_year == tm_1.tm_year)) goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      _Var2 = save_abbr(tz,tm);\n      if (CONCAT31(extraout_var,_Var2) == 0) {\n        t = -1;\n      }\n    }\n    tVar1 = t;\n    if ((tz_00 == (timezone_t)0x1) ||\n       (_Var2 = revert_tz(tz_00), tVar1 = t, CONCAT31(extraout_var_00,_Var2) != 0))\n    goto LAB_0001fd44;\n  }" { (expression_statement "t = rpl_mktime(tm);" (assignment_expression "t = rpl_mktime(tm)" identifier = (call_expression "rpl_mktime(tm)" identifier (argument_list "(tm)" ( identifier )))) ;) (if_statement "if (t == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&t,&tm_1);\n      if (iVar3 != 0) {\n        if (((((tm->tm_isdst == 0) == (tm_1.tm_isdst == 0)) || (tm->tm_isdst < 0)) ||\n            (tm_1.tm_isdst < 0)) &&\n           (((((tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min) &&\n              tm->tm_hour == tm_1.tm_hour) && tm->tm_mday == tm_1.tm_mday) &&\n            tm->tm_mon == tm_1.tm_mon) && tm->tm_year == tm_1.tm_year)) goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      _Var2 = save_abbr(tz,tm);\n      if (CONCAT31(extraout_var,_Var2) == 0) {\n        t = -1;\n      }\n    }" if (parenthesized_expression "(t == -1)" ( (binary_expression "t == -1" identifier == number_literal) )) (compound_statement "{\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&t,&tm_1);\n      if (iVar3 != 0) {\n        if (((((tm->tm_isdst == 0) == (tm_1.tm_isdst == 0)) || (tm->tm_isdst < 0)) ||\n            (tm_1.tm_isdst < 0)) &&\n           (((((tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min) &&\n              tm->tm_hour == tm_1.tm_hour) && tm->tm_mday == tm_1.tm_mday) &&\n            tm->tm_mon == tm_1.tm_mon) && tm->tm_year == tm_1.tm_year)) goto LAB_0001fd00;\n      }\n    }" { (expression_statement "iVar3 = (*(code *)PTR_localtime_r_00036380)(&t,&tm_1);" (assignment_expression "iVar3 = (*(code *)PTR_localtime_r_00036380)(&t,&tm_1)" identifier = (call_expression "(*(code *)PTR_localtime_r_00036380)(&t,&tm_1)" (parenthesized_expression "(*(code *)PTR_localtime_r_00036380)" ( (pointer_expression "*(code *)PTR_localtime_r_00036380" * (cast_expression "(code *)PTR_localtime_r_00036380" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&t,&tm_1)" ( (pointer_expression "&t" & identifier) , (pointer_expression "&tm_1" & identifier) )))) ;) (if_statement "if (iVar3 != 0) {\n        if (((((tm->tm_isdst == 0) == (tm_1.tm_isdst == 0)) || (tm->tm_isdst < 0)) ||\n            (tm_1.tm_isdst < 0)) &&\n           (((((tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min) &&\n              tm->tm_hour == tm_1.tm_hour) && tm->tm_mday == tm_1.tm_mday) &&\n            tm->tm_mon == tm_1.tm_mon) && tm->tm_year == tm_1.tm_year)) goto LAB_0001fd00;\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        if (((((tm->tm_isdst == 0) == (tm_1.tm_isdst == 0)) || (tm->tm_isdst < 0)) ||\n            (tm_1.tm_isdst < 0)) &&\n           (((((tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min) &&\n              tm->tm_hour == tm_1.tm_hour) && tm->tm_mday == tm_1.tm_mday) &&\n            tm->tm_mon == tm_1.tm_mon) && tm->tm_year == tm_1.tm_year)) goto LAB_0001fd00;\n      }" { (if_statement "if (((((tm->tm_isdst == 0) == (tm_1.tm_isdst == 0)) || (tm->tm_isdst < 0)) ||\n            (tm_1.tm_isdst < 0)) &&\n           (((((tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min) &&\n              tm->tm_hour == tm_1.tm_hour) && tm->tm_mday == tm_1.tm_mday) &&\n            tm->tm_mon == tm_1.tm_mon) && tm->tm_year == tm_1.tm_year)) goto LAB_0001fd00;" if (parenthesized_expression "(((((tm->tm_isdst == 0) == (tm_1.tm_isdst == 0)) || (tm->tm_isdst < 0)) ||\n            (tm_1.tm_isdst < 0)) &&\n           (((((tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min) &&\n              tm->tm_hour == tm_1.tm_hour) && tm->tm_mday == tm_1.tm_mday) &&\n            tm->tm_mon == tm_1.tm_mon) && tm->tm_year == tm_1.tm_year))" ( (binary_expression "((((tm->tm_isdst == 0) == (tm_1.tm_isdst == 0)) || (tm->tm_isdst < 0)) ||\n            (tm_1.tm_isdst < 0)) &&\n           (((((tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min) &&\n              tm->tm_hour == tm_1.tm_hour) && tm->tm_mday == tm_1.tm_mday) &&\n            tm->tm_mon == tm_1.tm_mon) && tm->tm_year == tm_1.tm_year)" (parenthesized_expression "((((tm->tm_isdst == 0) == (tm_1.tm_isdst == 0)) || (tm->tm_isdst < 0)) ||\n            (tm_1.tm_isdst < 0))" ( (binary_expression "(((tm->tm_isdst == 0) == (tm_1.tm_isdst == 0)) || (tm->tm_isdst < 0)) ||\n            (tm_1.tm_isdst < 0)" (parenthesized_expression "(((tm->tm_isdst == 0) == (tm_1.tm_isdst == 0)) || (tm->tm_isdst < 0))" ( (binary_expression "((tm->tm_isdst == 0) == (tm_1.tm_isdst == 0)) || (tm->tm_isdst < 0)" (parenthesized_expression "((tm->tm_isdst == 0) == (tm_1.tm_isdst == 0))" ( (binary_expression "(tm->tm_isdst == 0) == (tm_1.tm_isdst == 0)" (parenthesized_expression "(tm->tm_isdst == 0)" ( (binary_expression "tm->tm_isdst == 0" (field_expression "tm->tm_isdst" identifier -> field_identifier) == number_literal) )) == (parenthesized_expression "(tm_1.tm_isdst == 0)" ( (binary_expression "tm_1.tm_isdst == 0" (field_expression "tm_1.tm_isdst" identifier . field_identifier) == number_literal) ))) )) || (parenthesized_expression "(tm->tm_isdst < 0)" ( (binary_expression "tm->tm_isdst < 0" (field_expression "tm->tm_isdst" identifier -> field_identifier) < number_literal) ))) )) || (parenthesized_expression "(tm_1.tm_isdst < 0)" ( (binary_expression "tm_1.tm_isdst < 0" (field_expression "tm_1.tm_isdst" identifier . field_identifier) < number_literal) ))) )) && (parenthesized_expression "(((((tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min) &&\n              tm->tm_hour == tm_1.tm_hour) && tm->tm_mday == tm_1.tm_mday) &&\n            tm->tm_mon == tm_1.tm_mon) && tm->tm_year == tm_1.tm_year)" ( (binary_expression "((((tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min) &&\n              tm->tm_hour == tm_1.tm_hour) && tm->tm_mday == tm_1.tm_mday) &&\n            tm->tm_mon == tm_1.tm_mon) && tm->tm_year == tm_1.tm_year" (parenthesized_expression "((((tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min) &&\n              tm->tm_hour == tm_1.tm_hour) && tm->tm_mday == tm_1.tm_mday) &&\n            tm->tm_mon == tm_1.tm_mon)" ( (binary_expression "(((tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min) &&\n              tm->tm_hour == tm_1.tm_hour) && tm->tm_mday == tm_1.tm_mday) &&\n            tm->tm_mon == tm_1.tm_mon" (parenthesized_expression "(((tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min) &&\n              tm->tm_hour == tm_1.tm_hour) && tm->tm_mday == tm_1.tm_mday)" ( (binary_expression "((tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min) &&\n              tm->tm_hour == tm_1.tm_hour) && tm->tm_mday == tm_1.tm_mday" (parenthesized_expression "((tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min) &&\n              tm->tm_hour == tm_1.tm_hour)" ( (binary_expression "(tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min) &&\n              tm->tm_hour == tm_1.tm_hour" (parenthesized_expression "(tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min)" ( (binary_expression "tm->tm_sec == tm_1.tm_sec && tm->tm_min == tm_1.tm_min" (binary_expression "tm->tm_sec == tm_1.tm_sec" (field_expression "tm->tm_sec" identifier -> field_identifier) == (field_expression "tm_1.tm_sec" identifier . field_identifier)) && (binary_expression "tm->tm_min == tm_1.tm_min" (field_expression "tm->tm_min" identifier -> field_identifier) == (field_expression "tm_1.tm_min" identifier . field_identifier))) )) && (binary_expression "tm->tm_hour == tm_1.tm_hour" (field_expression "tm->tm_hour" identifier -> field_identifier) == (field_expression "tm_1.tm_hour" identifier . field_identifier))) )) && (binary_expression "tm->tm_mday == tm_1.tm_mday" (field_expression "tm->tm_mday" identifier -> field_identifier) == (field_expression "tm_1.tm_mday" identifier . field_identifier))) )) && (binary_expression "tm->tm_mon == tm_1.tm_mon" (field_expression "tm->tm_mon" identifier -> field_identifier) == (field_expression "tm_1.tm_mon" identifier . field_identifier))) )) && (binary_expression "tm->tm_year == tm_1.tm_year" (field_expression "tm->tm_year" identifier -> field_identifier) == (field_expression "tm_1.tm_year" identifier . field_identifier))) ))) )) (goto_statement "goto LAB_0001fd00;" goto statement_identifier ;)) })) }) (else_clause "else {\nLAB_0001fd00:\n      _Var2 = save_abbr(tz,tm);\n      if (CONCAT31(extraout_var,_Var2) == 0) {\n        t = -1;\n      }\n    }" else (compound_statement "{\nLAB_0001fd00:\n      _Var2 = save_abbr(tz,tm);\n      if (CONCAT31(extraout_var,_Var2) == 0) {\n        t = -1;\n      }\n    }" { (labeled_statement "LAB_0001fd00:\n      _Var2 = save_abbr(tz,tm);" statement_identifier : (expression_statement "_Var2 = save_abbr(tz,tm);" (assignment_expression "_Var2 = save_abbr(tz,tm)" identifier = (call_expression "save_abbr(tz,tm)" identifier (argument_list "(tz,tm)" ( identifier , identifier )))) ;)) (if_statement "if (CONCAT31(extraout_var,_Var2) == 0) {\n        t = -1;\n      }" if (parenthesized_expression "(CONCAT31(extraout_var,_Var2) == 0)" ( (binary_expression "CONCAT31(extraout_var,_Var2) == 0" (call_expression "CONCAT31(extraout_var,_Var2)" identifier (argument_list "(extraout_var,_Var2)" ( identifier , identifier ))) == number_literal) )) (compound_statement "{\n        t = -1;\n      }" { (expression_statement "t = -1;" (assignment_expression "t = -1" identifier = number_literal) ;) })) }))) (expression_statement "tVar1 = t;" (assignment_expression "tVar1 = t" identifier = identifier) ;) (if_statement "if ((tz_00 == (timezone_t)0x1) ||\n       (_Var2 = revert_tz(tz_00), tVar1 = t, CONCAT31(extraout_var_00,_Var2) != 0))\n    goto LAB_0001fd44;" if (parenthesized_expression "((tz_00 == (timezone_t)0x1) ||\n       (_Var2 = revert_tz(tz_00), tVar1 = t, CONCAT31(extraout_var_00,_Var2) != 0))" ( (binary_expression "(tz_00 == (timezone_t)0x1) ||\n       (_Var2 = revert_tz(tz_00), tVar1 = t, CONCAT31(extraout_var_00,_Var2) != 0)" (parenthesized_expression "(tz_00 == (timezone_t)0x1)" ( (binary_expression "tz_00 == (timezone_t)0x1" identifier == (cast_expression "(timezone_t)0x1" ( (type_descriptor "timezone_t" type_identifier) ) number_literal)) )) || (parenthesized_expression "(_Var2 = revert_tz(tz_00), tVar1 = t, CONCAT31(extraout_var_00,_Var2) != 0)" ( (comma_expression "_Var2 = revert_tz(tz_00), tVar1 = t, CONCAT31(extraout_var_00,_Var2) != 0" (assignment_expression "_Var2 = revert_tz(tz_00)" identifier = (call_expression "revert_tz(tz_00)" identifier (argument_list "(tz_00)" ( identifier )))) , (comma_expression "tVar1 = t, CONCAT31(extraout_var_00,_Var2) != 0" (assignment_expression "tVar1 = t" identifier = identifier) , (binary_expression "CONCAT31(extraout_var_00,_Var2) != 0" (call_expression "CONCAT31(extraout_var_00,_Var2)" identifier (argument_list "(extraout_var_00,_Var2)" ( identifier , identifier ))) != number_literal))) ))) )) (goto_statement "goto LAB_0001fd44;" goto statement_identifier ;)) })) (expression_statement "tVar1 = -1;" (assignment_expression "tVar1 = -1" identifier = number_literal) ;) (labeled_statement "LAB_0001fd44:\n  if (tp != *(tm **)puVar4) {\n    puVar4 = PTR___stack_chk_fail_00036384;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    iVar3 = *(int *)(puVar4 + 0x16308);\n    convert = *(_func_tm_ptr_time_t_ptr_tm_ptr **)(puVar4 + 0x1649c);\n    tp->tm_isdst = 0;\n    tVar1 = mktime_internal(tp,convert,(mktime_offset_t *)(iVar3 + 0x6640));\n    return tVar1;\n  }" statement_identifier : (if_statement "if (tp != *(tm **)puVar4) {\n    puVar4 = PTR___stack_chk_fail_00036384;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    iVar3 = *(int *)(puVar4 + 0x16308);\n    convert = *(_func_tm_ptr_time_t_ptr_tm_ptr **)(puVar4 + 0x1649c);\n    tp->tm_isdst = 0;\n    tVar1 = mktime_internal(tp,convert,(mktime_offset_t *)(iVar3 + 0x6640));\n    return tVar1;\n  }" if (parenthesized_expression "(tp != *(tm **)puVar4)" ( (binary_expression "tp != *(tm **)puVar4" identifier != (pointer_expression "*(tm **)puVar4" * (cast_expression "(tm **)puVar4" ( (type_descriptor "tm **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    puVar4 = PTR___stack_chk_fail_00036384;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    iVar3 = *(int *)(puVar4 + 0x16308);\n    convert = *(_func_tm_ptr_time_t_ptr_tm_ptr **)(puVar4 + 0x1649c);\n    tp->tm_isdst = 0;\n    tVar1 = mktime_internal(tp,convert,(mktime_offset_t *)(iVar3 + 0x6640));\n    return tVar1;\n  }" { (expression_statement "puVar4 = PTR___stack_chk_fail_00036384;" (assignment_expression "puVar4 = PTR___stack_chk_fail_00036384" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00036384)();" (call_expression "(*(code *)PTR___stack_chk_fail_00036384)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00036384)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00036384" * (cast_expression "(code *)PTR___stack_chk_fail_00036384" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar3 = *(int *)(puVar4 + 0x16308);" (assignment_expression "iVar3 = *(int *)(puVar4 + 0x16308)" identifier = (pointer_expression "*(int *)(puVar4 + 0x16308)" * (cast_expression "(int *)(puVar4 + 0x16308)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x16308)" ( (binary_expression "puVar4 + 0x16308" identifier + number_literal) ))))) ;) (expression_statement "convert = *(_func_tm_ptr_time_t_ptr_tm_ptr **)(puVar4 + 0x1649c);" (assignment_expression "convert = *(_func_tm_ptr_time_t_ptr_tm_ptr **)(puVar4 + 0x1649c)" identifier = (pointer_expression "*(_func_tm_ptr_time_t_ptr_tm_ptr **)(puVar4 + 0x1649c)" * (cast_expression "(_func_tm_ptr_time_t_ptr_tm_ptr **)(puVar4 + 0x1649c)" ( (type_descriptor "_func_tm_ptr_time_t_ptr_tm_ptr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar4 + 0x1649c)" ( (binary_expression "puVar4 + 0x1649c" identifier + number_literal) ))))) ;) (expression_statement "tp->tm_isdst = 0;" (assignment_expression "tp->tm_isdst = 0" (field_expression "tp->tm_isdst" identifier -> field_identifier) = number_literal) ;) (expression_statement "tVar1 = mktime_internal(tp,convert,(mktime_offset_t *)(iVar3 + 0x6640));" (assignment_expression "tVar1 = mktime_internal(tp,convert,(mktime_offset_t *)(iVar3 + 0x6640))" identifier = (call_expression "mktime_internal(tp,convert,(mktime_offset_t *)(iVar3 + 0x6640))" identifier (argument_list "(tp,convert,(mktime_offset_t *)(iVar3 + 0x6640))" ( identifier , identifier , (cast_expression "(mktime_offset_t *)(iVar3 + 0x6640)" ( (type_descriptor "mktime_offset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x6640)" ( (binary_expression "iVar3 + 0x6640" identifier + number_literal) ))) )))) ;) (return_statement "return tVar1;" return identifier ;) }))) (return_statement "return tVar1;" return identifier ;) })))
(translation_unit "int mktime_z(int param_1,int *param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int local_4c;\n  int local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  int local_38;\n  int local_34;\n  int local_28;\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000363a0;\n  local_1c = *(int *)PTR___stack_chk_guard_000363a0;\n  if (param_1 == 0) {\n    iVar3 = rpl_timegm(param_2);\n    goto LAB_0001fd44;\n  }\n  iVar2 = FUN_0001f944();\n  if (iVar2 != 0) {\n    local_4c = rpl_mktime(param_2);\n    if (local_4c == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);\n      if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }\n    iVar3 = local_4c;\n    if ((iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0))\n    goto LAB_0001fd44;\n  }\n  iVar3 = -1;\nLAB_0001fd44:\n  if (local_1c != *(int *)puVar1) {\n    iVar3 = local_1c;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    *(undefined4 *)(iVar3 + 0x20) = 0;\n    iVar3 = mktime_internal();\n    return iVar3;\n  }\n  return iVar3;\n}\n\n" (function_definition "int mktime_z(int param_1,int *param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int local_4c;\n  int local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  int local_38;\n  int local_34;\n  int local_28;\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000363a0;\n  local_1c = *(int *)PTR___stack_chk_guard_000363a0;\n  if (param_1 == 0) {\n    iVar3 = rpl_timegm(param_2);\n    goto LAB_0001fd44;\n  }\n  iVar2 = FUN_0001f944();\n  if (iVar2 != 0) {\n    local_4c = rpl_mktime(param_2);\n    if (local_4c == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);\n      if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }\n    iVar3 = local_4c;\n    if ((iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0))\n    goto LAB_0001fd44;\n  }\n  iVar3 = -1;\nLAB_0001fd44:\n  if (local_1c != *(int *)puVar1) {\n    iVar3 = local_1c;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    *(undefined4 *)(iVar3 + 0x20) = 0;\n    iVar3 = mktime_internal();\n    return iVar3;\n  }\n  return iVar3;\n}" primitive_type (function_declarator "mktime_z(int param_1,int *param_2)" identifier (parameter_list "(int param_1,int *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int local_4c;\n  int local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  int local_38;\n  int local_34;\n  int local_28;\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000363a0;\n  local_1c = *(int *)PTR___stack_chk_guard_000363a0;\n  if (param_1 == 0) {\n    iVar3 = rpl_timegm(param_2);\n    goto LAB_0001fd44;\n  }\n  iVar2 = FUN_0001f944();\n  if (iVar2 != 0) {\n    local_4c = rpl_mktime(param_2);\n    if (local_4c == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);\n      if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }\n    iVar3 = local_4c;\n    if ((iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0))\n    goto LAB_0001fd44;\n  }\n  iVar3 = -1;\nLAB_0001fd44:\n  if (local_1c != *(int *)puVar1) {\n    iVar3 = local_1c;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    *(undefined4 *)(iVar3 + 0x20) = 0;\n    iVar3 = mktime_internal();\n    return iVar3;\n  }\n  return iVar3;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "int local_1c;" primitive_type identifier ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000363a0;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000363a0" identifier = identifier) ;) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_000363a0;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_000363a0" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000363a0" * (cast_expression "(int *)PTR___stack_chk_guard_000363a0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (param_1 == 0) {\n    iVar3 = rpl_timegm(param_2);\n    goto LAB_0001fd44;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar3 = rpl_timegm(param_2);\n    goto LAB_0001fd44;\n  }" { (expression_statement "iVar3 = rpl_timegm(param_2);" (assignment_expression "iVar3 = rpl_timegm(param_2)" identifier = (call_expression "rpl_timegm(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (goto_statement "goto LAB_0001fd44;" goto statement_identifier ;) })) (expression_statement "iVar2 = FUN_0001f944();" (assignment_expression "iVar2 = FUN_0001f944()" identifier = (call_expression "FUN_0001f944()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar2 != 0) {\n    local_4c = rpl_mktime(param_2);\n    if (local_4c == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);\n      if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }\n    iVar3 = local_4c;\n    if ((iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0))\n    goto LAB_0001fd44;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    local_4c = rpl_mktime(param_2);\n    if (local_4c == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);\n      if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }\n    iVar3 = local_4c;\n    if ((iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0))\n    goto LAB_0001fd44;\n  }" { (expression_statement "local_4c = rpl_mktime(param_2);" (assignment_expression "local_4c = rpl_mktime(param_2)" identifier = (call_expression "rpl_mktime(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (if_statement "if (local_4c == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);\n      if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }" if (parenthesized_expression "(local_4c == -1)" ( (binary_expression "local_4c == -1" identifier == number_literal) )) (compound_statement "{\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);\n      if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }\n    }" { (expression_statement "iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);" (assignment_expression "iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48)" identifier = (call_expression "(*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48)" (parenthesized_expression "(*(code *)PTR_localtime_r_00036380)" ( (pointer_expression "*(code *)PTR_localtime_r_00036380" * (cast_expression "(code *)PTR_localtime_r_00036380" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_4c,&local_48)" ( (pointer_expression "&local_4c" & identifier) , (pointer_expression "&local_48" & identifier) )))) ;) (if_statement "if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }" { (if_statement "if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;" if (parenthesized_expression "(((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))" ( (binary_expression "((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34)" (parenthesized_expression "((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0))" ( (binary_expression "(((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)" (parenthesized_expression "(((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0))" ( (binary_expression "((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)" (parenthesized_expression "((param_2[8] == 0) == (local_28 == 0))" ( (binary_expression "(param_2[8] == 0) == (local_28 == 0)" (parenthesized_expression "(param_2[8] == 0)" ( (binary_expression "param_2[8] == 0" (subscript_expression "param_2[8]" identifier [ number_literal ]) == number_literal) )) == (parenthesized_expression "(local_28 == 0)" ( (binary_expression "local_28 == 0" identifier == number_literal) ))) )) || (parenthesized_expression "(param_2[8] < 0)" ( (binary_expression "param_2[8] < 0" (subscript_expression "param_2[8]" identifier [ number_literal ]) < number_literal) ))) )) || (parenthesized_expression "(local_28 < 0)" ( (binary_expression "local_28 < 0" identifier < number_literal) ))) )) && (parenthesized_expression "(((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34)" ( (binary_expression "((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34" (parenthesized_expression "((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38)" ( (binary_expression "(((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38" (parenthesized_expression "(((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c)" ( (binary_expression "((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c" (parenthesized_expression "((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40)" ( (binary_expression "(*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40" (parenthesized_expression "(*param_2 == local_48 && param_2[1] == local_44)" ( (binary_expression "*param_2 == local_48 && param_2[1] == local_44" (binary_expression "*param_2 == local_48" (pointer_expression "*param_2" * identifier) == identifier) && (binary_expression "param_2[1] == local_44" (subscript_expression "param_2[1]" identifier [ number_literal ]) == identifier)) )) && (binary_expression "param_2[2] == local_40" (subscript_expression "param_2[2]" identifier [ number_literal ]) == identifier)) )) && (binary_expression "param_2[3] == local_3c" (subscript_expression "param_2[3]" identifier [ number_literal ]) == identifier)) )) && (binary_expression "param_2[4] == local_38" (subscript_expression "param_2[4]" identifier [ number_literal ]) == identifier)) )) && (binary_expression "param_2[5] == local_34" (subscript_expression "param_2[5]" identifier [ number_literal ]) == identifier)) ))) )) (goto_statement "goto LAB_0001fd00;" goto statement_identifier ;)) })) }) (else_clause "else {\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }" else (compound_statement "{\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }" { (labeled_statement "LAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);" statement_identifier : (expression_statement "iVar3 = FUN_0001f700(param_1,param_2);" (assignment_expression "iVar3 = FUN_0001f700(param_1,param_2)" identifier = (call_expression "FUN_0001f700(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;)) (if_statement "if (iVar3 == 0) {\n        local_4c = -1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        local_4c = -1;\n      }" { (expression_statement "local_4c = -1;" (assignment_expression "local_4c = -1" identifier = number_literal) ;) })) }))) (expression_statement "iVar3 = local_4c;" (assignment_expression "iVar3 = local_4c" identifier = identifier) ;) (if_statement "if ((iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0))\n    goto LAB_0001fd44;" if (parenthesized_expression "((iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0))" ( (binary_expression "(iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0)" (parenthesized_expression "(iVar2 == 1)" ( (binary_expression "iVar2 == 1" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0)" ( (comma_expression "iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0" (assignment_expression "iVar2 = FUN_0001fa98(iVar2)" identifier = (call_expression "FUN_0001fa98(iVar2)" identifier (argument_list "(iVar2)" ( identifier )))) , (comma_expression "iVar3 = local_4c, iVar2 != 0" (assignment_expression "iVar3 = local_4c" identifier = identifier) , (binary_expression "iVar2 != 0" identifier != number_literal))) ))) )) (goto_statement "goto LAB_0001fd44;" goto statement_identifier ;)) })) (expression_statement "iVar3 = -1;" (assignment_expression "iVar3 = -1" identifier = number_literal) ;) (labeled_statement "LAB_0001fd44:\n  if (local_1c != *(int *)puVar1) {\n    iVar3 = local_1c;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    *(undefined4 *)(iVar3 + 0x20) = 0;\n    iVar3 = mktime_internal();\n    return iVar3;\n  }" statement_identifier : (if_statement "if (local_1c != *(int *)puVar1) {\n    iVar3 = local_1c;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    *(undefined4 *)(iVar3 + 0x20) = 0;\n    iVar3 = mktime_internal();\n    return iVar3;\n  }" if (parenthesized_expression "(local_1c != *(int *)puVar1)" ( (binary_expression "local_1c != *(int *)puVar1" identifier != (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    iVar3 = local_1c;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    *(undefined4 *)(iVar3 + 0x20) = 0;\n    iVar3 = mktime_internal();\n    return iVar3;\n  }" { (expression_statement "iVar3 = local_1c;" (assignment_expression "iVar3 = local_1c" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00036384)();" (call_expression "(*(code *)PTR___stack_chk_fail_00036384)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00036384)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00036384" * (cast_expression "(code *)PTR___stack_chk_fail_00036384" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(iVar3 + 0x20) = 0;" (assignment_expression "*(undefined4 *)(iVar3 + 0x20) = 0" (pointer_expression "*(undefined4 *)(iVar3 + 0x20)" * (cast_expression "(undefined4 *)(iVar3 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x20)" ( (binary_expression "iVar3 + 0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar3 = mktime_internal();" (assignment_expression "iVar3 = mktime_internal()" identifier = (call_expression "mktime_internal()" identifier (argument_list "()" ( )))) ;) (return_statement "return iVar3;" return identifier ;) }))) (return_statement "return iVar3;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) == (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) < LIT) ))) )) || (parenthesized_expression ( (binary_expression IDENT < LIT) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) == IDENT) && (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT)) )) && (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT)) )) && (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT)) )) && (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT)) )) && (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT)) ))) )) (goto_statement goto statement_identifier ;)) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT))) ))) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (return_statement return IDENT ;) }))) (return_statement return IDENT ;) })))
(function_definition "int mktime_z(int param_1,int *param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int local_4c;\n  int local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  int local_38;\n  int local_34;\n  int local_28;\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000363a0;\n  local_1c = *(int *)PTR___stack_chk_guard_000363a0;\n  if (param_1 == 0) {\n    iVar3 = rpl_timegm(param_2);\n    goto LAB_0001fd44;\n  }\n  iVar2 = FUN_0001f944();\n  if (iVar2 != 0) {\n    local_4c = rpl_mktime(param_2);\n    if (local_4c == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);\n      if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }\n    iVar3 = local_4c;\n    if ((iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0))\n    goto LAB_0001fd44;\n  }\n  iVar3 = -1;\nLAB_0001fd44:\n  if (local_1c != *(int *)puVar1) {\n    iVar3 = local_1c;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    *(undefined4 *)(iVar3 + 0x20) = 0;\n    iVar3 = mktime_internal();\n    return iVar3;\n  }\n  return iVar3;\n}" (primitive_type "int") (function_declarator "mktime_z(int param_1,int *param_2)" (identifier "mktime_z") (parameter_list "(int param_1,int *param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int local_4c;\n  int local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  int local_38;\n  int local_34;\n  int local_28;\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000363a0;\n  local_1c = *(int *)PTR___stack_chk_guard_000363a0;\n  if (param_1 == 0) {\n    iVar3 = rpl_timegm(param_2);\n    goto LAB_0001fd44;\n  }\n  iVar2 = FUN_0001f944();\n  if (iVar2 != 0) {\n    local_4c = rpl_mktime(param_2);\n    if (local_4c == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);\n      if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }\n    iVar3 = local_4c;\n    if ((iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0))\n    goto LAB_0001fd44;\n  }\n  iVar3 = -1;\nLAB_0001fd44:\n  if (local_1c != *(int *)puVar1) {\n    iVar3 = local_1c;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    *(undefined4 *)(iVar3 + 0x20) = 0;\n    iVar3 = mktime_internal();\n    return iVar3;\n  }\n  return iVar3;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int local_4c;" (primitive_type "int") (identifier "local_4c") (; ";")) (declaration "int local_48;" (primitive_type "int") (identifier "local_48") (; ";")) (declaration "int local_44;" (primitive_type "int") (identifier "local_44") (; ";")) (declaration "int local_40;" (primitive_type "int") (identifier "local_40") (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (declaration "int local_38;" (primitive_type "int") (identifier "local_38") (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (declaration "int local_28;" (primitive_type "int") (identifier "local_28") (; ";")) (declaration "int local_1c;" (primitive_type "int") (identifier "local_1c") (; ";")) (expression_statement "puVar1 = PTR___stack_chk_guard_000363a0;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000363a0" (identifier "puVar1") (= "=") (identifier "PTR___stack_chk_guard_000363a0")) (; ";")) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_000363a0;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_000363a0" (identifier "local_1c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_000363a0" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000363a0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000363a0")))) (; ";")) (if_statement "if (param_1 == 0) {\n    iVar3 = rpl_timegm(param_2);\n    goto LAB_0001fd44;\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar3 = rpl_timegm(param_2);\n    goto LAB_0001fd44;\n  }" ({ "{") (expression_statement "iVar3 = rpl_timegm(param_2);" (assignment_expression "iVar3 = rpl_timegm(param_2)" (identifier "iVar3") (= "=") (call_expression "rpl_timegm(param_2)" (identifier "rpl_timegm") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (goto_statement "goto LAB_0001fd44;" (goto "goto") (statement_identifier "LAB_0001fd44") (; ";")) (} "}"))) (expression_statement "iVar2 = FUN_0001f944();" (assignment_expression "iVar2 = FUN_0001f944()" (identifier "iVar2") (= "=") (call_expression "FUN_0001f944()" (identifier "FUN_0001f944") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n    local_4c = rpl_mktime(param_2);\n    if (local_4c == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);\n      if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }\n    iVar3 = local_4c;\n    if ((iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0))\n    goto LAB_0001fd44;\n  }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_4c = rpl_mktime(param_2);\n    if (local_4c == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);\n      if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }\n    iVar3 = local_4c;\n    if ((iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0))\n    goto LAB_0001fd44;\n  }" ({ "{") (expression_statement "local_4c = rpl_mktime(param_2);" (assignment_expression "local_4c = rpl_mktime(param_2)" (identifier "local_4c") (= "=") (call_expression "rpl_mktime(param_2)" (identifier "rpl_mktime") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (local_4c == -1) {\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);\n      if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }\n    }\n    else {\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }" (if "if") (parenthesized_expression "(local_4c == -1)" (( "(") (binary_expression "local_4c == -1" (identifier "local_4c") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n      iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);\n      if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }\n    }" ({ "{") (expression_statement "iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);" (assignment_expression "iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48)" (parenthesized_expression "(*(code *)PTR_localtime_r_00036380)" (( "(") (pointer_expression "*(code *)PTR_localtime_r_00036380" (* "*") (cast_expression "(code *)PTR_localtime_r_00036380" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_localtime_r_00036380"))) () ")")) (argument_list "(&local_4c,&local_48)" (( "(") (pointer_expression "&local_4c" (& "&") (identifier "local_4c")) (, ",") (pointer_expression "&local_48" (& "&") (identifier "local_48")) () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;\n      }" ({ "{") (if_statement "if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))\n        goto LAB_0001fd00;" (if "if") (parenthesized_expression "(((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))" (( "(") (binary_expression "((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&\n           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34)" (parenthesized_expression "((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0))" (( "(") (binary_expression "(((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)" (parenthesized_expression "(((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0))" (( "(") (binary_expression "((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)" (parenthesized_expression "((param_2[8] == 0) == (local_28 == 0))" (( "(") (binary_expression "(param_2[8] == 0) == (local_28 == 0)" (parenthesized_expression "(param_2[8] == 0)" (( "(") (binary_expression "param_2[8] == 0" (subscript_expression "param_2[8]" (identifier "param_2") ([ "[") (number_literal "8") (] "]")) (== "==") (number_literal "0")) () ")")) (== "==") (parenthesized_expression "(local_28 == 0)" (( "(") (binary_expression "local_28 == 0" (identifier "local_28") (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(param_2[8] < 0)" (( "(") (binary_expression "param_2[8] < 0" (subscript_expression "param_2[8]" (identifier "param_2") ([ "[") (number_literal "8") (] "]")) (< "<") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(local_28 < 0)" (( "(") (binary_expression "local_28 < 0" (identifier "local_28") (< "<") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34)" (( "(") (binary_expression "((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34" (parenthesized_expression "((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38)" (( "(") (binary_expression "(((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c) && param_2[4] == local_38" (parenthesized_expression "(((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c)" (( "(") (binary_expression "((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&\n             param_2[3] == local_3c" (parenthesized_expression "((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40)" (( "(") (binary_expression "(*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40" (parenthesized_expression "(*param_2 == local_48 && param_2[1] == local_44)" (( "(") (binary_expression "*param_2 == local_48 && param_2[1] == local_44" (binary_expression "*param_2 == local_48" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (== "==") (identifier "local_48")) (&& "&&") (binary_expression "param_2[1] == local_44" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (== "==") (identifier "local_44"))) () ")")) (&& "&&") (binary_expression "param_2[2] == local_40" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (== "==") (identifier "local_40"))) () ")")) (&& "&&") (binary_expression "param_2[3] == local_3c" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (== "==") (identifier "local_3c"))) () ")")) (&& "&&") (binary_expression "param_2[4] == local_38" (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")) (== "==") (identifier "local_38"))) () ")")) (&& "&&") (binary_expression "param_2[5] == local_34" (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")) (== "==") (identifier "local_34"))) () ")"))) () ")")) (goto_statement "goto LAB_0001fd00;" (goto "goto") (statement_identifier "LAB_0001fd00") (; ";"))) (} "}"))) (} "}")) (else_clause "else {\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }" (else "else") (compound_statement "{\nLAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);\n      if (iVar3 == 0) {\n        local_4c = -1;\n      }\n    }" ({ "{") (labeled_statement "LAB_0001fd00:\n      iVar3 = FUN_0001f700(param_1,param_2);" (statement_identifier "LAB_0001fd00") (: ":") (expression_statement "iVar3 = FUN_0001f700(param_1,param_2);" (assignment_expression "iVar3 = FUN_0001f700(param_1,param_2)" (identifier "iVar3") (= "=") (call_expression "FUN_0001f700(param_1,param_2)" (identifier "FUN_0001f700") (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")")))) (; ";"))) (if_statement "if (iVar3 == 0) {\n        local_4c = -1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        local_4c = -1;\n      }" ({ "{") (expression_statement "local_4c = -1;" (assignment_expression "local_4c = -1" (identifier "local_4c") (= "=") (number_literal "-1")) (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar3 = local_4c;" (assignment_expression "iVar3 = local_4c" (identifier "iVar3") (= "=") (identifier "local_4c")) (; ";")) (if_statement "if ((iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0))\n    goto LAB_0001fd44;" (if "if") (parenthesized_expression "((iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0))" (( "(") (binary_expression "(iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0)" (parenthesized_expression "(iVar2 == 1)" (( "(") (binary_expression "iVar2 == 1" (identifier "iVar2") (== "==") (number_literal "1")) () ")")) (|| "||") (parenthesized_expression "(iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0)" (( "(") (comma_expression "iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0" (assignment_expression "iVar2 = FUN_0001fa98(iVar2)" (identifier "iVar2") (= "=") (call_expression "FUN_0001fa98(iVar2)" (identifier "FUN_0001fa98") (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")")))) (, ",") (comma_expression "iVar3 = local_4c, iVar2 != 0" (assignment_expression "iVar3 = local_4c" (identifier "iVar3") (= "=") (identifier "local_4c")) (, ",") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")))) () ")"))) () ")")) (goto_statement "goto LAB_0001fd44;" (goto "goto") (statement_identifier "LAB_0001fd44") (; ";"))) (} "}"))) (expression_statement "iVar3 = -1;" (assignment_expression "iVar3 = -1" (identifier "iVar3") (= "=") (number_literal "-1")) (; ";")) (labeled_statement "LAB_0001fd44:\n  if (local_1c != *(int *)puVar1) {\n    iVar3 = local_1c;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    *(undefined4 *)(iVar3 + 0x20) = 0;\n    iVar3 = mktime_internal();\n    return iVar3;\n  }" (statement_identifier "LAB_0001fd44") (: ":") (if_statement "if (local_1c != *(int *)puVar1) {\n    iVar3 = local_1c;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    *(undefined4 *)(iVar3 + 0x20) = 0;\n    iVar3 = mktime_internal();\n    return iVar3;\n  }" (if "if") (parenthesized_expression "(local_1c != *(int *)puVar1)" (( "(") (binary_expression "local_1c != *(int *)puVar1" (identifier "local_1c") (!= "!=") (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) () ")")) (compound_statement "{\n    iVar3 = local_1c;\n    (*(code *)PTR___stack_chk_fail_00036384)();\n    *(undefined4 *)(iVar3 + 0x20) = 0;\n    iVar3 = mktime_internal();\n    return iVar3;\n  }" ({ "{") (expression_statement "iVar3 = local_1c;" (assignment_expression "iVar3 = local_1c" (identifier "iVar3") (= "=") (identifier "local_1c")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_00036384)();" (call_expression "(*(code *)PTR___stack_chk_fail_00036384)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00036384)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_00036384" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_00036384" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00036384"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(iVar3 + 0x20) = 0;" (assignment_expression "*(undefined4 *)(iVar3 + 0x20) = 0" (pointer_expression "*(undefined4 *)(iVar3 + 0x20)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x20)" (( "(") (binary_expression "iVar3 + 0x20" (identifier "iVar3") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar3 = mktime_internal();" (assignment_expression "iVar3 = mktime_internal()" (identifier "iVar3") (= "=") (call_expression "mktime_internal()" (identifier "mktime_internal") (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return iVar3;" (return "return") (identifier "iVar3") (; ";")) (} "}")))) (return_statement "return iVar3;" (return "return") (identifier "iVar3") (; ";")) (} "}")))

type_1 function_1(type_2 var_1,type_3 *type_3)

{
  type_4 extraout_var;
  type_4 extraout_var_00;
  type_3 *var_11;
  type_2 var_4;
  type_5 _Var2;
  type_1 tVar1;
  type_6 *convert;
  int var_7;
  type_7 *var_12;
  type_1 var_6;
  type_3 tm_1;
  
  var_12 = PTR___stack_chk_guard_000363a0;
  var_11 = *(type_3 **)PTR___stack_chk_guard_000363a0;
  if (var_1 == (type_2)0x0) {
    tVar1 = var_2(type_3);
    goto LAB_0001fd44;
  }
  var_4 = var_3(var_1);
  if (var_4 != (type_2)0x0) {
    var_6 = var_5(type_3);
    if (var_6 == -1) {
      var_7 = (*(type_8 *)PTR_localtime_r_00036380)(&var_6,&tm_1);
      if (var_7 != 0) {
        if (((((type_3->tm_isdst == 0) == (tm_1.tm_isdst == 0)) || (type_3->tm_isdst < 0)) ||
            (tm_1.tm_isdst < 0)) &&
           (((((type_3->tm_sec == tm_1.tm_sec && type_3->tm_min == tm_1.tm_min) &&
              type_3->tm_hour == tm_1.tm_hour) && type_3->tm_mday == tm_1.tm_mday) &&
            type_3->tm_mon == tm_1.tm_mon) && type_3->tm_year == tm_1.tm_year)) goto LAB_0001fd00;
      }
    }
    else {
LAB_0001fd00:
      _Var2 = var_8(var_1,type_3);
      if (var_9(extraout_var,_Var2) == 0) {
        var_6 = -1;
      }
    }
    tVar1 = var_6;
    if ((var_4 == (type_2)0x1) ||
       (_Var2 = var_10(var_4), tVar1 = var_6, var_9(extraout_var_00,_Var2) != 0))
    goto LAB_0001fd44;
  }
  tVar1 = -1;
LAB_0001fd44:
  if (var_11 != *(type_3 **)var_12) {
    var_12 = PTR___stack_chk_fail_00036384;
    (*(type_8 *)PTR___stack_chk_fail_00036384)();
    var_7 = *(int *)(var_12 + 0x16308);
    convert = *(type_6 **)(var_12 + 0x1649c);
    var_11->tm_isdst = 0;
    tVar1 = var_13(var_11,convert,(type_9 *)(var_7 + 0x6640));
    return tVar1;
  }
  return tVar1;
}


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

int MASKED(int param_1,int *param_2)

{
  undefined *puVar1;
  int iVar2;
  int iVar3;
  int local_4c;
  int local_48;
  int local_44;
  int local_40;
  int local_3c;
  int local_38;
  int local_34;
  int local_28;
  int local_1c;
  
  puVar1 = PTR___stack_chk_guard_000363a0;
  local_1c = *(int *)PTR___stack_chk_guard_000363a0;
  if (param_1 == 0) {
    iVar3 = rpl_timegm(param_2);
    goto LAB_0001fd44;
  }
  iVar2 = FUN_0001f944();
  if (iVar2 != 0) {
    local_4c = rpl_mktime(param_2);
    if (local_4c == -1) {
      iVar3 = (*(code *)PTR_localtime_r_00036380)(&local_4c,&local_48);
      if (iVar3 != 0) {
        if (((((param_2[8] == 0) == (local_28 == 0)) || (param_2[8] < 0)) || (local_28 < 0)) &&
           (((((*param_2 == local_48 && param_2[1] == local_44) && param_2[2] == local_40) &&
             param_2[3] == local_3c) && param_2[4] == local_38) && param_2[5] == local_34))
        goto LAB_0001fd00;
      }
    }
    else {
LAB_0001fd00:
      iVar3 = FUN_0001f700(param_1,param_2);
      if (iVar3 == 0) {
        local_4c = -1;
      }
    }
    iVar3 = local_4c;
    if ((iVar2 == 1) || (iVar2 = FUN_0001fa98(iVar2), iVar3 = local_4c, iVar2 != 0))
    goto LAB_0001fd44;
  }
  iVar3 = -1;
LAB_0001fd44:
  if (local_1c != *(int *)puVar1) {
    iVar3 = local_1c;
    (*(code *)PTR___stack_chk_fail_00036384)();
    *(undefined4 *)(iVar3 + 0x20) = 0;
    iVar3 = mktime_internal();
    return iVar3;
  }
  return iVar3;
}

