
bfd_vma parse_vma(char *s,char *arg)

{
  bfd_vma bVar1;
  char *format;
  char *end;
  
  bVar1 = bfd_scan_vma(s,&end,0);
  if (*end == '\0') {
    return bVar1;
  }
  format = (char *)dcgettext(0,"%s: bad number: %s",5);
                    /* WARNING: Subroutine does not return */
  fatal(format,arg,s);
}



long FUN_00103bf0(undefined8 param_1,undefined8 param_2)

{
  int iVar1;
  long lVar2;
  char *__filename;
  int *piVar3;
  undefined8 uVar4;
  char *pcVar5;
  stat sStack_d0;
  undefined8 uStack_38;
  undefined8 uStack_30;
  char *local_20 [2];
  
  uStack_30 = 0x103c08;
  lVar2 = bfd_scan_vma(param_1,local_20,0);
  if (*local_20[0] == '\0') {
    return lVar2;
  }
  uStack_30 = 0x103c2c;
  __filename = (char *)dcgettext(0,"%s: bad number: %s",5);
  uStack_30 = 0x103c3c;
  FUN_00103330(__filename,param_2,param_1);
  if (__filename != (char *)0x0) {
    uStack_38 = param_1;
    uStack_30 = param_2;
    iVar1 = __xstat(1,__filename,&sStack_d0);
    if (iVar1 < 0) {
      piVar3 = __errno_location();
      pcVar5 = "\'%s\': No such file";
      if (*piVar3 != 2) {
        pcVar5 = strerror(*piVar3);
        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);
        FUN_001033d0(uVar4,__filename,pcVar5);
        return -1;
      }
    }
    else if ((sStack_d0.st_mode & 0xf000) == 0x4000) {
      pcVar5 = "Warning: \'%s\' is a directory";
    }
    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {
      if (-1 < sStack_d0.st_size) {
        return sStack_d0.st_size;
      }
      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";
    }
    else {
      pcVar5 = "Warning: \'%s\' is not an ordinary file";
    }
    uVar4 = dcgettext(0,pcVar5,5);
    FUN_001033d0(uVar4,__filename);
    return -1;
  }
  return -1;
}


