
/* WARNING: Unknown calling convention */

char * _rl_init_locale(void)

{
  char *pcVar1;
  char *pcVar2;
  int iVar3;
  uint uVar4;
  
  pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360);
  if ((((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&
      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),
       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&
     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),
       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&
      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))) {
    pcVar1 = PTR_DAT_001445ac + -0x6800;
  }
  pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1);
  if ((pcVar1 != (char *)0x0) && (*pcVar1 != '\0')) {
    pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);
    if (*pcVar2 == 'U') {
      iVar3 = (*(code *)PTR_strcmp_00146548)
                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);
      uVar4 = (uint)(iVar3 == 0);
      goto LAB_0010865c;
    }
    uVar4 = 0;
    if (*pcVar2 != 'u') goto LAB_0010865c;
    iVar3 = (*(code *)PTR_strcmp_00146548)
                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);
    if (iVar3 == 0) {
      uVar4 = 1;
      goto LAB_0010865c;
    }
  }
  uVar4 = 0;
LAB_0010865c:
  *(uint *)PTR__rl_utf8locale_00145ff8 = uVar4;
  return pcVar1;
}



char * _rl_init_locale(void)

{
  char *pcVar1;
  char *pcVar2;
  int iVar3;
  uint uVar4;
  
  pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360);
  if ((((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&
      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),
       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&
     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),
       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&
      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))) {
    pcVar1 = PTR_DAT_001445ac + -0x6800;
  }
  pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1);
  if ((pcVar1 != (char *)0x0) && (*pcVar1 != '\0')) {
    pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);
    if (*pcVar2 == 'U') {
      iVar3 = (*(code *)PTR_strcmp_00146548)
                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);
      uVar4 = (uint)(iVar3 == 0);
      goto LAB_0010865c;
    }
    uVar4 = 0;
    if (*pcVar2 != 'u') goto LAB_0010865c;
    iVar3 = (*(code *)PTR_strcmp_00146548)
                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);
    if (iVar3 == 0) {
      uVar4 = 1;
      goto LAB_0010865c;
    }
  }
  uVar4 = 0;
LAB_0010865c:
  *(uint *)PTR__rl_utf8locale_00145ff8 = uVar4;
  return pcVar1;
}


