
char * xstr_cd_iconv(char *src,iconv_t cd)

{
  char *pcVar1;
  int *piVar2;
  
  pcVar1 = str_cd_iconv(src,cd);
  if (pcVar1 == (char *)0x0) {
    piVar2 = __errno_location();
    if (*piVar2 == 0xc) {
                    /* WARNING: Subroutine does not return */
      xalloc_die();
    }
  }
  return pcVar1;
}



long FUN_0010672f(void)

{
  long lVar1;
  int *piVar2;
  
  lVar1 = FUN_0010a810();
  if (lVar1 == 0) {
    piVar2 = __errno_location();
    if (*piVar2 == 0xc) {
                    /* WARNING: Subroutine does not return */
      FUN_001065c3();
    }
  }
  return lVar1;
}


PUSH RBX
CALL 0x0010a810
MOV RBX,RAX
TEST RAX,RAX
JZ 0x00106742
MOV RAX,RBX
POP RBX
RET
CALL 0x00102060
CMP dword ptr [RAX],0xc
JNZ 0x0010673d
CALL 0x001065c3
(translation_unit "long FUN_0010672f(void)\n\n{\n  long lVar1;\n  int *piVar2;\n  \n  lVar1 = FUN_0010a810();\n  if (lVar1 == 0) {\n    piVar2 = __errno_location();\n    if (*piVar2 == 0xc) {\n                    /* WARNING: Subroutine does not return */\n      FUN_001065c3();\n    }\n  }\n  return lVar1;\n}\n\n" (function_definition "long FUN_0010672f(void)\n\n{\n  long lVar1;\n  int *piVar2;\n  \n  lVar1 = FUN_0010a810();\n  if (lVar1 == 0) {\n    piVar2 = __errno_location();\n    if (*piVar2 == 0xc) {\n                    /* WARNING: Subroutine does not return */\n      FUN_001065c3();\n    }\n  }\n  return lVar1;\n}" (sized_type_specifier "long" long) (function_declarator "FUN_0010672f(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  long lVar1;\n  int *piVar2;\n  \n  lVar1 = FUN_0010a810();\n  if (lVar1 == 0) {\n    piVar2 = __errno_location();\n    if (*piVar2 == 0xc) {\n                    /* WARNING: Subroutine does not return */\n      FUN_001065c3();\n    }\n  }\n  return lVar1;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (expression_statement "lVar1 = FUN_0010a810();" (assignment_expression "lVar1 = FUN_0010a810()" identifier = (call_expression "FUN_0010a810()" identifier (argument_list "()" ( )))) ;) (if_statement "if (lVar1 == 0) {\n    piVar2 = __errno_location();\n    if (*piVar2 == 0xc) {\n                    /* WARNING: Subroutine does not return */\n      FUN_001065c3();\n    }\n  }" if (parenthesized_expression "(lVar1 == 0)" ( (binary_expression "lVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    piVar2 = __errno_location();\n    if (*piVar2 == 0xc) {\n                    /* WARNING: Subroutine does not return */\n      FUN_001065c3();\n    }\n  }" { (expression_statement "piVar2 = __errno_location();" (assignment_expression "piVar2 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar2 == 0xc) {\n                    /* WARNING: Subroutine does not return */\n      FUN_001065c3();\n    }" if (parenthesized_expression "(*piVar2 == 0xc)" ( (binary_expression "*piVar2 == 0xc" (pointer_expression "*piVar2" * identifier) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_001065c3();\n    }" { comment (expression_statement "FUN_001065c3();" (call_expression "FUN_001065c3()" identifier (argument_list "()" ( ))) ;) })) })) (return_statement "return lVar1;" return identifier ;) })))
(translation_unit "char * xstr_cd_iconv(char *src,iconv_t cd)\n\n{\n  char *pcVar1;\n  int *piVar2;\n  \n  pcVar1 = str_cd_iconv(src,cd);\n  if (pcVar1 == (char *)0x0) {\n    piVar2 = __errno_location();\n    if (*piVar2 == 0xc) {\n                    /* WARNING: Subroutine does not return */\n      xalloc_die();\n    }\n  }\n  return pcVar1;\n}\n\n" (function_definition "char * xstr_cd_iconv(char *src,iconv_t cd)\n\n{\n  char *pcVar1;\n  int *piVar2;\n  \n  pcVar1 = str_cd_iconv(src,cd);\n  if (pcVar1 == (char *)0x0) {\n    piVar2 = __errno_location();\n    if (*piVar2 == 0xc) {\n                    /* WARNING: Subroutine does not return */\n      xalloc_die();\n    }\n  }\n  return pcVar1;\n}" primitive_type (pointer_declarator "* xstr_cd_iconv(char *src,iconv_t cd)" * (function_declarator "xstr_cd_iconv(char *src,iconv_t cd)" identifier (parameter_list "(char *src,iconv_t cd)" ( (parameter_declaration "char *src" primitive_type (pointer_declarator "*src" * identifier)) , (parameter_declaration "iconv_t cd" type_identifier identifier) )))) (compound_statement "{\n  char *pcVar1;\n  int *piVar2;\n  \n  pcVar1 = str_cd_iconv(src,cd);\n  if (pcVar1 == (char *)0x0) {\n    piVar2 = __errno_location();\n    if (*piVar2 == 0xc) {\n                    /* WARNING: Subroutine does not return */\n      xalloc_die();\n    }\n  }\n  return pcVar1;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (expression_statement "pcVar1 = str_cd_iconv(src,cd);" (assignment_expression "pcVar1 = str_cd_iconv(src,cd)" identifier = (call_expression "str_cd_iconv(src,cd)" identifier (argument_list "(src,cd)" ( identifier , identifier )))) ;) (if_statement "if (pcVar1 == (char *)0x0) {\n    piVar2 = __errno_location();\n    if (*piVar2 == 0xc) {\n                    /* WARNING: Subroutine does not return */\n      xalloc_die();\n    }\n  }" if (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)) )) (compound_statement "{\n    piVar2 = __errno_location();\n    if (*piVar2 == 0xc) {\n                    /* WARNING: Subroutine does not return */\n      xalloc_die();\n    }\n  }" { (expression_statement "piVar2 = __errno_location();" (assignment_expression "piVar2 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar2 == 0xc) {\n                    /* WARNING: Subroutine does not return */\n      xalloc_die();\n    }" if (parenthesized_expression "(*piVar2 == 0xc)" ( (binary_expression "*piVar2 == 0xc" (pointer_expression "*piVar2" * identifier) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      xalloc_die();\n    }" { comment (expression_statement "xalloc_die();" (call_expression "xalloc_die()" identifier (argument_list "()" ( ))) ;) })) })) (return_statement "return pcVar1;" return identifier ;) })))
(translation_unit "long FUN_0010672f(void)\n\n{\n  long lVar1;\n  int *piVar2;\n  \n  lVar1 = FUN_0010a810();\n  if (lVar1 == 0) {\n    piVar2 = __errno_location();\n    if (*piVar2 == 0xc) {\n                    \n      FUN_001065c3();\n    }\n  }\n  return lVar1;\n}\n\n" (function_definition "long FUN_0010672f(void)\n\n{\n  long lVar1;\n  int *piVar2;\n  \n  lVar1 = FUN_0010a810();\n  if (lVar1 == 0) {\n    piVar2 = __errno_location();\n    if (*piVar2 == 0xc) {\n                    \n      FUN_001065c3();\n    }\n  }\n  return lVar1;\n}" (sized_type_specifier "long" long) (function_declarator "FUN_0010672f(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  long lVar1;\n  int *piVar2;\n  \n  lVar1 = FUN_0010a810();\n  if (lVar1 == 0) {\n    piVar2 = __errno_location();\n    if (*piVar2 == 0xc) {\n                    \n      FUN_001065c3();\n    }\n  }\n  return lVar1;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (expression_statement "lVar1 = FUN_0010a810();" (assignment_expression "lVar1 = FUN_0010a810()" identifier = (call_expression "FUN_0010a810()" identifier (argument_list "()" ( )))) ;) (if_statement "if (lVar1 == 0) {\n    piVar2 = __errno_location();\n    if (*piVar2 == 0xc) {\n                    \n      FUN_001065c3();\n    }\n  }" if (parenthesized_expression "(lVar1 == 0)" ( (binary_expression "lVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    piVar2 = __errno_location();\n    if (*piVar2 == 0xc) {\n                    \n      FUN_001065c3();\n    }\n  }" { (expression_statement "piVar2 = __errno_location();" (assignment_expression "piVar2 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar2 == 0xc) {\n                    \n      FUN_001065c3();\n    }" if (parenthesized_expression "(*piVar2 == 0xc)" ( (binary_expression "*piVar2 == 0xc" (pointer_expression "*piVar2" * identifier) == number_literal) )) (compound_statement "{\n                    \n      FUN_001065c3();\n    }" { (expression_statement "FUN_001065c3();" (call_expression "FUN_001065c3()" identifier (argument_list "()" ( ))) ;) })) })) (return_statement "return lVar1;" return identifier ;) })))
(translation_unit (function_definition (sized_type_specifier long) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) (return_statement return IDENT ;) })))
(function_definition "long FUN_0010672f(void)\n\n{\n  long lVar1;\n  int *piVar2;\n  \n  lVar1 = FUN_0010a810();\n  if (lVar1 == 0) {\n    piVar2 = __errno_location();\n    if (*piVar2 == 0xc) {\n                    \n      FUN_001065c3();\n    }\n  }\n  return lVar1;\n}" (sized_type_specifier "long" (long "long")) (function_declarator "FUN_0010672f(void)" (identifier "FUN_0010672f") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  long lVar1;\n  int *piVar2;\n  \n  lVar1 = FUN_0010a810();\n  if (lVar1 == 0) {\n    piVar2 = __errno_location();\n    if (*piVar2 == 0xc) {\n                    \n      FUN_001065c3();\n    }\n  }\n  return lVar1;\n}" ({ "{") (declaration "long lVar1;" (sized_type_specifier "long" (long "long")) (identifier "lVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (expression_statement "lVar1 = FUN_0010a810();" (assignment_expression "lVar1 = FUN_0010a810()" (identifier "lVar1") (= "=") (call_expression "FUN_0010a810()" (identifier "FUN_0010a810") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (lVar1 == 0) {\n    piVar2 = __errno_location();\n    if (*piVar2 == 0xc) {\n                    \n      FUN_001065c3();\n    }\n  }" (if "if") (parenthesized_expression "(lVar1 == 0)" (( "(") (binary_expression "lVar1 == 0" (identifier "lVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    piVar2 = __errno_location();\n    if (*piVar2 == 0xc) {\n                    \n      FUN_001065c3();\n    }\n  }" ({ "{") (expression_statement "piVar2 = __errno_location();" (assignment_expression "piVar2 = __errno_location()" (identifier "piVar2") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar2 == 0xc) {\n                    \n      FUN_001065c3();\n    }" (if "if") (parenthesized_expression "(*piVar2 == 0xc)" (( "(") (binary_expression "*piVar2 == 0xc" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (== "==") (number_literal "0xc")) () ")")) (compound_statement "{\n                    \n      FUN_001065c3();\n    }" ({ "{") (expression_statement "FUN_001065c3();" (call_expression "FUN_001065c3()" (identifier "FUN_001065c3") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (return_statement "return lVar1;" (return "return") (identifier "lVar1") (; ";")) (} "}")))

char * function_1(char *src,type_1 cd)

{
  char *var_2;
  int *piVar2;
  
  var_2 = var_1(src,cd);
  if (var_2 == (char *)0x0) {
    piVar2 = var_3();
    if (*piVar2 == 0xc) {
                    /* WARNING: Subroutine does not return */
      var_4();
    }
  }
  return var_2;
}


(translation_unit (function_definition type: (sized_type_specifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))) (return_statement (identifier)))))

long MASKED(void)

{
  long lVar1;
  int *piVar2;
  
  lVar1 = FUN_0010a810();
  if (lVar1 == 0) {
    piVar2 = __errno_location();
    if (*piVar2 == 0xc) {
                    /* WARNING: Subroutine does not return */
      FUN_001065c3();
    }
  }
  return lVar1;
}