PUSH RBP
XOR EDX,EDX
MOV RBP,RSI
PUSH RBX
MOV RBX,RDI
SUB RSP,0x18
LEA RSI,[RSP + 0x8]
CALL 0x00102070
MOV RDX,qword ptr [RSP + 0x8]
CMP byte ptr [RDX],0x0
JNZ 0x00103c19
ADD RSP,0x18
POP RBX
POP RBP
RET
MOV EDX,0x5
LEA RSI,[0x105800]
XOR EDI,EDI
CALL 0x00102180
MOV RDX,RBX
MOV RSI,RBP
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00103330
NOP dword ptr [RAX]
(translation_unit "long FUN_00103bf0(undefined8 param_1,undefined8 param_2)\n\n{\n  int iVar1;\n  long lVar2;\n  char *__filename;\n  int *piVar3;\n  undefined8 uVar4;\n  char *pcVar5;\n  stat sStack_d0;\n  undefined8 uStack_38;\n  undefined8 uStack_30;\n  char *local_20 [2];\n  \n  uStack_30 = 0x103c08;\n  lVar2 = bfd_scan_vma(param_1,local_20,0);\n  if (*local_20[0] == '\0') {\n    return lVar2;\n  }\n  uStack_30 = 0x103c2c;\n  __filename = (char *)dcgettext(0,"%s: bad number: %s",5);\n  uStack_30 = 0x103c3c;\n  FUN_00103330(__filename,param_2,param_1);\n  if (__filename != (char *)0x0) {\n    uStack_38 = param_1;\n    uStack_30 = param_2;\n    iVar1 = __xstat(1,__filename,&sStack_d0);\n    if (iVar1 < 0) {\n      piVar3 = __errno_location();\n      pcVar5 = "\'%s\': No such file";\n      if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_001033d0(uVar4,__filename);\n    return -1;\n  }\n  return -1;\n}\n\n" (function_definition "long FUN_00103bf0(undefined8 param_1,undefined8 param_2)\n\n{\n  int iVar1;\n  long lVar2;\n  char *__filename;\n  int *piVar3;\n  undefined8 uVar4;\n  char *pcVar5;\n  stat sStack_d0;\n  undefined8 uStack_38;\n  undefined8 uStack_30;\n  char *local_20 [2];\n  \n  uStack_30 = 0x103c08;\n  lVar2 = bfd_scan_vma(param_1,local_20,0);\n  if (*local_20[0] == '\0') {\n    return lVar2;\n  }\n  uStack_30 = 0x103c2c;\n  __filename = (char *)dcgettext(0,"%s: bad number: %s",5);\n  uStack_30 = 0x103c3c;\n  FUN_00103330(__filename,param_2,param_1);\n  if (__filename != (char *)0x0) {\n    uStack_38 = param_1;\n    uStack_30 = param_2;\n    iVar1 = __xstat(1,__filename,&sStack_d0);\n    if (iVar1 < 0) {\n      piVar3 = __errno_location();\n      pcVar5 = "\'%s\': No such file";\n      if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_001033d0(uVar4,__filename);\n    return -1;\n  }\n  return -1;\n}" (sized_type_specifier "long" long) (function_declarator "FUN_00103bf0(undefined8 param_1,undefined8 param_2)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  long lVar2;\n  char *__filename;\n  int *piVar3;\n  undefined8 uVar4;\n  char *pcVar5;\n  stat sStack_d0;\n  undefined8 uStack_38;\n  undefined8 uStack_30;\n  char *local_20 [2];\n  \n  uStack_30 = 0x103c08;\n  lVar2 = bfd_scan_vma(param_1,local_20,0);\n  if (*local_20[0] == '\0') {\n    return lVar2;\n  }\n  uStack_30 = 0x103c2c;\n  __filename = (char *)dcgettext(0,"%s: bad number: %s",5);\n  uStack_30 = 0x103c3c;\n  FUN_00103330(__filename,param_2,param_1);\n  if (__filename != (char *)0x0) {\n    uStack_38 = param_1;\n    uStack_30 = param_2;\n    iVar1 = __xstat(1,__filename,&sStack_d0);\n    if (iVar1 < 0) {\n      piVar3 = __errno_location();\n      pcVar5 = "\'%s\': No such file";\n      if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_001033d0(uVar4,__filename);\n    return -1;\n  }\n  return -1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "char *__filename;" primitive_type (pointer_declarator "*__filename" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "stat sStack_d0;" type_identifier identifier ;) (declaration "undefined8 uStack_38;" type_identifier identifier ;) (declaration "undefined8 uStack_30;" type_identifier identifier ;) (declaration "char *local_20 [2];" primitive_type (pointer_declarator "*local_20 [2]" * (array_declarator "local_20 [2]" identifier [ number_literal ])) ;) (expression_statement "uStack_30 = 0x103c08;" (assignment_expression "uStack_30 = 0x103c08" identifier = number_literal) ;) (expression_statement "lVar2 = bfd_scan_vma(param_1,local_20,0);" (assignment_expression "lVar2 = bfd_scan_vma(param_1,local_20,0)" identifier = (call_expression "bfd_scan_vma(param_1,local_20,0)" identifier (argument_list "(param_1,local_20,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (*local_20[0] == '\0') {\n    return lVar2;\n  }" if (parenthesized_expression "(*local_20[0] == '\0')" ( (binary_expression "*local_20[0] == '\0'" (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return lVar2;\n  }" { (return_statement "return lVar2;" return identifier ;) })) (expression_statement "uStack_30 = 0x103c2c;" (assignment_expression "uStack_30 = 0x103c2c" identifier = number_literal) ;) (expression_statement "__filename = (char *)dcgettext(0,"%s: bad number: %s",5);" (assignment_expression "__filename = (char *)dcgettext(0,"%s: bad number: %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s: bad number: %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s: bad number: %s",5)" identifier (argument_list "(0,"%s: bad number: %s",5)" ( number_literal , (string_literal ""%s: bad number: %s"" " string_content ") , number_literal ))))) ;) (expression_statement "uStack_30 = 0x103c3c;" (assignment_expression "uStack_30 = 0x103c3c" identifier = number_literal) ;) (expression_statement "FUN_00103330(__filename,param_2,param_1);" (call_expression "FUN_00103330(__filename,param_2,param_1)" identifier (argument_list "(__filename,param_2,param_1)" ( identifier , identifier , identifier ))) ;) (if_statement "if (__filename != (char *)0x0) {\n    uStack_38 = param_1;\n    uStack_30 = param_2;\n    iVar1 = __xstat(1,__filename,&sStack_d0);\n    if (iVar1 < 0) {\n      piVar3 = __errno_location();\n      pcVar5 = "\'%s\': No such file";\n      if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_001033d0(uVar4,__filename);\n    return -1;\n  }" if (parenthesized_expression "(__filename != (char *)0x0)" ( (binary_expression "__filename != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uStack_38 = param_1;\n    uStack_30 = param_2;\n    iVar1 = __xstat(1,__filename,&sStack_d0);\n    if (iVar1 < 0) {\n      piVar3 = __errno_location();\n      pcVar5 = "\'%s\': No such file";\n      if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_001033d0(uVar4,__filename);\n    return -1;\n  }" { (expression_statement "uStack_38 = param_1;" (assignment_expression "uStack_38 = param_1" identifier = identifier) ;) (expression_statement "uStack_30 = param_2;" (assignment_expression "uStack_30 = param_2" identifier = identifier) ;) (expression_statement "iVar1 = __xstat(1,__filename,&sStack_d0);" (assignment_expression "iVar1 = __xstat(1,__filename,&sStack_d0)" identifier = (call_expression "__xstat(1,__filename,&sStack_d0)" identifier (argument_list "(1,__filename,&sStack_d0)" ( number_literal , identifier , (pointer_expression "&sStack_d0" & identifier) )))) ;) (if_statement "if (iVar1 < 0) {\n      piVar3 = __errno_location();\n      pcVar5 = "\'%s\': No such file";\n      if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }" if (parenthesized_expression "(iVar1 < 0)" ( (binary_expression "iVar1 < 0" identifier < number_literal) )) (compound_statement "{\n      piVar3 = __errno_location();\n      pcVar5 = "\'%s\': No such file";\n      if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }\n    }" { (expression_statement "piVar3 = __errno_location();" (assignment_expression "piVar3 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar5 = "\'%s\': No such file";" (assignment_expression "pcVar5 = "\'%s\': No such file"" identifier = (string_literal ""\'%s\': No such file"" " escape_sequence string_content escape_sequence string_content ")) ;) (if_statement "if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }" if (parenthesized_expression "(*piVar3 != 2)" ( (binary_expression "*piVar3 != 2" (pointer_expression "*piVar3" * identifier) != number_literal) )) (compound_statement "{\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }" { (expression_statement "pcVar5 = strerror(*piVar3);" (assignment_expression "pcVar5 = strerror(*piVar3)" identifier = (call_expression "strerror(*piVar3)" identifier (argument_list "(*piVar3)" ( (pointer_expression "*piVar3" * identifier) )))) ;) (expression_statement "uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);" (assignment_expression "uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5)" identifier = (call_expression "dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5)" identifier (argument_list "(0,"Warning: could not locate \'%s\'.  reason: %s",5)" ( number_literal , (string_literal ""Warning: could not locate \'%s\'.  reason: %s"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_001033d0(uVar4,__filename,pcVar5);" (call_expression "FUN_001033d0(uVar4,__filename,pcVar5)" identifier (argument_list "(uVar4,__filename,pcVar5)" ( identifier , identifier , identifier ))) ;) (return_statement "return -1;" return number_literal ;) })) }) (else_clause "else if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }" else (if_statement "if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }" if (parenthesized_expression "((sStack_d0.st_mode & 0xf000) == 0x4000)" ( (binary_expression "(sStack_d0.st_mode & 0xf000) == 0x4000" (parenthesized_expression "(sStack_d0.st_mode & 0xf000)" ( (binary_expression "sStack_d0.st_mode & 0xf000" (field_expression "sStack_d0.st_mode" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }" { (expression_statement "pcVar5 = "Warning: \'%s\' is a directory";" (assignment_expression "pcVar5 = "Warning: \'%s\' is a directory"" identifier = (string_literal ""Warning: \'%s\' is a directory"" " string_content escape_sequence string_content escape_sequence string_content ")) ;) }) (else_clause "else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }" else (if_statement "if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }" if (parenthesized_expression "((sStack_d0.st_mode & 0xf000) == 0x8000)" ( (binary_expression "(sStack_d0.st_mode & 0xf000) == 0x8000" (parenthesized_expression "(sStack_d0.st_mode & 0xf000)" ( (binary_expression "sStack_d0.st_mode & 0xf000" (field_expression "sStack_d0.st_mode" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }" { (if_statement "if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }" if (parenthesized_expression "(-1 < sStack_d0.st_size)" ( (binary_expression "-1 < sStack_d0.st_size" number_literal < (field_expression "sStack_d0.st_size" identifier . field_identifier)) )) (compound_statement "{\n        return sStack_d0.st_size;\n      }" { (return_statement "return sStack_d0.st_size;" return (field_expression "sStack_d0.st_size" identifier . field_identifier) ;) })) (expression_statement "pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";" (assignment_expression "pcVar5 = "Warning: \'%s\' has negative size, probably it is too large"" identifier = (string_literal ""Warning: \'%s\' has negative size, probably it is too large"" " string_content escape_sequence string_content escape_sequence string_content ")) ;) }) (else_clause "else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }" else (compound_statement "{\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }" { (expression_statement "pcVar5 = "Warning: \'%s\' is not an ordinary file";" (assignment_expression "pcVar5 = "Warning: \'%s\' is not an ordinary file"" identifier = (string_literal ""Warning: \'%s\' is not an ordinary file"" " string_content escape_sequence string_content escape_sequence string_content ")) ;) }))))))) (expression_statement "uVar4 = dcgettext(0,pcVar5,5);" (assignment_expression "uVar4 = dcgettext(0,pcVar5,5)" identifier = (call_expression "dcgettext(0,pcVar5,5)" identifier (argument_list "(0,pcVar5,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_001033d0(uVar4,__filename);" (call_expression "FUN_001033d0(uVar4,__filename)" identifier (argument_list "(uVar4,__filename)" ( identifier , identifier ))) ;) (return_statement "return -1;" return number_literal ;) })) (return_statement "return -1;" return number_literal ;) })))
(translation_unit "bfd_vma parse_vma(char *s,char *arg)\n\n{\n  bfd_vma bVar1;\n  char *format;\n  char *end;\n  \n  bVar1 = bfd_scan_vma(s,&end,0);\n  if (*end == '\0') {\n    return bVar1;\n  }\n  format = (char *)dcgettext(0,"%s: bad number: %s",5);\n                    /* WARNING: Subroutine does not return */\n  fatal(format,arg,s);\n}\n\n" (function_definition "bfd_vma parse_vma(char *s,char *arg)\n\n{\n  bfd_vma bVar1;\n  char *format;\n  char *end;\n  \n  bVar1 = bfd_scan_vma(s,&end,0);\n  if (*end == '\0') {\n    return bVar1;\n  }\n  format = (char *)dcgettext(0,"%s: bad number: %s",5);\n                    /* WARNING: Subroutine does not return */\n  fatal(format,arg,s);\n}" type_identifier (function_declarator "parse_vma(char *s,char *arg)" identifier (parameter_list "(char *s,char *arg)" ( (parameter_declaration "char *s" primitive_type (pointer_declarator "*s" * identifier)) , (parameter_declaration "char *arg" primitive_type (pointer_declarator "*arg" * identifier)) ))) (compound_statement "{\n  bfd_vma bVar1;\n  char *format;\n  char *end;\n  \n  bVar1 = bfd_scan_vma(s,&end,0);\n  if (*end == '\0') {\n    return bVar1;\n  }\n  format = (char *)dcgettext(0,"%s: bad number: %s",5);\n                    /* WARNING: Subroutine does not return */\n  fatal(format,arg,s);\n}" { (declaration "bfd_vma bVar1;" type_identifier identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "char *end;" primitive_type (pointer_declarator "*end" * identifier) ;) (expression_statement "bVar1 = bfd_scan_vma(s,&end,0);" (assignment_expression "bVar1 = bfd_scan_vma(s,&end,0)" identifier = (call_expression "bfd_scan_vma(s,&end,0)" identifier (argument_list "(s,&end,0)" ( identifier , (pointer_expression "&end" & identifier) , number_literal )))) ;) (if_statement "if (*end == '\0') {\n    return bVar1;\n  }" if (parenthesized_expression "(*end == '\0')" ( (binary_expression "*end == '\0'" (pointer_expression "*end" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return bVar1;\n  }" { (return_statement "return bVar1;" return identifier ;) })) (expression_statement "format = (char *)dcgettext(0,"%s: bad number: %s",5);" (assignment_expression "format = (char *)dcgettext(0,"%s: bad number: %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s: bad number: %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s: bad number: %s",5)" identifier (argument_list "(0,"%s: bad number: %s",5)" ( number_literal , (string_literal ""%s: bad number: %s"" " string_content ") , number_literal ))))) ;) comment (expression_statement "fatal(format,arg,s);" (call_expression "fatal(format,arg,s)" identifier (argument_list "(format,arg,s)" ( identifier , identifier , identifier ))) ;) })))
(translation_unit "long FUN_00103bf0(undefined8 param_1,undefined8 param_2)\n\n{\n  int iVar1;\n  long lVar2;\n  char *__filename;\n  int *piVar3;\n  undefined8 uVar4;\n  char *pcVar5;\n  stat sStack_d0;\n  undefined8 uStack_38;\n  undefined8 uStack_30;\n  char *local_20 [2];\n  \n  uStack_30 = 0x103c08;\n  lVar2 = bfd_scan_vma(param_1,local_20,0);\n  if (*local_20[0] == '\0') {\n    return lVar2;\n  }\n  uStack_30 = 0x103c2c;\n  __filename = (char *)dcgettext(0,"%s: bad number: %s",5);\n  uStack_30 = 0x103c3c;\n  FUN_00103330(__filename,param_2,param_1);\n  if (__filename != (char *)0x0) {\n    uStack_38 = param_1;\n    uStack_30 = param_2;\n    iVar1 = __xstat(1,__filename,&sStack_d0);\n    if (iVar1 < 0) {\n      piVar3 = __errno_location();\n      pcVar5 = "\'%s\': No such file";\n      if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_001033d0(uVar4,__filename);\n    return -1;\n  }\n  return -1;\n}\n\n" (function_definition "long FUN_00103bf0(undefined8 param_1,undefined8 param_2)\n\n{\n  int iVar1;\n  long lVar2;\n  char *__filename;\n  int *piVar3;\n  undefined8 uVar4;\n  char *pcVar5;\n  stat sStack_d0;\n  undefined8 uStack_38;\n  undefined8 uStack_30;\n  char *local_20 [2];\n  \n  uStack_30 = 0x103c08;\n  lVar2 = bfd_scan_vma(param_1,local_20,0);\n  if (*local_20[0] == '\0') {\n    return lVar2;\n  }\n  uStack_30 = 0x103c2c;\n  __filename = (char *)dcgettext(0,"%s: bad number: %s",5);\n  uStack_30 = 0x103c3c;\n  FUN_00103330(__filename,param_2,param_1);\n  if (__filename != (char *)0x0) {\n    uStack_38 = param_1;\n    uStack_30 = param_2;\n    iVar1 = __xstat(1,__filename,&sStack_d0);\n    if (iVar1 < 0) {\n      piVar3 = __errno_location();\n      pcVar5 = "\'%s\': No such file";\n      if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_001033d0(uVar4,__filename);\n    return -1;\n  }\n  return -1;\n}" (sized_type_specifier "long" long) (function_declarator "FUN_00103bf0(undefined8 param_1,undefined8 param_2)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  long lVar2;\n  char *__filename;\n  int *piVar3;\n  undefined8 uVar4;\n  char *pcVar5;\n  stat sStack_d0;\n  undefined8 uStack_38;\n  undefined8 uStack_30;\n  char *local_20 [2];\n  \n  uStack_30 = 0x103c08;\n  lVar2 = bfd_scan_vma(param_1,local_20,0);\n  if (*local_20[0] == '\0') {\n    return lVar2;\n  }\n  uStack_30 = 0x103c2c;\n  __filename = (char *)dcgettext(0,"%s: bad number: %s",5);\n  uStack_30 = 0x103c3c;\n  FUN_00103330(__filename,param_2,param_1);\n  if (__filename != (char *)0x0) {\n    uStack_38 = param_1;\n    uStack_30 = param_2;\n    iVar1 = __xstat(1,__filename,&sStack_d0);\n    if (iVar1 < 0) {\n      piVar3 = __errno_location();\n      pcVar5 = "\'%s\': No such file";\n      if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_001033d0(uVar4,__filename);\n    return -1;\n  }\n  return -1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "char *__filename;" primitive_type (pointer_declarator "*__filename" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "stat sStack_d0;" type_identifier identifier ;) (declaration "undefined8 uStack_38;" type_identifier identifier ;) (declaration "undefined8 uStack_30;" type_identifier identifier ;) (declaration "char *local_20 [2];" primitive_type (pointer_declarator "*local_20 [2]" * (array_declarator "local_20 [2]" identifier [ number_literal ])) ;) (expression_statement "uStack_30 = 0x103c08;" (assignment_expression "uStack_30 = 0x103c08" identifier = number_literal) ;) (expression_statement "lVar2 = bfd_scan_vma(param_1,local_20,0);" (assignment_expression "lVar2 = bfd_scan_vma(param_1,local_20,0)" identifier = (call_expression "bfd_scan_vma(param_1,local_20,0)" identifier (argument_list "(param_1,local_20,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (*local_20[0] == '\0') {\n    return lVar2;\n  }" if (parenthesized_expression "(*local_20[0] == '\0')" ( (binary_expression "*local_20[0] == '\0'" (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return lVar2;\n  }" { (return_statement "return lVar2;" return identifier ;) })) (expression_statement "uStack_30 = 0x103c2c;" (assignment_expression "uStack_30 = 0x103c2c" identifier = number_literal) ;) (expression_statement "__filename = (char *)dcgettext(0,"%s: bad number: %s",5);" (assignment_expression "__filename = (char *)dcgettext(0,"%s: bad number: %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s: bad number: %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s: bad number: %s",5)" identifier (argument_list "(0,"%s: bad number: %s",5)" ( number_literal , (string_literal ""%s: bad number: %s"" " string_content ") , number_literal ))))) ;) (expression_statement "uStack_30 = 0x103c3c;" (assignment_expression "uStack_30 = 0x103c3c" identifier = number_literal) ;) (expression_statement "FUN_00103330(__filename,param_2,param_1);" (call_expression "FUN_00103330(__filename,param_2,param_1)" identifier (argument_list "(__filename,param_2,param_1)" ( identifier , identifier , identifier ))) ;) (if_statement "if (__filename != (char *)0x0) {\n    uStack_38 = param_1;\n    uStack_30 = param_2;\n    iVar1 = __xstat(1,__filename,&sStack_d0);\n    if (iVar1 < 0) {\n      piVar3 = __errno_location();\n      pcVar5 = "\'%s\': No such file";\n      if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_001033d0(uVar4,__filename);\n    return -1;\n  }" if (parenthesized_expression "(__filename != (char *)0x0)" ( (binary_expression "__filename != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uStack_38 = param_1;\n    uStack_30 = param_2;\n    iVar1 = __xstat(1,__filename,&sStack_d0);\n    if (iVar1 < 0) {\n      piVar3 = __errno_location();\n      pcVar5 = "\'%s\': No such file";\n      if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_001033d0(uVar4,__filename);\n    return -1;\n  }" { (expression_statement "uStack_38 = param_1;" (assignment_expression "uStack_38 = param_1" identifier = identifier) ;) (expression_statement "uStack_30 = param_2;" (assignment_expression "uStack_30 = param_2" identifier = identifier) ;) (expression_statement "iVar1 = __xstat(1,__filename,&sStack_d0);" (assignment_expression "iVar1 = __xstat(1,__filename,&sStack_d0)" identifier = (call_expression "__xstat(1,__filename,&sStack_d0)" identifier (argument_list "(1,__filename,&sStack_d0)" ( number_literal , identifier , (pointer_expression "&sStack_d0" & identifier) )))) ;) (if_statement "if (iVar1 < 0) {\n      piVar3 = __errno_location();\n      pcVar5 = "\'%s\': No such file";\n      if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }" if (parenthesized_expression "(iVar1 < 0)" ( (binary_expression "iVar1 < 0" identifier < number_literal) )) (compound_statement "{\n      piVar3 = __errno_location();\n      pcVar5 = "\'%s\': No such file";\n      if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }\n    }" { (expression_statement "piVar3 = __errno_location();" (assignment_expression "piVar3 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar5 = "\'%s\': No such file";" (assignment_expression "pcVar5 = "\'%s\': No such file"" identifier = (string_literal ""\'%s\': No such file"" " escape_sequence string_content escape_sequence string_content ")) ;) (if_statement "if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }" if (parenthesized_expression "(*piVar3 != 2)" ( (binary_expression "*piVar3 != 2" (pointer_expression "*piVar3" * identifier) != number_literal) )) (compound_statement "{\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }" { (expression_statement "pcVar5 = strerror(*piVar3);" (assignment_expression "pcVar5 = strerror(*piVar3)" identifier = (call_expression "strerror(*piVar3)" identifier (argument_list "(*piVar3)" ( (pointer_expression "*piVar3" * identifier) )))) ;) (expression_statement "uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);" (assignment_expression "uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5)" identifier = (call_expression "dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5)" identifier (argument_list "(0,"Warning: could not locate \'%s\'.  reason: %s",5)" ( number_literal , (string_literal ""Warning: could not locate \'%s\'.  reason: %s"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_001033d0(uVar4,__filename,pcVar5);" (call_expression "FUN_001033d0(uVar4,__filename,pcVar5)" identifier (argument_list "(uVar4,__filename,pcVar5)" ( identifier , identifier , identifier ))) ;) (return_statement "return -1;" return number_literal ;) })) }) (else_clause "else if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }" else (if_statement "if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }" if (parenthesized_expression "((sStack_d0.st_mode & 0xf000) == 0x4000)" ( (binary_expression "(sStack_d0.st_mode & 0xf000) == 0x4000" (parenthesized_expression "(sStack_d0.st_mode & 0xf000)" ( (binary_expression "sStack_d0.st_mode & 0xf000" (field_expression "sStack_d0.st_mode" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }" { (expression_statement "pcVar5 = "Warning: \'%s\' is a directory";" (assignment_expression "pcVar5 = "Warning: \'%s\' is a directory"" identifier = (string_literal ""Warning: \'%s\' is a directory"" " string_content escape_sequence string_content escape_sequence string_content ")) ;) }) (else_clause "else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }" else (if_statement "if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }" if (parenthesized_expression "((sStack_d0.st_mode & 0xf000) == 0x8000)" ( (binary_expression "(sStack_d0.st_mode & 0xf000) == 0x8000" (parenthesized_expression "(sStack_d0.st_mode & 0xf000)" ( (binary_expression "sStack_d0.st_mode & 0xf000" (field_expression "sStack_d0.st_mode" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }" { (if_statement "if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }" if (parenthesized_expression "(-1 < sStack_d0.st_size)" ( (binary_expression "-1 < sStack_d0.st_size" number_literal < (field_expression "sStack_d0.st_size" identifier . field_identifier)) )) (compound_statement "{\n        return sStack_d0.st_size;\n      }" { (return_statement "return sStack_d0.st_size;" return (field_expression "sStack_d0.st_size" identifier . field_identifier) ;) })) (expression_statement "pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";" (assignment_expression "pcVar5 = "Warning: \'%s\' has negative size, probably it is too large"" identifier = (string_literal ""Warning: \'%s\' has negative size, probably it is too large"" " string_content escape_sequence string_content escape_sequence string_content ")) ;) }) (else_clause "else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }" else (compound_statement "{\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }" { (expression_statement "pcVar5 = "Warning: \'%s\' is not an ordinary file";" (assignment_expression "pcVar5 = "Warning: \'%s\' is not an ordinary file"" identifier = (string_literal ""Warning: \'%s\' is not an ordinary file"" " string_content escape_sequence string_content escape_sequence string_content ")) ;) }))))))) (expression_statement "uVar4 = dcgettext(0,pcVar5,5);" (assignment_expression "uVar4 = dcgettext(0,pcVar5,5)" identifier = (call_expression "dcgettext(0,pcVar5,5)" identifier (argument_list "(0,pcVar5,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_001033d0(uVar4,__filename);" (call_expression "FUN_001033d0(uVar4,__filename)" identifier (argument_list "(uVar4,__filename)" ( identifier , identifier ))) ;) (return_statement "return -1;" return number_literal ;) })) (return_statement "return -1;" return number_literal ;) })))
(translation_unit (function_definition (sized_type_specifier long) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " escape_sequence string_content escape_sequence string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (return_statement return LIT ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content escape_sequence string_content ")) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (field_expression IDENT . field_identifier)) )) (compound_statement { (return_statement return (field_expression IDENT . field_identifier) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content escape_sequence string_content ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content escape_sequence string_content ")) ;) }))))))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return LIT ;) })) (return_statement return LIT ;) })))
(function_definition "long FUN_00103bf0(undefined8 param_1,undefined8 param_2)\n\n{\n  int iVar1;\n  long lVar2;\n  char *__filename;\n  int *piVar3;\n  undefined8 uVar4;\n  char *pcVar5;\n  stat sStack_d0;\n  undefined8 uStack_38;\n  undefined8 uStack_30;\n  char *local_20 [2];\n  \n  uStack_30 = 0x103c08;\n  lVar2 = bfd_scan_vma(param_1,local_20,0);\n  if (*local_20[0] == '\0') {\n    return lVar2;\n  }\n  uStack_30 = 0x103c2c;\n  __filename = (char *)dcgettext(0,"%s: bad number: %s",5);\n  uStack_30 = 0x103c3c;\n  FUN_00103330(__filename,param_2,param_1);\n  if (__filename != (char *)0x0) {\n    uStack_38 = param_1;\n    uStack_30 = param_2;\n    iVar1 = __xstat(1,__filename,&sStack_d0);\n    if (iVar1 < 0) {\n      piVar3 = __errno_location();\n      pcVar5 = "\'%s\': No such file";\n      if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_001033d0(uVar4,__filename);\n    return -1;\n  }\n  return -1;\n}" (sized_type_specifier "long" (long "long")) (function_declarator "FUN_00103bf0(undefined8 param_1,undefined8 param_2)" (identifier "FUN_00103bf0") (parameter_list "(undefined8 param_1,undefined8 param_2)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) () ")"))) (compound_statement "{\n  int iVar1;\n  long lVar2;\n  char *__filename;\n  int *piVar3;\n  undefined8 uVar4;\n  char *pcVar5;\n  stat sStack_d0;\n  undefined8 uStack_38;\n  undefined8 uStack_30;\n  char *local_20 [2];\n  \n  uStack_30 = 0x103c08;\n  lVar2 = bfd_scan_vma(param_1,local_20,0);\n  if (*local_20[0] == '\0') {\n    return lVar2;\n  }\n  uStack_30 = 0x103c2c;\n  __filename = (char *)dcgettext(0,"%s: bad number: %s",5);\n  uStack_30 = 0x103c3c;\n  FUN_00103330(__filename,param_2,param_1);\n  if (__filename != (char *)0x0) {\n    uStack_38 = param_1;\n    uStack_30 = param_2;\n    iVar1 = __xstat(1,__filename,&sStack_d0);\n    if (iVar1 < 0) {\n      piVar3 = __errno_location();\n      pcVar5 = "\'%s\': No such file";\n      if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_001033d0(uVar4,__filename);\n    return -1;\n  }\n  return -1;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "long lVar2;" (sized_type_specifier "long" (long "long")) (identifier "lVar2") (; ";")) (declaration "char *__filename;" (primitive_type "char") (pointer_declarator "*__filename" (* "*") (identifier "__filename")) (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "undefined8 uVar4;" (type_identifier "undefined8") (identifier "uVar4") (; ";")) (declaration "char *pcVar5;" (primitive_type "char") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "stat sStack_d0;" (type_identifier "stat") (identifier "sStack_d0") (; ";")) (declaration "undefined8 uStack_38;" (type_identifier "undefined8") (identifier "uStack_38") (; ";")) (declaration "undefined8 uStack_30;" (type_identifier "undefined8") (identifier "uStack_30") (; ";")) (declaration "char *local_20 [2];" (primitive_type "char") (pointer_declarator "*local_20 [2]" (* "*") (array_declarator "local_20 [2]" (identifier "local_20") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uStack_30 = 0x103c08;" (assignment_expression "uStack_30 = 0x103c08" (identifier "uStack_30") (= "=") (number_literal "0x103c08")) (; ";")) (expression_statement "lVar2 = bfd_scan_vma(param_1,local_20,0);" (assignment_expression "lVar2 = bfd_scan_vma(param_1,local_20,0)" (identifier "lVar2") (= "=") (call_expression "bfd_scan_vma(param_1,local_20,0)" (identifier "bfd_scan_vma") (argument_list "(param_1,local_20,0)" (( "(") (identifier "param_1") (, ",") (identifier "local_20") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (*local_20[0] == '\0') {\n    return lVar2;\n  }" (if "if") (parenthesized_expression "(*local_20[0] == '\0')" (( "(") (binary_expression "*local_20[0] == '\0'" (pointer_expression "*local_20[0]" (* "*") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    return lVar2;\n  }" ({ "{") (return_statement "return lVar2;" (return "return") (identifier "lVar2") (; ";")) (} "}"))) (expression_statement "uStack_30 = 0x103c2c;" (assignment_expression "uStack_30 = 0x103c2c" (identifier "uStack_30") (= "=") (number_literal "0x103c2c")) (; ";")) (expression_statement "__filename = (char *)dcgettext(0,"%s: bad number: %s",5);" (assignment_expression "__filename = (char *)dcgettext(0,"%s: bad number: %s",5)" (identifier "__filename") (= "=") (cast_expression "(char *)dcgettext(0,"%s: bad number: %s",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"%s: bad number: %s",5)" (identifier "dcgettext") (argument_list "(0,"%s: bad number: %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s: bad number: %s"" (" """) (string_content "%s: bad number: %s") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "uStack_30 = 0x103c3c;" (assignment_expression "uStack_30 = 0x103c3c" (identifier "uStack_30") (= "=") (number_literal "0x103c3c")) (; ";")) (expression_statement "FUN_00103330(__filename,param_2,param_1);" (call_expression "FUN_00103330(__filename,param_2,param_1)" (identifier "FUN_00103330") (argument_list "(__filename,param_2,param_1)" (( "(") (identifier "__filename") (, ",") (identifier "param_2") (, ",") (identifier "param_1") () ")"))) (; ";")) (if_statement "if (__filename != (char *)0x0) {\n    uStack_38 = param_1;\n    uStack_30 = param_2;\n    iVar1 = __xstat(1,__filename,&sStack_d0);\n    if (iVar1 < 0) {\n      piVar3 = __errno_location();\n      pcVar5 = "\'%s\': No such file";\n      if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_001033d0(uVar4,__filename);\n    return -1;\n  }" (if "if") (parenthesized_expression "(__filename != (char *)0x0)" (( "(") (binary_expression "__filename != (char *)0x0" (identifier "__filename") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    uStack_38 = param_1;\n    uStack_30 = param_2;\n    iVar1 = __xstat(1,__filename,&sStack_d0);\n    if (iVar1 < 0) {\n      piVar3 = __errno_location();\n      pcVar5 = "\'%s\': No such file";\n      if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_001033d0(uVar4,__filename);\n    return -1;\n  }" ({ "{") (expression_statement "uStack_38 = param_1;" (assignment_expression "uStack_38 = param_1" (identifier "uStack_38") (= "=") (identifier "param_1")) (; ";")) (expression_statement "uStack_30 = param_2;" (assignment_expression "uStack_30 = param_2" (identifier "uStack_30") (= "=") (identifier "param_2")) (; ";")) (expression_statement "iVar1 = __xstat(1,__filename,&sStack_d0);" (assignment_expression "iVar1 = __xstat(1,__filename,&sStack_d0)" (identifier "iVar1") (= "=") (call_expression "__xstat(1,__filename,&sStack_d0)" (identifier "__xstat") (argument_list "(1,__filename,&sStack_d0)" (( "(") (number_literal "1") (, ",") (identifier "__filename") (, ",") (pointer_expression "&sStack_d0" (& "&") (identifier "sStack_d0")) () ")")))) (; ";")) (if_statement "if (iVar1 < 0) {\n      piVar3 = __errno_location();\n      pcVar5 = "\'%s\': No such file";\n      if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }" (if "if") (parenthesized_expression "(iVar1 < 0)" (( "(") (binary_expression "iVar1 < 0" (identifier "iVar1") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      piVar3 = __errno_location();\n      pcVar5 = "\'%s\': No such file";\n      if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }\n    }" ({ "{") (expression_statement "piVar3 = __errno_location();" (assignment_expression "piVar3 = __errno_location()" (identifier "piVar3") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar5 = "\'%s\': No such file";" (assignment_expression "pcVar5 = "\'%s\': No such file"" (identifier "pcVar5") (= "=") (string_literal ""\'%s\': No such file"" (" """) (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content ": No such file") (" """))) (; ";")) (if_statement "if (*piVar3 != 2) {\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }" (if "if") (parenthesized_expression "(*piVar3 != 2)" (( "(") (binary_expression "*piVar3 != 2" (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n        pcVar5 = strerror(*piVar3);\n        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n        FUN_001033d0(uVar4,__filename,pcVar5);\n        return -1;\n      }" ({ "{") (expression_statement "pcVar5 = strerror(*piVar3);" (assignment_expression "pcVar5 = strerror(*piVar3)" (identifier "pcVar5") (= "=") (call_expression "strerror(*piVar3)" (identifier "strerror") (argument_list "(*piVar3)" (( "(") (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) () ")")))) (; ";")) (expression_statement "uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);" (assignment_expression "uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5)" (identifier "dcgettext") (argument_list "(0,"Warning: could not locate \'%s\'.  reason: %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Warning: could not locate \'%s\'.  reason: %s"" (" """) (string_content "Warning: could not locate ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content ".  reason: %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_001033d0(uVar4,__filename,pcVar5);" (call_expression "FUN_001033d0(uVar4,__filename,pcVar5)" (identifier "FUN_001033d0") (argument_list "(uVar4,__filename,pcVar5)" (( "(") (identifier "uVar4") (, ",") (identifier "__filename") (, ",") (identifier "pcVar5") () ")"))) (; ";")) (return_statement "return -1;" (return "return") (number_literal "-1") (; ";")) (} "}"))) (} "}")) (else_clause "else if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }" (else "else") (if_statement "if ((sStack_d0.st_mode & 0xf000) == 0x4000) {\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }\n    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }" (if "if") (parenthesized_expression "((sStack_d0.st_mode & 0xf000) == 0x4000)" (( "(") (binary_expression "(sStack_d0.st_mode & 0xf000) == 0x4000" (parenthesized_expression "(sStack_d0.st_mode & 0xf000)" (( "(") (binary_expression "sStack_d0.st_mode & 0xf000" (field_expression "sStack_d0.st_mode" (identifier "sStack_d0") (. ".") (field_identifier "st_mode")) (& "&") (number_literal "0xf000")) () ")")) (== "==") (number_literal "0x4000")) () ")")) (compound_statement "{\n      pcVar5 = "Warning: \'%s\' is a directory";\n    }" ({ "{") (expression_statement "pcVar5 = "Warning: \'%s\' is a directory";" (assignment_expression "pcVar5 = "Warning: \'%s\' is a directory"" (identifier "pcVar5") (= "=") (string_literal ""Warning: \'%s\' is a directory"" (" """) (string_content "Warning: ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " is a directory") (" """))) (; ";")) (} "}")) (else_clause "else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }" (else "else") (if_statement "if ((sStack_d0.st_mode & 0xf000) == 0x8000) {\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }\n    else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }" (if "if") (parenthesized_expression "((sStack_d0.st_mode & 0xf000) == 0x8000)" (( "(") (binary_expression "(sStack_d0.st_mode & 0xf000) == 0x8000" (parenthesized_expression "(sStack_d0.st_mode & 0xf000)" (( "(") (binary_expression "sStack_d0.st_mode & 0xf000" (field_expression "sStack_d0.st_mode" (identifier "sStack_d0") (. ".") (field_identifier "st_mode")) (& "&") (number_literal "0xf000")) () ")")) (== "==") (number_literal "0x8000")) () ")")) (compound_statement "{\n      if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }\n      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";\n    }" ({ "{") (if_statement "if (-1 < sStack_d0.st_size) {\n        return sStack_d0.st_size;\n      }" (if "if") (parenthesized_expression "(-1 < sStack_d0.st_size)" (( "(") (binary_expression "-1 < sStack_d0.st_size" (number_literal "-1") (< "<") (field_expression "sStack_d0.st_size" (identifier "sStack_d0") (. ".") (field_identifier "st_size"))) () ")")) (compound_statement "{\n        return sStack_d0.st_size;\n      }" ({ "{") (return_statement "return sStack_d0.st_size;" (return "return") (field_expression "sStack_d0.st_size" (identifier "sStack_d0") (. ".") (field_identifier "st_size")) (; ";")) (} "}"))) (expression_statement "pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";" (assignment_expression "pcVar5 = "Warning: \'%s\' has negative size, probably it is too large"" (identifier "pcVar5") (= "=") (string_literal ""Warning: \'%s\' has negative size, probably it is too large"" (" """) (string_content "Warning: ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " has negative size, probably it is too large") (" """))) (; ";")) (} "}")) (else_clause "else {\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }" (else "else") (compound_statement "{\n      pcVar5 = "Warning: \'%s\' is not an ordinary file";\n    }" ({ "{") (expression_statement "pcVar5 = "Warning: \'%s\' is not an ordinary file";" (assignment_expression "pcVar5 = "Warning: \'%s\' is not an ordinary file"" (identifier "pcVar5") (= "=") (string_literal ""Warning: \'%s\' is not an ordinary file"" (" """) (string_content "Warning: ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " is not an ordinary file") (" """))) (; ";")) (} "}")))))))) (expression_statement "uVar4 = dcgettext(0,pcVar5,5);" (assignment_expression "uVar4 = dcgettext(0,pcVar5,5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,pcVar5,5)" (identifier "dcgettext") (argument_list "(0,pcVar5,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar5") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_001033d0(uVar4,__filename);" (call_expression "FUN_001033d0(uVar4,__filename)" (identifier "FUN_001033d0") (argument_list "(uVar4,__filename)" (( "(") (identifier "uVar4") (, ",") (identifier "__filename") () ")"))) (; ";")) (return_statement "return -1;" (return "return") (number_literal "-1") (; ";")) (} "}"))) (return_statement "return -1;" (return "return") (number_literal "-1") (; ";")) (} "}")))

type_1 function_1(char *s,char *arg)

{
  type_1 bVar1;
  char *format;
  char *end;
  
  bVar1 = var_1(s,&end,0);
  if (*end == '\0') {
    return bVar1;
  }
  format = (char *)var_2(0,"%s: bad number: %s",5);
                    /* WARNING: Subroutine does not return */
  var_3(format,arg,s);
}


(translation_unit (function_definition type: (sized_type_specifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (subscript_expression argument: (identifier) index: (number_literal))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (escape_sequence) (string_content) (escape_sequence) (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (return_statement (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (field_expression argument: (identifier) field: (field_identifier)))) consequence: (compound_statement (return_statement (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content))))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (return_statement (number_literal)))) (return_statement (number_literal)))))

long MASKED(undefined8 param_1,undefined8 param_2)

{
  int iVar1;
  long lVar2;
  char *__filename;
  int *piVar3;
  undefined8 uVar4;
  char *pcVar5;
  stat sStack_d0;
  undefined8 uStack_38;
  undefined8 uStack_30;
  char *local_20 [2];
  
  uStack_30 = 0x103c08;
  lVar2 = bfd_scan_vma(param_1,local_20,0);
  if (*local_20[0] == '\0') {
    return lVar2;
  }
  uStack_30 = 0x103c2c;
  __filename = (char *)dcgettext(0,"%s: bad number: %s",5);
  uStack_30 = 0x103c3c;
  FUN_00103330(__filename,param_2,param_1);
  if (__filename != (char *)0x0) {
    uStack_38 = param_1;
    uStack_30 = param_2;
    iVar1 = __xstat(1,__filename,&sStack_d0);
    if (iVar1 < 0) {
      piVar3 = __errno_location();
      pcVar5 = "\'%s\': No such file";
      if (*piVar3 != 2) {
        pcVar5 = strerror(*piVar3);
        uVar4 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);
        FUN_001033d0(uVar4,__filename,pcVar5);
        return -1;
      }
    }
    else if ((sStack_d0.st_mode & 0xf000) == 0x4000) {
      pcVar5 = "Warning: \'%s\' is a directory";
    }
    else if ((sStack_d0.st_mode & 0xf000) == 0x8000) {
      if (-1 < sStack_d0.st_size) {
        return sStack_d0.st_size;
      }
      pcVar5 = "Warning: \'%s\' has negative size, probably it is too large";
    }
    else {
      pcVar5 = "Warning: \'%s\' is not an ordinary file";
    }
    uVar4 = dcgettext(0,pcVar5,5);
    FUN_001033d0(uVar4,__filename);
    return -1;
  }
  return -1;
}