lui gp,0x4
addiu gp,gp,0x3f50
addu gp,gp,t9
lw a0,-0x7fc8(gp)
addiu sp,sp,-0x20
lw t9,-0x6874(gp)
addiu a0,a0,0x7360
sw gp,0x10(sp)
sw ra,0x1c(sp)
jalr t9
_sw s0,0x18(sp)
beq v0,zero,0x00108678
_lw gp,0x10(sp)
lb v1,0x0(v0)
beq v1,zero,0x0010867c
_lw a0,-0x7fc8(gp)
lw t9,-0x6284(gp)
or a0,zero,zero
jalr t9
_or a1,v0,zero
lw gp,0x10(sp)
beq v0,zero,0x00108658
_or s0,v0,zero
lb v0,0x0(v0)
bne v0,zero,0x001086e4
_lw t9,-0x6280(gp)
or a0,zero,zero
lw v1,-0x6548(gp)
or v0,s0,zero
lw ra,0x1c(sp)
lw s0,0x18(sp)
sw a0,0x0(v1)
jr ra
_addiu sp,sp,0x20
lw a0,-0x7fc8(gp)
lw t9,-0x6874(gp)
jalr t9
_addiu a0,a0,0x7374
beq v0,zero,0x0010869c
_lw gp,0x10(sp)
lb v1,0x0(v0)
bne v1,zero,0x00108634
_lw t9,-0x6284(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x6874(gp)
jalr t9
_addiu a0,a0,0x7358
beq v0,zero,0x001086c0
_lw gp,0x10(sp)
lb v1,0x0(v0)
bne v1,zero,0x00108634
_lw t9,-0x6284(gp)
lw t9,-0x6284(gp)
or a1,zero,zero
jalr t9
_or a0,zero,zero
bne v0,zero,0x00108630
_lw gp,0x10(sp)
lw v0,-0x7f94(gp)
b 0x00108630
_addiu v0,v0,-0x6800
jalr t9
_li a0,0xe
li a0,0x55
lb v1,0x0(v0)
beq v1,a0,0x0010872c
_lw gp,0x10(sp)
li a0,0x75
bne v1,a0,0x0010865c
_or a0,zero,zero
lw a1,-0x7aac(gp)
or a0,v0,zero
lw t9,-0x5ff8(gp)
jalr t9
_addiu a1,a1,-0x6928
bne v0,zero,0x00108658
_lw gp,0x10(sp)
b 0x0010865c
_li a0,0x1
lw a1,-0x7aac(gp)
or a0,v0,zero
lw t9,-0x5ff8(gp)
jalr t9
_addiu a1,a1,-0x6930
lw gp,0x10(sp)
b 0x0010865c
_sltiu a0,v0,0x1
(translation_unit "char * _rl_init_locale(void)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  int iVar3;\n  uint uVar4;\n  \n  pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360);\n  if ((((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))) {\n    pcVar1 = PTR_DAT_001445ac + -0x6800;\n  }\n  pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1);\n  if ((pcVar1 != (char *)0x0) && (*pcVar1 != '\0')) {\n    pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);\n    if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }\n    uVar4 = 0;\n    if (*pcVar2 != 'u') goto LAB_0010865c;\n    iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);\n    if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }\n  }\n  uVar4 = 0;\nLAB_0010865c:\n  *(uint *)PTR__rl_utf8locale_00145ff8 = uVar4;\n  return pcVar1;\n}\n\n" (function_definition "char * _rl_init_locale(void)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  int iVar3;\n  uint uVar4;\n  \n  pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360);\n  if ((((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))) {\n    pcVar1 = PTR_DAT_001445ac + -0x6800;\n  }\n  pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1);\n  if ((pcVar1 != (char *)0x0) && (*pcVar1 != '\0')) {\n    pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);\n    if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }\n    uVar4 = 0;\n    if (*pcVar2 != 'u') goto LAB_0010865c;\n    iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);\n    if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }\n  }\n  uVar4 = 0;\nLAB_0010865c:\n  *(uint *)PTR__rl_utf8locale_00145ff8 = uVar4;\n  return pcVar1;\n}" primitive_type (pointer_declarator "* _rl_init_locale(void)" * (function_declarator "_rl_init_locale(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) )))) (compound_statement "{\n  char *pcVar1;\n  char *pcVar2;\n  int iVar3;\n  uint uVar4;\n  \n  pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360);\n  if ((((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))) {\n    pcVar1 = PTR_DAT_001445ac + -0x6800;\n  }\n  pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1);\n  if ((pcVar1 != (char *)0x0) && (*pcVar1 != '\0')) {\n    pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);\n    if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }\n    uVar4 = 0;\n    if (*pcVar2 != 'u') goto LAB_0010865c;\n    iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);\n    if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }\n  }\n  uVar4 = 0;\nLAB_0010865c:\n  *(uint *)PTR__rl_utf8locale_00145ff8 = uVar4;\n  return pcVar1;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (expression_statement "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360);" (assignment_expression "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360)" identifier = (cast_expression "(char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360)" (parenthesized_expression "(*(code *)PTR_sh_get_env_value_00145ccc)" ( (pointer_expression "*(code *)PTR_sh_get_env_value_00145ccc" * (cast_expression "(code *)PTR_sh_get_env_value_00145ccc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x7360)" ( (binary_expression "PTR_LAB_00144578 + 0x7360" identifier + number_literal) ))))) ;) (if_statement "if ((((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))) {\n    pcVar1 = PTR_DAT_001445ac + -0x6800;\n  }" if (parenthesized_expression "((((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0))))" ( (binary_expression "(((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))" (parenthesized_expression "(((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0'))))" ( (binary_expression "((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))" (parenthesized_expression "((pcVar1 == (char *)0x0) || (*pcVar1 == '\0'))" ( (binary_expression "(pcVar1 == (char *)0x0) || (*pcVar1 == '\0')" (parenthesized_expression "(pcVar1 == (char *)0x0)" ( (binary_expression "pcVar1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*pcVar1 == '\0')" ( (binary_expression "*pcVar1 == '\0'" (pointer_expression "*pcVar1" * identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))" ( (parenthesized_expression "(pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0'))" ( (comma_expression "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')" (assignment_expression "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374)" identifier = (cast_expression "(char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374)" (parenthesized_expression "(*(code *)PTR_sh_get_env_value_00145ccc)" ( (pointer_expression "*(code *)PTR_sh_get_env_value_00145ccc" * (cast_expression "(code *)PTR_sh_get_env_value_00145ccc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x7374)" ( (binary_expression "PTR_LAB_00144578 + 0x7374" identifier + number_literal) ))))) , (binary_expression "pcVar1 == (char *)0x0 || (*pcVar1 == '\0')" (binary_expression "pcVar1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(*pcVar1 == '\0')" ( (binary_expression "*pcVar1 == '\0'" (pointer_expression "*pcVar1" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )))) )) ))) )) && (parenthesized_expression "(((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))" ( (parenthesized_expression "((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0))" ( (binary_expression "(pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)" (parenthesized_expression "(pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0'))" ( (comma_expression "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')" (assignment_expression "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358)" identifier = (cast_expression "(char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358)" (parenthesized_expression "(*(code *)PTR_sh_get_env_value_00145ccc)" ( (pointer_expression "*(code *)PTR_sh_get_env_value_00145ccc" * (cast_expression "(code *)PTR_sh_get_env_value_00145ccc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x7358)" ( (binary_expression "PTR_LAB_00144578 + 0x7358" identifier + number_literal) ))))) , (binary_expression "pcVar1 == (char *)0x0 || (*pcVar1 == '\0')" (binary_expression "pcVar1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(*pcVar1 == '\0')" ( (binary_expression "*pcVar1 == '\0'" (pointer_expression "*pcVar1" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )))) )) && (parenthesized_expression "(pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)" ( (comma_expression "pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0" (assignment_expression "pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0)" identifier = (cast_expression "(char *)(*(code *)PTR_setlocale_001462bc)(0,0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_setlocale_001462bc)(0,0)" (parenthesized_expression "(*(code *)PTR_setlocale_001462bc)" ( (pointer_expression "*(code *)PTR_setlocale_001462bc" * (cast_expression "(code *)PTR_setlocale_001462bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0)" ( number_literal , number_literal ))))) , (binary_expression "pcVar1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ))) )) (compound_statement "{\n    pcVar1 = PTR_DAT_001445ac + -0x6800;\n  }" { (expression_statement "pcVar1 = PTR_DAT_001445ac + -0x6800;" (assignment_expression "pcVar1 = PTR_DAT_001445ac + -0x6800" identifier = (binary_expression "PTR_DAT_001445ac + -0x6800" identifier + number_literal)) ;) })) (expression_statement "pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1);" (assignment_expression "pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1)" identifier = (cast_expression "(char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_setlocale_001462bc)(0,pcVar1)" (parenthesized_expression "(*(code *)PTR_setlocale_001462bc)" ( (pointer_expression "*(code *)PTR_setlocale_001462bc" * (cast_expression "(code *)PTR_setlocale_001462bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,pcVar1)" ( number_literal , identifier ))))) ;) (if_statement "if ((pcVar1 != (char *)0x0) && (*pcVar1 != '\0')) {\n    pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);\n    if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }\n    uVar4 = 0;\n    if (*pcVar2 != 'u') goto LAB_0010865c;\n    iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);\n    if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }\n  }" if (parenthesized_expression "((pcVar1 != (char *)0x0) && (*pcVar1 != '\0'))" ( (binary_expression "(pcVar1 != (char *)0x0) && (*pcVar1 != '\0')" (parenthesized_expression "(pcVar1 != (char *)0x0)" ( (binary_expression "pcVar1 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*pcVar1 != '\0')" ( (binary_expression "*pcVar1 != '\0'" (pointer_expression "*pcVar1" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);\n    if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }\n    uVar4 = 0;\n    if (*pcVar2 != 'u') goto LAB_0010865c;\n    iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);\n    if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }\n  }" { (expression_statement "pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);" (assignment_expression "pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe)" identifier = (cast_expression "(char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_nl_langinfo_001462c0)(0xe)" (parenthesized_expression "(*(code *)PTR_nl_langinfo_001462c0)" ( (pointer_expression "*(code *)PTR_nl_langinfo_001462c0" * (cast_expression "(code *)PTR_nl_langinfo_001462c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xe)" ( number_literal ))))) ;) (if_statement "if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }" if (parenthesized_expression "(*pcVar2 == 'U')" ( (binary_expression "*pcVar2 == 'U'" (pointer_expression "*pcVar2" * identifier) == (char_literal "'U'" ' character ')) )) (compound_statement "{\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }" { (expression_statement "iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930)" identifier = (call_expression "(*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930)" (parenthesized_expression "(*(code *)PTR_strcmp_00146548)" ( (pointer_expression "*(code *)PTR_strcmp_00146548" * (cast_expression "(code *)PTR_strcmp_00146548" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930)" ( identifier , (binary_expression "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930" identifier + number_literal) )))) ;) (expression_statement "uVar4 = (uint)(iVar3 == 0);" (assignment_expression "uVar4 = (uint)(iVar3 == 0)" identifier = (call_expression "(uint)(iVar3 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )))) ;) (goto_statement "goto LAB_0010865c;" goto statement_identifier ;) })) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (if_statement "if (*pcVar2 != 'u') goto LAB_0010865c;" if (parenthesized_expression "(*pcVar2 != 'u')" ( (binary_expression "*pcVar2 != 'u'" (pointer_expression "*pcVar2" * identifier) != (char_literal "'u'" ' character ')) )) (goto_statement "goto LAB_0010865c;" goto statement_identifier ;)) (expression_statement "iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928)" identifier = (call_expression "(*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928)" (parenthesized_expression "(*(code *)PTR_strcmp_00146548)" ( (pointer_expression "*(code *)PTR_strcmp_00146548" * (cast_expression "(code *)PTR_strcmp_00146548" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928)" ( identifier , (binary_expression "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928" identifier + number_literal) )))) ;) (if_statement "if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }" { (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0010865c;" goto statement_identifier ;) })) })) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0010865c:\n  *(uint *)PTR__rl_utf8locale_00145ff8 = uVar4;" statement_identifier : (expression_statement "*(uint *)PTR__rl_utf8locale_00145ff8 = uVar4;" (assignment_expression "*(uint *)PTR__rl_utf8locale_00145ff8 = uVar4" (pointer_expression "*(uint *)PTR__rl_utf8locale_00145ff8" * (cast_expression "(uint *)PTR__rl_utf8locale_00145ff8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;)) (return_statement "return pcVar1;" return identifier ;) })))
(translation_unit "/* WARNING: Unknown calling convention */\n\nchar * _rl_init_locale(void)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  int iVar3;\n  uint uVar4;\n  \n  pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360);\n  if ((((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))) {\n    pcVar1 = PTR_DAT_001445ac + -0x6800;\n  }\n  pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1);\n  if ((pcVar1 != (char *)0x0) && (*pcVar1 != '\0')) {\n    pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);\n    if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }\n    uVar4 = 0;\n    if (*pcVar2 != 'u') goto LAB_0010865c;\n    iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);\n    if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }\n  }\n  uVar4 = 0;\nLAB_0010865c:\n  *(uint *)PTR__rl_utf8locale_00145ff8 = uVar4;\n  return pcVar1;\n}\n\n" comment (function_definition "char * _rl_init_locale(void)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  int iVar3;\n  uint uVar4;\n  \n  pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360);\n  if ((((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))) {\n    pcVar1 = PTR_DAT_001445ac + -0x6800;\n  }\n  pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1);\n  if ((pcVar1 != (char *)0x0) && (*pcVar1 != '\0')) {\n    pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);\n    if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }\n    uVar4 = 0;\n    if (*pcVar2 != 'u') goto LAB_0010865c;\n    iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);\n    if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }\n  }\n  uVar4 = 0;\nLAB_0010865c:\n  *(uint *)PTR__rl_utf8locale_00145ff8 = uVar4;\n  return pcVar1;\n}" primitive_type (pointer_declarator "* _rl_init_locale(void)" * (function_declarator "_rl_init_locale(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) )))) (compound_statement "{\n  char *pcVar1;\n  char *pcVar2;\n  int iVar3;\n  uint uVar4;\n  \n  pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360);\n  if ((((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))) {\n    pcVar1 = PTR_DAT_001445ac + -0x6800;\n  }\n  pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1);\n  if ((pcVar1 != (char *)0x0) && (*pcVar1 != '\0')) {\n    pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);\n    if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }\n    uVar4 = 0;\n    if (*pcVar2 != 'u') goto LAB_0010865c;\n    iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);\n    if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }\n  }\n  uVar4 = 0;\nLAB_0010865c:\n  *(uint *)PTR__rl_utf8locale_00145ff8 = uVar4;\n  return pcVar1;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (expression_statement "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360);" (assignment_expression "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360)" identifier = (cast_expression "(char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360)" (parenthesized_expression "(*(code *)PTR_sh_get_env_value_00145ccc)" ( (pointer_expression "*(code *)PTR_sh_get_env_value_00145ccc" * (cast_expression "(code *)PTR_sh_get_env_value_00145ccc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x7360)" ( (binary_expression "PTR_LAB_00144578 + 0x7360" identifier + number_literal) ))))) ;) (if_statement "if ((((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))) {\n    pcVar1 = PTR_DAT_001445ac + -0x6800;\n  }" if (parenthesized_expression "((((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0))))" ( (binary_expression "(((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))" (parenthesized_expression "(((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0'))))" ( (binary_expression "((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))" (parenthesized_expression "((pcVar1 == (char *)0x0) || (*pcVar1 == '\0'))" ( (binary_expression "(pcVar1 == (char *)0x0) || (*pcVar1 == '\0')" (parenthesized_expression "(pcVar1 == (char *)0x0)" ( (binary_expression "pcVar1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*pcVar1 == '\0')" ( (binary_expression "*pcVar1 == '\0'" (pointer_expression "*pcVar1" * identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))" ( (parenthesized_expression "(pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0'))" ( (comma_expression "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')" (assignment_expression "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374)" identifier = (cast_expression "(char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374)" (parenthesized_expression "(*(code *)PTR_sh_get_env_value_00145ccc)" ( (pointer_expression "*(code *)PTR_sh_get_env_value_00145ccc" * (cast_expression "(code *)PTR_sh_get_env_value_00145ccc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x7374)" ( (binary_expression "PTR_LAB_00144578 + 0x7374" identifier + number_literal) ))))) , (binary_expression "pcVar1 == (char *)0x0 || (*pcVar1 == '\0')" (binary_expression "pcVar1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(*pcVar1 == '\0')" ( (binary_expression "*pcVar1 == '\0'" (pointer_expression "*pcVar1" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )))) )) ))) )) && (parenthesized_expression "(((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))" ( (parenthesized_expression "((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0))" ( (binary_expression "(pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)" (parenthesized_expression "(pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0'))" ( (comma_expression "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')" (assignment_expression "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358)" identifier = (cast_expression "(char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358)" (parenthesized_expression "(*(code *)PTR_sh_get_env_value_00145ccc)" ( (pointer_expression "*(code *)PTR_sh_get_env_value_00145ccc" * (cast_expression "(code *)PTR_sh_get_env_value_00145ccc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x7358)" ( (binary_expression "PTR_LAB_00144578 + 0x7358" identifier + number_literal) ))))) , (binary_expression "pcVar1 == (char *)0x0 || (*pcVar1 == '\0')" (binary_expression "pcVar1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(*pcVar1 == '\0')" ( (binary_expression "*pcVar1 == '\0'" (pointer_expression "*pcVar1" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )))) )) && (parenthesized_expression "(pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)" ( (comma_expression "pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0" (assignment_expression "pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0)" identifier = (cast_expression "(char *)(*(code *)PTR_setlocale_001462bc)(0,0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_setlocale_001462bc)(0,0)" (parenthesized_expression "(*(code *)PTR_setlocale_001462bc)" ( (pointer_expression "*(code *)PTR_setlocale_001462bc" * (cast_expression "(code *)PTR_setlocale_001462bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0)" ( number_literal , number_literal ))))) , (binary_expression "pcVar1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ))) )) (compound_statement "{\n    pcVar1 = PTR_DAT_001445ac + -0x6800;\n  }" { (expression_statement "pcVar1 = PTR_DAT_001445ac + -0x6800;" (assignment_expression "pcVar1 = PTR_DAT_001445ac + -0x6800" identifier = (binary_expression "PTR_DAT_001445ac + -0x6800" identifier + number_literal)) ;) })) (expression_statement "pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1);" (assignment_expression "pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1)" identifier = (cast_expression "(char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_setlocale_001462bc)(0,pcVar1)" (parenthesized_expression "(*(code *)PTR_setlocale_001462bc)" ( (pointer_expression "*(code *)PTR_setlocale_001462bc" * (cast_expression "(code *)PTR_setlocale_001462bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,pcVar1)" ( number_literal , identifier ))))) ;) (if_statement "if ((pcVar1 != (char *)0x0) && (*pcVar1 != '\0')) {\n    pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);\n    if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }\n    uVar4 = 0;\n    if (*pcVar2 != 'u') goto LAB_0010865c;\n    iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);\n    if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }\n  }" if (parenthesized_expression "((pcVar1 != (char *)0x0) && (*pcVar1 != '\0'))" ( (binary_expression "(pcVar1 != (char *)0x0) && (*pcVar1 != '\0')" (parenthesized_expression "(pcVar1 != (char *)0x0)" ( (binary_expression "pcVar1 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*pcVar1 != '\0')" ( (binary_expression "*pcVar1 != '\0'" (pointer_expression "*pcVar1" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);\n    if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }\n    uVar4 = 0;\n    if (*pcVar2 != 'u') goto LAB_0010865c;\n    iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);\n    if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }\n  }" { (expression_statement "pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);" (assignment_expression "pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe)" identifier = (cast_expression "(char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_nl_langinfo_001462c0)(0xe)" (parenthesized_expression "(*(code *)PTR_nl_langinfo_001462c0)" ( (pointer_expression "*(code *)PTR_nl_langinfo_001462c0" * (cast_expression "(code *)PTR_nl_langinfo_001462c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xe)" ( number_literal ))))) ;) (if_statement "if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }" if (parenthesized_expression "(*pcVar2 == 'U')" ( (binary_expression "*pcVar2 == 'U'" (pointer_expression "*pcVar2" * identifier) == (char_literal "'U'" ' character ')) )) (compound_statement "{\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }" { (expression_statement "iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930)" identifier = (call_expression "(*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930)" (parenthesized_expression "(*(code *)PTR_strcmp_00146548)" ( (pointer_expression "*(code *)PTR_strcmp_00146548" * (cast_expression "(code *)PTR_strcmp_00146548" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930)" ( identifier , (binary_expression "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930" identifier + number_literal) )))) ;) (expression_statement "uVar4 = (uint)(iVar3 == 0);" (assignment_expression "uVar4 = (uint)(iVar3 == 0)" identifier = (call_expression "(uint)(iVar3 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )))) ;) (goto_statement "goto LAB_0010865c;" goto statement_identifier ;) })) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (if_statement "if (*pcVar2 != 'u') goto LAB_0010865c;" if (parenthesized_expression "(*pcVar2 != 'u')" ( (binary_expression "*pcVar2 != 'u'" (pointer_expression "*pcVar2" * identifier) != (char_literal "'u'" ' character ')) )) (goto_statement "goto LAB_0010865c;" goto statement_identifier ;)) (expression_statement "iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928)" identifier = (call_expression "(*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928)" (parenthesized_expression "(*(code *)PTR_strcmp_00146548)" ( (pointer_expression "*(code *)PTR_strcmp_00146548" * (cast_expression "(code *)PTR_strcmp_00146548" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928)" ( identifier , (binary_expression "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928" identifier + number_literal) )))) ;) (if_statement "if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }" { (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0010865c;" goto statement_identifier ;) })) })) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0010865c:\n  *(uint *)PTR__rl_utf8locale_00145ff8 = uVar4;" statement_identifier : (expression_statement "*(uint *)PTR__rl_utf8locale_00145ff8 = uVar4;" (assignment_expression "*(uint *)PTR__rl_utf8locale_00145ff8 = uVar4" (pointer_expression "*(uint *)PTR__rl_utf8locale_00145ff8" * (cast_expression "(uint *)PTR__rl_utf8locale_00145ff8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;)) (return_statement "return pcVar1;" return identifier ;) })))
(translation_unit "char * _rl_init_locale(void)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  int iVar3;\n  uint uVar4;\n  \n  pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360);\n  if ((((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))) {\n    pcVar1 = PTR_DAT_001445ac + -0x6800;\n  }\n  pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1);\n  if ((pcVar1 != (char *)0x0) && (*pcVar1 != '\0')) {\n    pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);\n    if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }\n    uVar4 = 0;\n    if (*pcVar2 != 'u') goto LAB_0010865c;\n    iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);\n    if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }\n  }\n  uVar4 = 0;\nLAB_0010865c:\n  *(uint *)PTR__rl_utf8locale_00145ff8 = uVar4;\n  return pcVar1;\n}\n\n" (function_definition "char * _rl_init_locale(void)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  int iVar3;\n  uint uVar4;\n  \n  pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360);\n  if ((((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))) {\n    pcVar1 = PTR_DAT_001445ac + -0x6800;\n  }\n  pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1);\n  if ((pcVar1 != (char *)0x0) && (*pcVar1 != '\0')) {\n    pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);\n    if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }\n    uVar4 = 0;\n    if (*pcVar2 != 'u') goto LAB_0010865c;\n    iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);\n    if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }\n  }\n  uVar4 = 0;\nLAB_0010865c:\n  *(uint *)PTR__rl_utf8locale_00145ff8 = uVar4;\n  return pcVar1;\n}" primitive_type (pointer_declarator "* _rl_init_locale(void)" * (function_declarator "_rl_init_locale(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) )))) (compound_statement "{\n  char *pcVar1;\n  char *pcVar2;\n  int iVar3;\n  uint uVar4;\n  \n  pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360);\n  if ((((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))) {\n    pcVar1 = PTR_DAT_001445ac + -0x6800;\n  }\n  pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1);\n  if ((pcVar1 != (char *)0x0) && (*pcVar1 != '\0')) {\n    pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);\n    if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }\n    uVar4 = 0;\n    if (*pcVar2 != 'u') goto LAB_0010865c;\n    iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);\n    if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }\n  }\n  uVar4 = 0;\nLAB_0010865c:\n  *(uint *)PTR__rl_utf8locale_00145ff8 = uVar4;\n  return pcVar1;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (expression_statement "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360);" (assignment_expression "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360)" identifier = (cast_expression "(char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360)" (parenthesized_expression "(*(code *)PTR_sh_get_env_value_00145ccc)" ( (pointer_expression "*(code *)PTR_sh_get_env_value_00145ccc" * (cast_expression "(code *)PTR_sh_get_env_value_00145ccc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x7360)" ( (binary_expression "PTR_LAB_00144578 + 0x7360" identifier + number_literal) ))))) ;) (if_statement "if ((((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))) {\n    pcVar1 = PTR_DAT_001445ac + -0x6800;\n  }" if (parenthesized_expression "((((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0))))" ( (binary_expression "(((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))" (parenthesized_expression "(((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0'))))" ( (binary_expression "((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))" (parenthesized_expression "((pcVar1 == (char *)0x0) || (*pcVar1 == '\0'))" ( (binary_expression "(pcVar1 == (char *)0x0) || (*pcVar1 == '\0')" (parenthesized_expression "(pcVar1 == (char *)0x0)" ( (binary_expression "pcVar1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*pcVar1 == '\0')" ( (binary_expression "*pcVar1 == '\0'" (pointer_expression "*pcVar1" * identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))" ( (parenthesized_expression "(pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0'))" ( (comma_expression "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')" (assignment_expression "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374)" identifier = (cast_expression "(char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374)" (parenthesized_expression "(*(code *)PTR_sh_get_env_value_00145ccc)" ( (pointer_expression "*(code *)PTR_sh_get_env_value_00145ccc" * (cast_expression "(code *)PTR_sh_get_env_value_00145ccc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x7374)" ( (binary_expression "PTR_LAB_00144578 + 0x7374" identifier + number_literal) ))))) , (binary_expression "pcVar1 == (char *)0x0 || (*pcVar1 == '\0')" (binary_expression "pcVar1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(*pcVar1 == '\0')" ( (binary_expression "*pcVar1 == '\0'" (pointer_expression "*pcVar1" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )))) )) ))) )) && (parenthesized_expression "(((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))" ( (parenthesized_expression "((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0))" ( (binary_expression "(pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)" (parenthesized_expression "(pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0'))" ( (comma_expression "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')" (assignment_expression "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358)" identifier = (cast_expression "(char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358)" (parenthesized_expression "(*(code *)PTR_sh_get_env_value_00145ccc)" ( (pointer_expression "*(code *)PTR_sh_get_env_value_00145ccc" * (cast_expression "(code *)PTR_sh_get_env_value_00145ccc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x7358)" ( (binary_expression "PTR_LAB_00144578 + 0x7358" identifier + number_literal) ))))) , (binary_expression "pcVar1 == (char *)0x0 || (*pcVar1 == '\0')" (binary_expression "pcVar1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(*pcVar1 == '\0')" ( (binary_expression "*pcVar1 == '\0'" (pointer_expression "*pcVar1" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )))) )) && (parenthesized_expression "(pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)" ( (comma_expression "pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0" (assignment_expression "pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0)" identifier = (cast_expression "(char *)(*(code *)PTR_setlocale_001462bc)(0,0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_setlocale_001462bc)(0,0)" (parenthesized_expression "(*(code *)PTR_setlocale_001462bc)" ( (pointer_expression "*(code *)PTR_setlocale_001462bc" * (cast_expression "(code *)PTR_setlocale_001462bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0)" ( number_literal , number_literal ))))) , (binary_expression "pcVar1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ))) )) (compound_statement "{\n    pcVar1 = PTR_DAT_001445ac + -0x6800;\n  }" { (expression_statement "pcVar1 = PTR_DAT_001445ac + -0x6800;" (assignment_expression "pcVar1 = PTR_DAT_001445ac + -0x6800" identifier = (binary_expression "PTR_DAT_001445ac + -0x6800" identifier + number_literal)) ;) })) (expression_statement "pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1);" (assignment_expression "pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1)" identifier = (cast_expression "(char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_setlocale_001462bc)(0,pcVar1)" (parenthesized_expression "(*(code *)PTR_setlocale_001462bc)" ( (pointer_expression "*(code *)PTR_setlocale_001462bc" * (cast_expression "(code *)PTR_setlocale_001462bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,pcVar1)" ( number_literal , identifier ))))) ;) (if_statement "if ((pcVar1 != (char *)0x0) && (*pcVar1 != '\0')) {\n    pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);\n    if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }\n    uVar4 = 0;\n    if (*pcVar2 != 'u') goto LAB_0010865c;\n    iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);\n    if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }\n  }" if (parenthesized_expression "((pcVar1 != (char *)0x0) && (*pcVar1 != '\0'))" ( (binary_expression "(pcVar1 != (char *)0x0) && (*pcVar1 != '\0')" (parenthesized_expression "(pcVar1 != (char *)0x0)" ( (binary_expression "pcVar1 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*pcVar1 != '\0')" ( (binary_expression "*pcVar1 != '\0'" (pointer_expression "*pcVar1" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);\n    if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }\n    uVar4 = 0;\n    if (*pcVar2 != 'u') goto LAB_0010865c;\n    iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);\n    if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }\n  }" { (expression_statement "pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);" (assignment_expression "pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe)" identifier = (cast_expression "(char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_nl_langinfo_001462c0)(0xe)" (parenthesized_expression "(*(code *)PTR_nl_langinfo_001462c0)" ( (pointer_expression "*(code *)PTR_nl_langinfo_001462c0" * (cast_expression "(code *)PTR_nl_langinfo_001462c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xe)" ( number_literal ))))) ;) (if_statement "if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }" if (parenthesized_expression "(*pcVar2 == 'U')" ( (binary_expression "*pcVar2 == 'U'" (pointer_expression "*pcVar2" * identifier) == (char_literal "'U'" ' character ')) )) (compound_statement "{\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }" { (expression_statement "iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930)" identifier = (call_expression "(*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930)" (parenthesized_expression "(*(code *)PTR_strcmp_00146548)" ( (pointer_expression "*(code *)PTR_strcmp_00146548" * (cast_expression "(code *)PTR_strcmp_00146548" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930)" ( identifier , (binary_expression "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930" identifier + number_literal) )))) ;) (expression_statement "uVar4 = (uint)(iVar3 == 0);" (assignment_expression "uVar4 = (uint)(iVar3 == 0)" identifier = (call_expression "(uint)(iVar3 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )))) ;) (goto_statement "goto LAB_0010865c;" goto statement_identifier ;) })) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (if_statement "if (*pcVar2 != 'u') goto LAB_0010865c;" if (parenthesized_expression "(*pcVar2 != 'u')" ( (binary_expression "*pcVar2 != 'u'" (pointer_expression "*pcVar2" * identifier) != (char_literal "'u'" ' character ')) )) (goto_statement "goto LAB_0010865c;" goto statement_identifier ;)) (expression_statement "iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928)" identifier = (call_expression "(*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928)" (parenthesized_expression "(*(code *)PTR_strcmp_00146548)" ( (pointer_expression "*(code *)PTR_strcmp_00146548" * (cast_expression "(code *)PTR_strcmp_00146548" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928)" ( identifier , (binary_expression "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928" identifier + number_literal) )))) ;) (if_statement "if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }" { (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0010865c;" goto statement_identifier ;) })) })) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0010865c:\n  *(uint *)PTR__rl_utf8locale_00145ff8 = uVar4;" statement_identifier : (expression_statement "*(uint *)PTR__rl_utf8locale_00145ff8 = uVar4;" (assignment_expression "*(uint *)PTR__rl_utf8locale_00145ff8 = uVar4" (pointer_expression "*(uint *)PTR__rl_utf8locale_00145ff8" * (cast_expression "(uint *)PTR__rl_utf8locale_00145ff8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;)) (return_statement "return pcVar1;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))))) , (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))))) , (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , LIT ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' character ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;)) (return_statement return IDENT ;) })))
(function_definition "char * _rl_init_locale(void)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  int iVar3;\n  uint uVar4;\n  \n  pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360);\n  if ((((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))) {\n    pcVar1 = PTR_DAT_001445ac + -0x6800;\n  }\n  pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1);\n  if ((pcVar1 != (char *)0x0) && (*pcVar1 != '\0')) {\n    pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);\n    if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }\n    uVar4 = 0;\n    if (*pcVar2 != 'u') goto LAB_0010865c;\n    iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);\n    if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }\n  }\n  uVar4 = 0;\nLAB_0010865c:\n  *(uint *)PTR__rl_utf8locale_00145ff8 = uVar4;\n  return pcVar1;\n}" (primitive_type "char") (pointer_declarator "* _rl_init_locale(void)" (* "*") (function_declarator "_rl_init_locale(void)" (identifier "_rl_init_locale") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")")))) (compound_statement "{\n  char *pcVar1;\n  char *pcVar2;\n  int iVar3;\n  uint uVar4;\n  \n  pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360);\n  if ((((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))) {\n    pcVar1 = PTR_DAT_001445ac + -0x6800;\n  }\n  pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1);\n  if ((pcVar1 != (char *)0x0) && (*pcVar1 != '\0')) {\n    pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);\n    if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }\n    uVar4 = 0;\n    if (*pcVar2 != 'u') goto LAB_0010865c;\n    iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);\n    if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }\n  }\n  uVar4 = 0;\nLAB_0010865c:\n  *(uint *)PTR__rl_utf8locale_00145ff8 = uVar4;\n  return pcVar1;\n}" ({ "{") (declaration "char *pcVar1;" (primitive_type "char") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (declaration "char *pcVar2;" (primitive_type "char") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (expression_statement "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360);" (assignment_expression "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360)" (identifier "pcVar1") (= "=") (cast_expression "(char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360)" (parenthesized_expression "(*(code *)PTR_sh_get_env_value_00145ccc)" (( "(") (pointer_expression "*(code *)PTR_sh_get_env_value_00145ccc" (* "*") (cast_expression "(code *)PTR_sh_get_env_value_00145ccc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sh_get_env_value_00145ccc"))) () ")")) (argument_list "(PTR_LAB_00144578 + 0x7360)" (( "(") (binary_expression "PTR_LAB_00144578 + 0x7360" (identifier "PTR_LAB_00144578") (+ "+") (number_literal "0x7360")) () ")"))))) (; ";")) (if_statement "if ((((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))) {\n    pcVar1 = PTR_DAT_001445ac + -0x6800;\n  }" (if "if") (parenthesized_expression "((((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0))))" (( "(") (binary_expression "(((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&\n     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))" (parenthesized_expression "(((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0'))))" (( "(") (binary_expression "((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&\n      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))" (parenthesized_expression "((pcVar1 == (char *)0x0) || (*pcVar1 == '\0'))" (( "(") (binary_expression "(pcVar1 == (char *)0x0) || (*pcVar1 == '\0')" (parenthesized_expression "(pcVar1 == (char *)0x0)" (( "(") (binary_expression "pcVar1 == (char *)0x0" (identifier "pcVar1") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(*pcVar1 == '\0')" (( "(") (binary_expression "*pcVar1 == '\0'" (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))" (( "(") (parenthesized_expression "(pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0'))" (( "(") (comma_expression "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')" (assignment_expression "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374)" (identifier "pcVar1") (= "=") (cast_expression "(char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374)" (parenthesized_expression "(*(code *)PTR_sh_get_env_value_00145ccc)" (( "(") (pointer_expression "*(code *)PTR_sh_get_env_value_00145ccc" (* "*") (cast_expression "(code *)PTR_sh_get_env_value_00145ccc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sh_get_env_value_00145ccc"))) () ")")) (argument_list "(PTR_LAB_00144578 + 0x7374)" (( "(") (binary_expression "PTR_LAB_00144578 + 0x7374" (identifier "PTR_LAB_00144578") (+ "+") (number_literal "0x7374")) () ")"))))) (, ",") (binary_expression "pcVar1 == (char *)0x0 || (*pcVar1 == '\0')" (binary_expression "pcVar1 == (char *)0x0" (identifier "pcVar1") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (|| "||") (parenthesized_expression "(*pcVar1 == '\0')" (( "(") (binary_expression "*pcVar1 == '\0'" (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))" (( "(") (parenthesized_expression "((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0))" (( "(") (binary_expression "(pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&\n      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)" (parenthesized_expression "(pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0'))" (( "(") (comma_expression "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),\n       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')" (assignment_expression "pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358)" (identifier "pcVar1") (= "=") (cast_expression "(char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358)" (parenthesized_expression "(*(code *)PTR_sh_get_env_value_00145ccc)" (( "(") (pointer_expression "*(code *)PTR_sh_get_env_value_00145ccc" (* "*") (cast_expression "(code *)PTR_sh_get_env_value_00145ccc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sh_get_env_value_00145ccc"))) () ")")) (argument_list "(PTR_LAB_00144578 + 0x7358)" (( "(") (binary_expression "PTR_LAB_00144578 + 0x7358" (identifier "PTR_LAB_00144578") (+ "+") (number_literal "0x7358")) () ")"))))) (, ",") (binary_expression "pcVar1 == (char *)0x0 || (*pcVar1 == '\0')" (binary_expression "pcVar1 == (char *)0x0" (identifier "pcVar1") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (|| "||") (parenthesized_expression "(*pcVar1 == '\0')" (( "(") (binary_expression "*pcVar1 == '\0'" (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)" (( "(") (comma_expression "pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0" (assignment_expression "pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0)" (identifier "pcVar1") (= "=") (cast_expression "(char *)(*(code *)PTR_setlocale_001462bc)(0,0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_setlocale_001462bc)(0,0)" (parenthesized_expression "(*(code *)PTR_setlocale_001462bc)" (( "(") (pointer_expression "*(code *)PTR_setlocale_001462bc" (* "*") (cast_expression "(code *)PTR_setlocale_001462bc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_setlocale_001462bc"))) () ")")) (argument_list "(0,0)" (( "(") (number_literal "0") (, ",") (number_literal "0") () ")"))))) (, ",") (binary_expression "pcVar1 == (char *)0x0" (identifier "pcVar1") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n    pcVar1 = PTR_DAT_001445ac + -0x6800;\n  }" ({ "{") (expression_statement "pcVar1 = PTR_DAT_001445ac + -0x6800;" (assignment_expression "pcVar1 = PTR_DAT_001445ac + -0x6800" (identifier "pcVar1") (= "=") (binary_expression "PTR_DAT_001445ac + -0x6800" (identifier "PTR_DAT_001445ac") (+ "+") (number_literal "-0x6800"))) (; ";")) (} "}"))) (expression_statement "pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1);" (assignment_expression "pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1)" (identifier "pcVar1") (= "=") (cast_expression "(char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_setlocale_001462bc)(0,pcVar1)" (parenthesized_expression "(*(code *)PTR_setlocale_001462bc)" (( "(") (pointer_expression "*(code *)PTR_setlocale_001462bc" (* "*") (cast_expression "(code *)PTR_setlocale_001462bc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_setlocale_001462bc"))) () ")")) (argument_list "(0,pcVar1)" (( "(") (number_literal "0") (, ",") (identifier "pcVar1") () ")"))))) (; ";")) (if_statement "if ((pcVar1 != (char *)0x0) && (*pcVar1 != '\0')) {\n    pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);\n    if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }\n    uVar4 = 0;\n    if (*pcVar2 != 'u') goto LAB_0010865c;\n    iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);\n    if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }\n  }" (if "if") (parenthesized_expression "((pcVar1 != (char *)0x0) && (*pcVar1 != '\0'))" (( "(") (binary_expression "(pcVar1 != (char *)0x0) && (*pcVar1 != '\0')" (parenthesized_expression "(pcVar1 != (char *)0x0)" (( "(") (binary_expression "pcVar1 != (char *)0x0" (identifier "pcVar1") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(*pcVar1 != '\0')" (( "(") (binary_expression "*pcVar1 != '\0'" (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);\n    if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }\n    uVar4 = 0;\n    if (*pcVar2 != 'u') goto LAB_0010865c;\n    iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);\n    if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }\n  }" ({ "{") (expression_statement "pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);" (assignment_expression "pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe)" (identifier "pcVar2") (= "=") (cast_expression "(char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_nl_langinfo_001462c0)(0xe)" (parenthesized_expression "(*(code *)PTR_nl_langinfo_001462c0)" (( "(") (pointer_expression "*(code *)PTR_nl_langinfo_001462c0" (* "*") (cast_expression "(code *)PTR_nl_langinfo_001462c0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_nl_langinfo_001462c0"))) () ")")) (argument_list "(0xe)" (( "(") (number_literal "0xe") () ")"))))) (; ";")) (if_statement "if (*pcVar2 == 'U') {\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }" (if "if") (parenthesized_expression "(*pcVar2 == 'U')" (( "(") (binary_expression "*pcVar2 == 'U'" (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) (== "==") (char_literal "'U'" (' "'") (character "U") (' "'"))) () ")")) (compound_statement "{\n      iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);\n      uVar4 = (uint)(iVar3 == 0);\n      goto LAB_0010865c;\n    }" ({ "{") (expression_statement "iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_strcmp_00146548)\n                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930)" (parenthesized_expression "(*(code *)PTR_strcmp_00146548)" (( "(") (pointer_expression "*(code *)PTR_strcmp_00146548" (* "*") (cast_expression "(code *)PTR_strcmp_00146548" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_00146548"))) () ")")) (argument_list "(pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930)" (( "(") (identifier "pcVar2") (, ",") (binary_expression "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930" (identifier "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94") (+ "+") (number_literal "-0x6930")) () ")")))) (; ";")) (expression_statement "uVar4 = (uint)(iVar3 == 0);" (assignment_expression "uVar4 = (uint)(iVar3 == 0)" (identifier "uVar4") (= "=") (call_expression "(uint)(iVar3 == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")))) (; ";")) (goto_statement "goto LAB_0010865c;" (goto "goto") (statement_identifier "LAB_0010865c") (; ";")) (} "}"))) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" (identifier "uVar4") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*pcVar2 != 'u') goto LAB_0010865c;" (if "if") (parenthesized_expression "(*pcVar2 != 'u')" (( "(") (binary_expression "*pcVar2 != 'u'" (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) (!= "!=") (char_literal "'u'" (' "'") (character "u") (' "'"))) () ")")) (goto_statement "goto LAB_0010865c;" (goto "goto") (statement_identifier "LAB_0010865c") (; ";"))) (expression_statement "iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_strcmp_00146548)\n                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928)" (parenthesized_expression "(*(code *)PTR_strcmp_00146548)" (( "(") (pointer_expression "*(code *)PTR_strcmp_00146548" (* "*") (cast_expression "(code *)PTR_strcmp_00146548" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_00146548"))) () ")")) (argument_list "(pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928)" (( "(") (identifier "pcVar2") (, ",") (binary_expression "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928" (identifier "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94") (+ "+") (number_literal "-0x6928")) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar4 = 1;\n      goto LAB_0010865c;\n    }" ({ "{") (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" (identifier "uVar4") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0010865c;" (goto "goto") (statement_identifier "LAB_0010865c") (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" (identifier "uVar4") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0010865c:\n  *(uint *)PTR__rl_utf8locale_00145ff8 = uVar4;" (statement_identifier "LAB_0010865c") (: ":") (expression_statement "*(uint *)PTR__rl_utf8locale_00145ff8 = uVar4;" (assignment_expression "*(uint *)PTR__rl_utf8locale_00145ff8 = uVar4" (pointer_expression "*(uint *)PTR__rl_utf8locale_00145ff8" (* "*") (cast_expression "(uint *)PTR__rl_utf8locale_00145ff8" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__rl_utf8locale_00145ff8"))) (= "=") (identifier "uVar4")) (; ";"))) (return_statement "return pcVar1;" (return "return") (identifier "pcVar1") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type))))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence))))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (number_literal))))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) 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 (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier)))) (return_statement (identifier)))))

char * MASKED(void)

{
  char *pcVar1;
  char *pcVar2;
  int iVar3;
  uint uVar4;
  
  pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7360);
  if ((((pcVar1 == (char *)0x0) || (*pcVar1 == '\0')) &&
      ((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7374),
       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')))) &&
     (((pcVar1 = (char *)(*(code *)PTR_sh_get_env_value_00145ccc)(PTR_LAB_00144578 + 0x7358),
       pcVar1 == (char *)0x0 || (*pcVar1 == '\0')) &&
      (pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,0), pcVar1 == (char *)0x0)))) {
    pcVar1 = PTR_DAT_001445ac + -0x6800;
  }
  pcVar1 = (char *)(*(code *)PTR_setlocale_001462bc)(0,pcVar1);
  if ((pcVar1 != (char *)0x0) && (*pcVar1 != '\0')) {
    pcVar2 = (char *)(*(code *)PTR_nl_langinfo_001462c0)(0xe);
    if (*pcVar2 == 'U') {
      iVar3 = (*(code *)PTR_strcmp_00146548)
                        (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6930);
      uVar4 = (uint)(iVar3 == 0);
      goto LAB_0010865c;
    }
    uVar4 = 0;
    if (*pcVar2 != 'u') goto LAB_0010865c;
    iVar3 = (*(code *)PTR_strcmp_00146548)
                      (pcVar2,PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6928);
    if (iVar3 == 0) {
      uVar4 = 1;
      goto LAB_0010865c;
    }
  }
  uVar4 = 0;
LAB_0010865c:
  *(uint *)PTR__rl_utf8locale_00145ff8 = uVar4;
  return pcVar1;
}

