
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

int safe_atoi(char *s,quoting_style style)

{
  int *piVar1;
  long lVar2;
  char *pcVar3;
  char *pcVar4;
  char *pcVar5;
  undefined4 uVar6;
  int in_GS_OFFSET;
  char *end;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x24629;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  piVar1 = __errno_location();
  *piVar1 = 0;
  lVar2 = strtol(s,&end,10);
  if (0xfffffffd < lVar2 + 0x7fffffffU) {
    if (*piVar1 != 0x22) {
                    /* WARNING: Subroutine does not return */
      error(1,*piVar1,&DAT_00056495,s);
    }
                    /* WARNING: Subroutine does not return */
    error(1,0x22,&DAT_00056495,s);
  }
  if (*end != '\0') {
    pcVar5 = end;
    pcVar3 = quotearg_n_style(1,style,s);
    pcVar4 = quotearg_n_style(0,style,end);
    uVar6 = dcgettext(0,"Unexpected suffix %s on %s",5,pcVar5);
                    /* WARNING: Subroutine does not return */
    error(1,*piVar1,uVar6,pcVar4,pcVar3);
  }
  if (s != end) {
    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
      return lVar2;
    }
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail_local();
  }
  pcVar5 = quotearg_n_style(0,style,s);
  uVar6 = dcgettext(0,"Expected an integer: %s",5,lVar2);
                    /* WARNING: Subroutine does not return */
  error(1,*piVar1,uVar6,pcVar5);
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void FUN_00024620(char *param_1,undefined4 param_2)

{
  int *piVar1;
  long lVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  int in_GS_OFFSET;
  char *local_24;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x24629;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  piVar1 = __errno_location();
  *piVar1 = 0;
  lVar2 = strtol(param_1,&local_24,10);
  if (0xfffffffd < lVar2 + 0x7fffffffU) {
    if (*piVar1 != 0x22) {
                    /* WARNING: Subroutine does not return */
      error(1,*piVar1,&DAT_00056495,param_1);
    }
                    /* WARNING: Subroutine does not return */
    error(1,0x22,&DAT_00056495,param_1);
  }
  if (*local_24 != '\0') {
    uVar4 = FUN_000324c0(1,param_2,param_1,local_24);
    uVar5 = FUN_000324c0(0,param_2,local_24);
    uVar3 = dcgettext(0,"Unexpected suffix %s on %s",5);
                    /* WARNING: Subroutine does not return */
    error(1,*piVar1,uVar3,uVar5,uVar4);
  }
  if (param_1 != local_24) {
    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
      return;
    }
                    /* WARNING: Subroutine does not return */
    FUN_0004e0c0();
  }
  uVar4 = FUN_000324c0(0,param_2,param_1,lVar2);
  uVar5 = dcgettext(0,"Expected an integer: %s",5);
                    /* WARNING: Subroutine does not return */
  error(1,*piVar1,uVar5,uVar4);
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00014d70
ADD EBX,0x466bf
SUB ESP,0x1c
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0xc],EAX
XOR EAX,EAX
MOV ESI,dword ptr [ESP + 0x30]
CALL 0x00014650
SUB ESP,0x4
MOV dword ptr [EAX],0x0
MOV EDI,EAX
PUSH 0xa
LEA EAX,[ESP + 0x10]
PUSH EAX
PUSH ESI
CALL 0x000148f0
ADD ESP,0x10
LEA EDX,[EAX + 0x7fffffff]
CMP EDX,-0x3
JBE 0x00024688
MOV EAX,dword ptr [EDI]
CMP EAX,0x22
JZ 0x000246b0
LEA EDX,[EBX + 0xfffeb7ad]
PUSH ESI
PUSH EDX
PUSH EAX
PUSH 0x1
CALL 0x000144a0
MOV EDX,dword ptr [ESP + 0x8]
CMP byte ptr [EDX],0x0
JNZ 0x000246c6
CMP ESI,EDX
JZ 0x0002470a
MOV ECX,dword ptr [ESP + 0xc]
XOR ECX,dword ptr GS:[0x14]
JNZ 0x000246c1
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EAX,[EBX + 0xfffeb7ad]
PUSH ESI
PUSH EAX
PUSH 0x22
PUSH 0x1
CALL 0x000144a0
CALL 0x0004e0c0
PUSH EDX
PUSH ESI
PUSH dword ptr [ESP + 0x3c]
PUSH 0x1
CALL 0x000324c0
ADD ESP,0xc
PUSH dword ptr [ESP + 0xc]
MOV EBP,EAX
PUSH dword ptr [ESP + 0x3c]
PUSH 0x0
CALL 0x000324c0
ADD ESP,0xc
MOV ESI,EAX
LEA EAX,[EBX + 0xfffe82f8]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000142c0
MOV dword ptr [ESP],EBP
PUSH ESI
PUSH EAX
PUSH dword ptr [EDI]
PUSH 0x1
CALL 0x000144a0
PUSH EAX
PUSH ESI
PUSH dword ptr [ESP + 0x3c]
PUSH 0x0
CALL 0x000324c0
ADD ESP,0xc
MOV ESI,EAX
LEA EAX,[EBX + 0xfffe8313]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000142c0
PUSH ESI
PUSH EAX
PUSH dword ptr [EDI]
PUSH 0x1
CALL 0x000144a0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00024620(char *param_1,undefined4 param_2)\n\n{\n  int *piVar1;\n  long lVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int in_GS_OFFSET;\n  char *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x24629;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  piVar1 = __errno_location();\n  *piVar1 = 0;\n  lVar2 = strtol(param_1,&local_24,10);\n  if (0xfffffffd < lVar2 + 0x7fffffffU) {\n    if (*piVar1 != 0x22) {\n                    /* WARNING: Subroutine does not return */\n      error(1,*piVar1,&DAT_00056495,param_1);\n    }\n                    /* WARNING: Subroutine does not return */\n    error(1,0x22,&DAT_00056495,param_1);\n  }\n  if (*local_24 != '\0') {\n    uVar4 = FUN_000324c0(1,param_2,param_1,local_24);\n    uVar5 = FUN_000324c0(0,param_2,local_24);\n    uVar3 = dcgettext(0,"Unexpected suffix %s on %s",5);\n                    /* WARNING: Subroutine does not return */\n    error(1,*piVar1,uVar3,uVar5,uVar4);\n  }\n  if (param_1 != local_24) {\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0004e0c0();\n  }\n  uVar4 = FUN_000324c0(0,param_2,param_1,lVar2);\n  uVar5 = dcgettext(0,"Expected an integer: %s",5);\n                    /* WARNING: Subroutine does not return */\n  error(1,*piVar1,uVar5,uVar4);\n}\n\n" comment (function_definition "void FUN_00024620(char *param_1,undefined4 param_2)\n\n{\n  int *piVar1;\n  long lVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int in_GS_OFFSET;\n  char *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x24629;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  piVar1 = __errno_location();\n  *piVar1 = 0;\n  lVar2 = strtol(param_1,&local_24,10);\n  if (0xfffffffd < lVar2 + 0x7fffffffU) {\n    if (*piVar1 != 0x22) {\n                    /* WARNING: Subroutine does not return */\n      error(1,*piVar1,&DAT_00056495,param_1);\n    }\n                    /* WARNING: Subroutine does not return */\n    error(1,0x22,&DAT_00056495,param_1);\n  }\n  if (*local_24 != '\0') {\n    uVar4 = FUN_000324c0(1,param_2,param_1,local_24);\n    uVar5 = FUN_000324c0(0,param_2,local_24);\n    uVar3 = dcgettext(0,"Unexpected suffix %s on %s",5);\n                    /* WARNING: Subroutine does not return */\n    error(1,*piVar1,uVar3,uVar5,uVar4);\n  }\n  if (param_1 != local_24) {\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0004e0c0();\n  }\n  uVar4 = FUN_000324c0(0,param_2,param_1,lVar2);\n  uVar5 = dcgettext(0,"Expected an integer: %s",5);\n                    /* WARNING: Subroutine does not return */\n  error(1,*piVar1,uVar5,uVar4);\n}" primitive_type (function_declarator "FUN_00024620(char *param_1,undefined4 param_2)" identifier (parameter_list "(char *param_1,undefined4 param_2)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  int *piVar1;\n  long lVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int in_GS_OFFSET;\n  char *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x24629;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  piVar1 = __errno_location();\n  *piVar1 = 0;\n  lVar2 = strtol(param_1,&local_24,10);\n  if (0xfffffffd < lVar2 + 0x7fffffffU) {\n    if (*piVar1 != 0x22) {\n                    /* WARNING: Subroutine does not return */\n      error(1,*piVar1,&DAT_00056495,param_1);\n    }\n                    /* WARNING: Subroutine does not return */\n    error(1,0x22,&DAT_00056495,param_1);\n  }\n  if (*local_24 != '\0') {\n    uVar4 = FUN_000324c0(1,param_2,param_1,local_24);\n    uVar5 = FUN_000324c0(0,param_2,local_24);\n    uVar3 = dcgettext(0,"Unexpected suffix %s on %s",5);\n                    /* WARNING: Subroutine does not return */\n    error(1,*piVar1,uVar3,uVar5,uVar4);\n  }\n  if (param_1 != local_24) {\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0004e0c0();\n  }\n  uVar4 = FUN_000324c0(0,param_2,param_1,lVar2);\n  uVar5 = dcgettext(0,"Expected an integer: %s",5);\n                    /* WARNING: Subroutine does not return */\n  error(1,*piVar1,uVar5,uVar4);\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "char *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x24629;" (assignment_expression "uStack_14 = 0x24629" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "piVar1 = __errno_location();" (assignment_expression "piVar1 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar1 = 0;" (assignment_expression "*piVar1 = 0" (pointer_expression "*piVar1" * identifier) = number_literal) ;) (expression_statement "lVar2 = strtol(param_1,&local_24,10);" (assignment_expression "lVar2 = strtol(param_1,&local_24,10)" identifier = (call_expression "strtol(param_1,&local_24,10)" identifier (argument_list "(param_1,&local_24,10)" ( identifier , (pointer_expression "&local_24" & identifier) , number_literal )))) ;) (if_statement "if (0xfffffffd < lVar2 + 0x7fffffffU) {\n    if (*piVar1 != 0x22) {\n                    /* WARNING: Subroutine does not return */\n      error(1,*piVar1,&DAT_00056495,param_1);\n    }\n                    /* WARNING: Subroutine does not return */\n    error(1,0x22,&DAT_00056495,param_1);\n  }" if (parenthesized_expression "(0xfffffffd < lVar2 + 0x7fffffffU)" ( (binary_expression "0xfffffffd < lVar2 + 0x7fffffffU" number_literal < (binary_expression "lVar2 + 0x7fffffffU" identifier + number_literal)) )) (compound_statement "{\n    if (*piVar1 != 0x22) {\n                    /* WARNING: Subroutine does not return */\n      error(1,*piVar1,&DAT_00056495,param_1);\n    }\n                    /* WARNING: Subroutine does not return */\n    error(1,0x22,&DAT_00056495,param_1);\n  }" { (if_statement "if (*piVar1 != 0x22) {\n                    /* WARNING: Subroutine does not return */\n      error(1,*piVar1,&DAT_00056495,param_1);\n    }" if (parenthesized_expression "(*piVar1 != 0x22)" ( (binary_expression "*piVar1 != 0x22" (pointer_expression "*piVar1" * identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      error(1,*piVar1,&DAT_00056495,param_1);\n    }" { comment (expression_statement "error(1,*piVar1,&DAT_00056495,param_1);" (call_expression "error(1,*piVar1,&DAT_00056495,param_1)" identifier (argument_list "(1,*piVar1,&DAT_00056495,param_1)" ( number_literal , (pointer_expression "*piVar1" * identifier) , (pointer_expression "&DAT_00056495" & identifier) , identifier ))) ;) })) comment (expression_statement "error(1,0x22,&DAT_00056495,param_1);" (call_expression "error(1,0x22,&DAT_00056495,param_1)" identifier (argument_list "(1,0x22,&DAT_00056495,param_1)" ( number_literal , number_literal , (pointer_expression "&DAT_00056495" & identifier) , identifier ))) ;) })) (if_statement "if (*local_24 != '\0') {\n    uVar4 = FUN_000324c0(1,param_2,param_1,local_24);\n    uVar5 = FUN_000324c0(0,param_2,local_24);\n    uVar3 = dcgettext(0,"Unexpected suffix %s on %s",5);\n                    /* WARNING: Subroutine does not return */\n    error(1,*piVar1,uVar3,uVar5,uVar4);\n  }" if (parenthesized_expression "(*local_24 != '\0')" ( (binary_expression "*local_24 != '\0'" (pointer_expression "*local_24" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar4 = FUN_000324c0(1,param_2,param_1,local_24);\n    uVar5 = FUN_000324c0(0,param_2,local_24);\n    uVar3 = dcgettext(0,"Unexpected suffix %s on %s",5);\n                    /* WARNING: Subroutine does not return */\n    error(1,*piVar1,uVar3,uVar5,uVar4);\n  }" { (expression_statement "uVar4 = FUN_000324c0(1,param_2,param_1,local_24);" (assignment_expression "uVar4 = FUN_000324c0(1,param_2,param_1,local_24)" identifier = (call_expression "FUN_000324c0(1,param_2,param_1,local_24)" identifier (argument_list "(1,param_2,param_1,local_24)" ( number_literal , identifier , identifier , identifier )))) ;) (expression_statement "uVar5 = FUN_000324c0(0,param_2,local_24);" (assignment_expression "uVar5 = FUN_000324c0(0,param_2,local_24)" identifier = (call_expression "FUN_000324c0(0,param_2,local_24)" identifier (argument_list "(0,param_2,local_24)" ( number_literal , identifier , identifier )))) ;) (expression_statement "uVar3 = dcgettext(0,"Unexpected suffix %s on %s",5);" (assignment_expression "uVar3 = dcgettext(0,"Unexpected suffix %s on %s",5)" identifier = (call_expression "dcgettext(0,"Unexpected suffix %s on %s",5)" identifier (argument_list "(0,"Unexpected suffix %s on %s",5)" ( number_literal , (string_literal ""Unexpected suffix %s on %s"" " string_content ") , number_literal )))) ;) comment (expression_statement "error(1,*piVar1,uVar3,uVar5,uVar4);" (call_expression "error(1,*piVar1,uVar3,uVar5,uVar4)" identifier (argument_list "(1,*piVar1,uVar3,uVar5,uVar4)" ( number_literal , (pointer_expression "*piVar1" * identifier) , identifier , identifier , identifier ))) ;) })) (if_statement "if (param_1 != local_24) {\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0004e0c0();\n  }" if (parenthesized_expression "(param_1 != local_24)" ( (binary_expression "param_1 != local_24" identifier != identifier) )) (compound_statement "{\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0004e0c0();\n  }" { (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) comment (expression_statement "FUN_0004e0c0();" (call_expression "FUN_0004e0c0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar4 = FUN_000324c0(0,param_2,param_1,lVar2);" (assignment_expression "uVar4 = FUN_000324c0(0,param_2,param_1,lVar2)" identifier = (call_expression "FUN_000324c0(0,param_2,param_1,lVar2)" identifier (argument_list "(0,param_2,param_1,lVar2)" ( number_literal , identifier , identifier , identifier )))) ;) (expression_statement "uVar5 = dcgettext(0,"Expected an integer: %s",5);" (assignment_expression "uVar5 = dcgettext(0,"Expected an integer: %s",5)" identifier = (call_expression "dcgettext(0,"Expected an integer: %s",5)" identifier (argument_list "(0,"Expected an integer: %s",5)" ( number_literal , (string_literal ""Expected an integer: %s"" " string_content ") , number_literal )))) ;) comment (expression_statement "error(1,*piVar1,uVar5,uVar4);" (call_expression "error(1,*piVar1,uVar5,uVar4)" identifier (argument_list "(1,*piVar1,uVar5,uVar4)" ( number_literal , (pointer_expression "*piVar1" * identifier) , identifier , identifier ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nint safe_atoi(char *s,quoting_style style)\n\n{\n  int *piVar1;\n  long lVar2;\n  char *pcVar3;\n  char *pcVar4;\n  char *pcVar5;\n  undefined4 uVar6;\n  int in_GS_OFFSET;\n  char *end;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x24629;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  piVar1 = __errno_location();\n  *piVar1 = 0;\n  lVar2 = strtol(s,&end,10);\n  if (0xfffffffd < lVar2 + 0x7fffffffU) {\n    if (*piVar1 != 0x22) {\n                    /* WARNING: Subroutine does not return */\n      error(1,*piVar1,&DAT_00056495,s);\n    }\n                    /* WARNING: Subroutine does not return */\n    error(1,0x22,&DAT_00056495,s);\n  }\n  if (*end != '\0') {\n    pcVar5 = end;\n    pcVar3 = quotearg_n_style(1,style,s);\n    pcVar4 = quotearg_n_style(0,style,end);\n    uVar6 = dcgettext(0,"Unexpected suffix %s on %s",5,pcVar5);\n                    /* WARNING: Subroutine does not return */\n    error(1,*piVar1,uVar6,pcVar4,pcVar3);\n  }\n  if (s != end) {\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return lVar2;\n    }\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  pcVar5 = quotearg_n_style(0,style,s);\n  uVar6 = dcgettext(0,"Expected an integer: %s",5,lVar2);\n                    /* WARNING: Subroutine does not return */\n  error(1,*piVar1,uVar6,pcVar5);\n}\n\n" comment comment (function_definition "int safe_atoi(char *s,quoting_style style)\n\n{\n  int *piVar1;\n  long lVar2;\n  char *pcVar3;\n  char *pcVar4;\n  char *pcVar5;\n  undefined4 uVar6;\n  int in_GS_OFFSET;\n  char *end;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x24629;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  piVar1 = __errno_location();\n  *piVar1 = 0;\n  lVar2 = strtol(s,&end,10);\n  if (0xfffffffd < lVar2 + 0x7fffffffU) {\n    if (*piVar1 != 0x22) {\n                    /* WARNING: Subroutine does not return */\n      error(1,*piVar1,&DAT_00056495,s);\n    }\n                    /* WARNING: Subroutine does not return */\n    error(1,0x22,&DAT_00056495,s);\n  }\n  if (*end != '\0') {\n    pcVar5 = end;\n    pcVar3 = quotearg_n_style(1,style,s);\n    pcVar4 = quotearg_n_style(0,style,end);\n    uVar6 = dcgettext(0,"Unexpected suffix %s on %s",5,pcVar5);\n                    /* WARNING: Subroutine does not return */\n    error(1,*piVar1,uVar6,pcVar4,pcVar3);\n  }\n  if (s != end) {\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return lVar2;\n    }\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  pcVar5 = quotearg_n_style(0,style,s);\n  uVar6 = dcgettext(0,"Expected an integer: %s",5,lVar2);\n                    /* WARNING: Subroutine does not return */\n  error(1,*piVar1,uVar6,pcVar5);\n}" primitive_type (function_declarator "safe_atoi(char *s,quoting_style style)" identifier (parameter_list "(char *s,quoting_style style)" ( (parameter_declaration "char *s" primitive_type (pointer_declarator "*s" * identifier)) , (parameter_declaration "quoting_style style" type_identifier identifier) ))) (compound_statement "{\n  int *piVar1;\n  long lVar2;\n  char *pcVar3;\n  char *pcVar4;\n  char *pcVar5;\n  undefined4 uVar6;\n  int in_GS_OFFSET;\n  char *end;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x24629;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  piVar1 = __errno_location();\n  *piVar1 = 0;\n  lVar2 = strtol(s,&end,10);\n  if (0xfffffffd < lVar2 + 0x7fffffffU) {\n    if (*piVar1 != 0x22) {\n                    /* WARNING: Subroutine does not return */\n      error(1,*piVar1,&DAT_00056495,s);\n    }\n                    /* WARNING: Subroutine does not return */\n    error(1,0x22,&DAT_00056495,s);\n  }\n  if (*end != '\0') {\n    pcVar5 = end;\n    pcVar3 = quotearg_n_style(1,style,s);\n    pcVar4 = quotearg_n_style(0,style,end);\n    uVar6 = dcgettext(0,"Unexpected suffix %s on %s",5,pcVar5);\n                    /* WARNING: Subroutine does not return */\n    error(1,*piVar1,uVar6,pcVar4,pcVar3);\n  }\n  if (s != end) {\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return lVar2;\n    }\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  pcVar5 = quotearg_n_style(0,style,s);\n  uVar6 = dcgettext(0,"Expected an integer: %s",5,lVar2);\n                    /* WARNING: Subroutine does not return */\n  error(1,*piVar1,uVar6,pcVar5);\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "char *end;" primitive_type (pointer_declarator "*end" * identifier) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x24629;" (assignment_expression "uStack_14 = 0x24629" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "piVar1 = __errno_location();" (assignment_expression "piVar1 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar1 = 0;" (assignment_expression "*piVar1 = 0" (pointer_expression "*piVar1" * identifier) = number_literal) ;) (expression_statement "lVar2 = strtol(s,&end,10);" (assignment_expression "lVar2 = strtol(s,&end,10)" identifier = (call_expression "strtol(s,&end,10)" identifier (argument_list "(s,&end,10)" ( identifier , (pointer_expression "&end" & identifier) , number_literal )))) ;) (if_statement "if (0xfffffffd < lVar2 + 0x7fffffffU) {\n    if (*piVar1 != 0x22) {\n                    /* WARNING: Subroutine does not return */\n      error(1,*piVar1,&DAT_00056495,s);\n    }\n                    /* WARNING: Subroutine does not return */\n    error(1,0x22,&DAT_00056495,s);\n  }" if (parenthesized_expression "(0xfffffffd < lVar2 + 0x7fffffffU)" ( (binary_expression "0xfffffffd < lVar2 + 0x7fffffffU" number_literal < (binary_expression "lVar2 + 0x7fffffffU" identifier + number_literal)) )) (compound_statement "{\n    if (*piVar1 != 0x22) {\n                    /* WARNING: Subroutine does not return */\n      error(1,*piVar1,&DAT_00056495,s);\n    }\n                    /* WARNING: Subroutine does not return */\n    error(1,0x22,&DAT_00056495,s);\n  }" { (if_statement "if (*piVar1 != 0x22) {\n                    /* WARNING: Subroutine does not return */\n      error(1,*piVar1,&DAT_00056495,s);\n    }" if (parenthesized_expression "(*piVar1 != 0x22)" ( (binary_expression "*piVar1 != 0x22" (pointer_expression "*piVar1" * identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      error(1,*piVar1,&DAT_00056495,s);\n    }" { comment (expression_statement "error(1,*piVar1,&DAT_00056495,s);" (call_expression "error(1,*piVar1,&DAT_00056495,s)" identifier (argument_list "(1,*piVar1,&DAT_00056495,s)" ( number_literal , (pointer_expression "*piVar1" * identifier) , (pointer_expression "&DAT_00056495" & identifier) , identifier ))) ;) })) comment (expression_statement "error(1,0x22,&DAT_00056495,s);" (call_expression "error(1,0x22,&DAT_00056495,s)" identifier (argument_list "(1,0x22,&DAT_00056495,s)" ( number_literal , number_literal , (pointer_expression "&DAT_00056495" & identifier) , identifier ))) ;) })) (if_statement "if (*end != '\0') {\n    pcVar5 = end;\n    pcVar3 = quotearg_n_style(1,style,s);\n    pcVar4 = quotearg_n_style(0,style,end);\n    uVar6 = dcgettext(0,"Unexpected suffix %s on %s",5,pcVar5);\n                    /* WARNING: Subroutine does not return */\n    error(1,*piVar1,uVar6,pcVar4,pcVar3);\n  }" if (parenthesized_expression "(*end != '\0')" ( (binary_expression "*end != '\0'" (pointer_expression "*end" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pcVar5 = end;\n    pcVar3 = quotearg_n_style(1,style,s);\n    pcVar4 = quotearg_n_style(0,style,end);\n    uVar6 = dcgettext(0,"Unexpected suffix %s on %s",5,pcVar5);\n                    /* WARNING: Subroutine does not return */\n    error(1,*piVar1,uVar6,pcVar4,pcVar3);\n  }" { (expression_statement "pcVar5 = end;" (assignment_expression "pcVar5 = end" identifier = identifier) ;) (expression_statement "pcVar3 = quotearg_n_style(1,style,s);" (assignment_expression "pcVar3 = quotearg_n_style(1,style,s)" identifier = (call_expression "quotearg_n_style(1,style,s)" identifier (argument_list "(1,style,s)" ( number_literal , identifier , identifier )))) ;) (expression_statement "pcVar4 = quotearg_n_style(0,style,end);" (assignment_expression "pcVar4 = quotearg_n_style(0,style,end)" identifier = (call_expression "quotearg_n_style(0,style,end)" identifier (argument_list "(0,style,end)" ( number_literal , identifier , identifier )))) ;) (expression_statement "uVar6 = dcgettext(0,"Unexpected suffix %s on %s",5,pcVar5);" (assignment_expression "uVar6 = dcgettext(0,"Unexpected suffix %s on %s",5,pcVar5)" identifier = (call_expression "dcgettext(0,"Unexpected suffix %s on %s",5,pcVar5)" identifier (argument_list "(0,"Unexpected suffix %s on %s",5,pcVar5)" ( number_literal , (string_literal ""Unexpected suffix %s on %s"" " string_content ") , number_literal , identifier )))) ;) comment (expression_statement "error(1,*piVar1,uVar6,pcVar4,pcVar3);" (call_expression "error(1,*piVar1,uVar6,pcVar4,pcVar3)" identifier (argument_list "(1,*piVar1,uVar6,pcVar4,pcVar3)" ( number_literal , (pointer_expression "*piVar1" * identifier) , identifier , identifier , identifier ))) ;) })) (if_statement "if (s != end) {\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return lVar2;\n    }\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" if (parenthesized_expression "(s != end)" ( (binary_expression "s != end" identifier != identifier) )) (compound_statement "{\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return lVar2;\n    }\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" { (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return lVar2;\n    }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n      return lVar2;\n    }" { (return_statement "return lVar2;" return identifier ;) })) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "pcVar5 = quotearg_n_style(0,style,s);" (assignment_expression "pcVar5 = quotearg_n_style(0,style,s)" identifier = (call_expression "quotearg_n_style(0,style,s)" identifier (argument_list "(0,style,s)" ( number_literal , identifier , identifier )))) ;) (expression_statement "uVar6 = dcgettext(0,"Expected an integer: %s",5,lVar2);" (assignment_expression "uVar6 = dcgettext(0,"Expected an integer: %s",5,lVar2)" identifier = (call_expression "dcgettext(0,"Expected an integer: %s",5,lVar2)" identifier (argument_list "(0,"Expected an integer: %s",5,lVar2)" ( number_literal , (string_literal ""Expected an integer: %s"" " string_content ") , number_literal , identifier )))) ;) comment (expression_statement "error(1,*piVar1,uVar6,pcVar5);" (call_expression "error(1,*piVar1,uVar6,pcVar5)" identifier (argument_list "(1,*piVar1,uVar6,pcVar5)" ( number_literal , (pointer_expression "*piVar1" * identifier) , identifier , identifier ))) ;) })))
(translation_unit "void FUN_00024620(char *param_1,undefined4 param_2)\n\n{\n  int *piVar1;\n  long lVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int in_GS_OFFSET;\n  char *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x24629;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  piVar1 = __errno_location();\n  *piVar1 = 0;\n  lVar2 = strtol(param_1,&local_24,10);\n  if (0xfffffffd < lVar2 + 0x7fffffffU) {\n    if (*piVar1 != 0x22) {\n                    \n      error(1,*piVar1,&DAT_00056495,param_1);\n    }\n                    \n    error(1,0x22,&DAT_00056495,param_1);\n  }\n  if (*local_24 != '\0') {\n    uVar4 = FUN_000324c0(1,param_2,param_1,local_24);\n    uVar5 = FUN_000324c0(0,param_2,local_24);\n    uVar3 = dcgettext(0,"Unexpected suffix %s on %s",5);\n                    \n    error(1,*piVar1,uVar3,uVar5,uVar4);\n  }\n  if (param_1 != local_24) {\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    \n    FUN_0004e0c0();\n  }\n  uVar4 = FUN_000324c0(0,param_2,param_1,lVar2);\n  uVar5 = dcgettext(0,"Expected an integer: %s",5);\n                    \n  error(1,*piVar1,uVar5,uVar4);\n}\n\n" (function_definition "void FUN_00024620(char *param_1,undefined4 param_2)\n\n{\n  int *piVar1;\n  long lVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int in_GS_OFFSET;\n  char *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x24629;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  piVar1 = __errno_location();\n  *piVar1 = 0;\n  lVar2 = strtol(param_1,&local_24,10);\n  if (0xfffffffd < lVar2 + 0x7fffffffU) {\n    if (*piVar1 != 0x22) {\n                    \n      error(1,*piVar1,&DAT_00056495,param_1);\n    }\n                    \n    error(1,0x22,&DAT_00056495,param_1);\n  }\n  if (*local_24 != '\0') {\n    uVar4 = FUN_000324c0(1,param_2,param_1,local_24);\n    uVar5 = FUN_000324c0(0,param_2,local_24);\n    uVar3 = dcgettext(0,"Unexpected suffix %s on %s",5);\n                    \n    error(1,*piVar1,uVar3,uVar5,uVar4);\n  }\n  if (param_1 != local_24) {\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    \n    FUN_0004e0c0();\n  }\n  uVar4 = FUN_000324c0(0,param_2,param_1,lVar2);\n  uVar5 = dcgettext(0,"Expected an integer: %s",5);\n                    \n  error(1,*piVar1,uVar5,uVar4);\n}" primitive_type (function_declarator "FUN_00024620(char *param_1,undefined4 param_2)" identifier (parameter_list "(char *param_1,undefined4 param_2)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  int *piVar1;\n  long lVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int in_GS_OFFSET;\n  char *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x24629;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  piVar1 = __errno_location();\n  *piVar1 = 0;\n  lVar2 = strtol(param_1,&local_24,10);\n  if (0xfffffffd < lVar2 + 0x7fffffffU) {\n    if (*piVar1 != 0x22) {\n                    \n      error(1,*piVar1,&DAT_00056495,param_1);\n    }\n                    \n    error(1,0x22,&DAT_00056495,param_1);\n  }\n  if (*local_24 != '\0') {\n    uVar4 = FUN_000324c0(1,param_2,param_1,local_24);\n    uVar5 = FUN_000324c0(0,param_2,local_24);\n    uVar3 = dcgettext(0,"Unexpected suffix %s on %s",5);\n                    \n    error(1,*piVar1,uVar3,uVar5,uVar4);\n  }\n  if (param_1 != local_24) {\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    \n    FUN_0004e0c0();\n  }\n  uVar4 = FUN_000324c0(0,param_2,param_1,lVar2);\n  uVar5 = dcgettext(0,"Expected an integer: %s",5);\n                    \n  error(1,*piVar1,uVar5,uVar4);\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "char *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x24629;" (assignment_expression "uStack_14 = 0x24629" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "piVar1 = __errno_location();" (assignment_expression "piVar1 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar1 = 0;" (assignment_expression "*piVar1 = 0" (pointer_expression "*piVar1" * identifier) = number_literal) ;) (expression_statement "lVar2 = strtol(param_1,&local_24,10);" (assignment_expression "lVar2 = strtol(param_1,&local_24,10)" identifier = (call_expression "strtol(param_1,&local_24,10)" identifier (argument_list "(param_1,&local_24,10)" ( identifier , (pointer_expression "&local_24" & identifier) , number_literal )))) ;) (if_statement "if (0xfffffffd < lVar2 + 0x7fffffffU) {\n    if (*piVar1 != 0x22) {\n                    \n      error(1,*piVar1,&DAT_00056495,param_1);\n    }\n                    \n    error(1,0x22,&DAT_00056495,param_1);\n  }" if (parenthesized_expression "(0xfffffffd < lVar2 + 0x7fffffffU)" ( (binary_expression "0xfffffffd < lVar2 + 0x7fffffffU" number_literal < (binary_expression "lVar2 + 0x7fffffffU" identifier + number_literal)) )) (compound_statement "{\n    if (*piVar1 != 0x22) {\n                    \n      error(1,*piVar1,&DAT_00056495,param_1);\n    }\n                    \n    error(1,0x22,&DAT_00056495,param_1);\n  }" { (if_statement "if (*piVar1 != 0x22) {\n                    \n      error(1,*piVar1,&DAT_00056495,param_1);\n    }" if (parenthesized_expression "(*piVar1 != 0x22)" ( (binary_expression "*piVar1 != 0x22" (pointer_expression "*piVar1" * identifier) != number_literal) )) (compound_statement "{\n                    \n      error(1,*piVar1,&DAT_00056495,param_1);\n    }" { (expression_statement "error(1,*piVar1,&DAT_00056495,param_1);" (call_expression "error(1,*piVar1,&DAT_00056495,param_1)" identifier (argument_list "(1,*piVar1,&DAT_00056495,param_1)" ( number_literal , (pointer_expression "*piVar1" * identifier) , (pointer_expression "&DAT_00056495" & identifier) , identifier ))) ;) })) (expression_statement "error(1,0x22,&DAT_00056495,param_1);" (call_expression "error(1,0x22,&DAT_00056495,param_1)" identifier (argument_list "(1,0x22,&DAT_00056495,param_1)" ( number_literal , number_literal , (pointer_expression "&DAT_00056495" & identifier) , identifier ))) ;) })) (if_statement "if (*local_24 != '\0') {\n    uVar4 = FUN_000324c0(1,param_2,param_1,local_24);\n    uVar5 = FUN_000324c0(0,param_2,local_24);\n    uVar3 = dcgettext(0,"Unexpected suffix %s on %s",5);\n                    \n    error(1,*piVar1,uVar3,uVar5,uVar4);\n  }" if (parenthesized_expression "(*local_24 != '\0')" ( (binary_expression "*local_24 != '\0'" (pointer_expression "*local_24" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar4 = FUN_000324c0(1,param_2,param_1,local_24);\n    uVar5 = FUN_000324c0(0,param_2,local_24);\n    uVar3 = dcgettext(0,"Unexpected suffix %s on %s",5);\n                    \n    error(1,*piVar1,uVar3,uVar5,uVar4);\n  }" { (expression_statement "uVar4 = FUN_000324c0(1,param_2,param_1,local_24);" (assignment_expression "uVar4 = FUN_000324c0(1,param_2,param_1,local_24)" identifier = (call_expression "FUN_000324c0(1,param_2,param_1,local_24)" identifier (argument_list "(1,param_2,param_1,local_24)" ( number_literal , identifier , identifier , identifier )))) ;) (expression_statement "uVar5 = FUN_000324c0(0,param_2,local_24);" (assignment_expression "uVar5 = FUN_000324c0(0,param_2,local_24)" identifier = (call_expression "FUN_000324c0(0,param_2,local_24)" identifier (argument_list "(0,param_2,local_24)" ( number_literal , identifier , identifier )))) ;) (expression_statement "uVar3 = dcgettext(0,"Unexpected suffix %s on %s",5);" (assignment_expression "uVar3 = dcgettext(0,"Unexpected suffix %s on %s",5)" identifier = (call_expression "dcgettext(0,"Unexpected suffix %s on %s",5)" identifier (argument_list "(0,"Unexpected suffix %s on %s",5)" ( number_literal , (string_literal ""Unexpected suffix %s on %s"" " string_content ") , number_literal )))) ;) (expression_statement "error(1,*piVar1,uVar3,uVar5,uVar4);" (call_expression "error(1,*piVar1,uVar3,uVar5,uVar4)" identifier (argument_list "(1,*piVar1,uVar3,uVar5,uVar4)" ( number_literal , (pointer_expression "*piVar1" * identifier) , identifier , identifier , identifier ))) ;) })) (if_statement "if (param_1 != local_24) {\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    \n    FUN_0004e0c0();\n  }" if (parenthesized_expression "(param_1 != local_24)" ( (binary_expression "param_1 != local_24" identifier != identifier) )) (compound_statement "{\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    \n    FUN_0004e0c0();\n  }" { (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "FUN_0004e0c0();" (call_expression "FUN_0004e0c0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar4 = FUN_000324c0(0,param_2,param_1,lVar2);" (assignment_expression "uVar4 = FUN_000324c0(0,param_2,param_1,lVar2)" identifier = (call_expression "FUN_000324c0(0,param_2,param_1,lVar2)" identifier (argument_list "(0,param_2,param_1,lVar2)" ( number_literal , identifier , identifier , identifier )))) ;) (expression_statement "uVar5 = dcgettext(0,"Expected an integer: %s",5);" (assignment_expression "uVar5 = dcgettext(0,"Expected an integer: %s",5)" identifier = (call_expression "dcgettext(0,"Expected an integer: %s",5)" identifier (argument_list "(0,"Expected an integer: %s",5)" ( number_literal , (string_literal ""Expected an integer: %s"" " string_content ") , number_literal )))) ;) (expression_statement "error(1,*piVar1,uVar5,uVar4);" (call_expression "error(1,*piVar1,uVar5,uVar4)" identifier (argument_list "(1,*piVar1,uVar5,uVar4)" ( number_literal , (pointer_expression "*piVar1" * identifier) , identifier , identifier ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT + LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( LIT , LIT , (pointer_expression & IDENT) , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * IDENT) , IDENT , IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * IDENT) , IDENT , IDENT ))) ;) })))
(function_definition "void FUN_00024620(char *param_1,undefined4 param_2)\n\n{\n  int *piVar1;\n  long lVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int in_GS_OFFSET;\n  char *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x24629;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  piVar1 = __errno_location();\n  *piVar1 = 0;\n  lVar2 = strtol(param_1,&local_24,10);\n  if (0xfffffffd < lVar2 + 0x7fffffffU) {\n    if (*piVar1 != 0x22) {\n                    \n      error(1,*piVar1,&DAT_00056495,param_1);\n    }\n                    \n    error(1,0x22,&DAT_00056495,param_1);\n  }\n  if (*local_24 != '\0') {\n    uVar4 = FUN_000324c0(1,param_2,param_1,local_24);\n    uVar5 = FUN_000324c0(0,param_2,local_24);\n    uVar3 = dcgettext(0,"Unexpected suffix %s on %s",5);\n                    \n    error(1,*piVar1,uVar3,uVar5,uVar4);\n  }\n  if (param_1 != local_24) {\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    \n    FUN_0004e0c0();\n  }\n  uVar4 = FUN_000324c0(0,param_2,param_1,lVar2);\n  uVar5 = dcgettext(0,"Expected an integer: %s",5);\n                    \n  error(1,*piVar1,uVar5,uVar4);\n}" (primitive_type "void") (function_declarator "FUN_00024620(char *param_1,undefined4 param_2)" (identifier "FUN_00024620") (parameter_list "(char *param_1,undefined4 param_2)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  int *piVar1;\n  long lVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int in_GS_OFFSET;\n  char *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x24629;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  piVar1 = __errno_location();\n  *piVar1 = 0;\n  lVar2 = strtol(param_1,&local_24,10);\n  if (0xfffffffd < lVar2 + 0x7fffffffU) {\n    if (*piVar1 != 0x22) {\n                    \n      error(1,*piVar1,&DAT_00056495,param_1);\n    }\n                    \n    error(1,0x22,&DAT_00056495,param_1);\n  }\n  if (*local_24 != '\0') {\n    uVar4 = FUN_000324c0(1,param_2,param_1,local_24);\n    uVar5 = FUN_000324c0(0,param_2,local_24);\n    uVar3 = dcgettext(0,"Unexpected suffix %s on %s",5);\n                    \n    error(1,*piVar1,uVar3,uVar5,uVar4);\n  }\n  if (param_1 != local_24) {\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    \n    FUN_0004e0c0();\n  }\n  uVar4 = FUN_000324c0(0,param_2,param_1,lVar2);\n  uVar5 = dcgettext(0,"Expected an integer: %s",5);\n                    \n  error(1,*piVar1,uVar5,uVar4);\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "long lVar2;" (sized_type_specifier "long" (long "long")) (identifier "lVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "char *local_24;" (primitive_type "char") (pointer_declarator "*local_24" (* "*") (identifier "local_24")) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x24629;" (assignment_expression "uStack_14 = 0x24629" (identifier "uStack_14") (= "=") (number_literal "0x24629")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "piVar1 = __errno_location();" (assignment_expression "piVar1 = __errno_location()" (identifier "piVar1") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*piVar1 = 0;" (assignment_expression "*piVar1 = 0" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (= "=") (number_literal "0")) (; ";")) (expression_statement "lVar2 = strtol(param_1,&local_24,10);" (assignment_expression "lVar2 = strtol(param_1,&local_24,10)" (identifier "lVar2") (= "=") (call_expression "strtol(param_1,&local_24,10)" (identifier "strtol") (argument_list "(param_1,&local_24,10)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_24" (& "&") (identifier "local_24")) (, ",") (number_literal "10") () ")")))) (; ";")) (if_statement "if (0xfffffffd < lVar2 + 0x7fffffffU) {\n    if (*piVar1 != 0x22) {\n                    \n      error(1,*piVar1,&DAT_00056495,param_1);\n    }\n                    \n    error(1,0x22,&DAT_00056495,param_1);\n  }" (if "if") (parenthesized_expression "(0xfffffffd < lVar2 + 0x7fffffffU)" (( "(") (binary_expression "0xfffffffd < lVar2 + 0x7fffffffU" (number_literal "0xfffffffd") (< "<") (binary_expression "lVar2 + 0x7fffffffU" (identifier "lVar2") (+ "+") (number_literal "0x7fffffffU"))) () ")")) (compound_statement "{\n    if (*piVar1 != 0x22) {\n                    \n      error(1,*piVar1,&DAT_00056495,param_1);\n    }\n                    \n    error(1,0x22,&DAT_00056495,param_1);\n  }" ({ "{") (if_statement "if (*piVar1 != 0x22) {\n                    \n      error(1,*piVar1,&DAT_00056495,param_1);\n    }" (if "if") (parenthesized_expression "(*piVar1 != 0x22)" (( "(") (binary_expression "*piVar1 != 0x22" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (!= "!=") (number_literal "0x22")) () ")")) (compound_statement "{\n                    \n      error(1,*piVar1,&DAT_00056495,param_1);\n    }" ({ "{") (expression_statement "error(1,*piVar1,&DAT_00056495,param_1);" (call_expression "error(1,*piVar1,&DAT_00056495,param_1)" (identifier "error") (argument_list "(1,*piVar1,&DAT_00056495,param_1)" (( "(") (number_literal "1") (, ",") (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (, ",") (pointer_expression "&DAT_00056495" (& "&") (identifier "DAT_00056495")) (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}"))) (expression_statement "error(1,0x22,&DAT_00056495,param_1);" (call_expression "error(1,0x22,&DAT_00056495,param_1)" (identifier "error") (argument_list "(1,0x22,&DAT_00056495,param_1)" (( "(") (number_literal "1") (, ",") (number_literal "0x22") (, ",") (pointer_expression "&DAT_00056495" (& "&") (identifier "DAT_00056495")) (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}"))) (if_statement "if (*local_24 != '\0') {\n    uVar4 = FUN_000324c0(1,param_2,param_1,local_24);\n    uVar5 = FUN_000324c0(0,param_2,local_24);\n    uVar3 = dcgettext(0,"Unexpected suffix %s on %s",5);\n                    \n    error(1,*piVar1,uVar3,uVar5,uVar4);\n  }" (if "if") (parenthesized_expression "(*local_24 != '\0')" (( "(") (binary_expression "*local_24 != '\0'" (pointer_expression "*local_24" (* "*") (identifier "local_24")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    uVar4 = FUN_000324c0(1,param_2,param_1,local_24);\n    uVar5 = FUN_000324c0(0,param_2,local_24);\n    uVar3 = dcgettext(0,"Unexpected suffix %s on %s",5);\n                    \n    error(1,*piVar1,uVar3,uVar5,uVar4);\n  }" ({ "{") (expression_statement "uVar4 = FUN_000324c0(1,param_2,param_1,local_24);" (assignment_expression "uVar4 = FUN_000324c0(1,param_2,param_1,local_24)" (identifier "uVar4") (= "=") (call_expression "FUN_000324c0(1,param_2,param_1,local_24)" (identifier "FUN_000324c0") (argument_list "(1,param_2,param_1,local_24)" (( "(") (number_literal "1") (, ",") (identifier "param_2") (, ",") (identifier "param_1") (, ",") (identifier "local_24") () ")")))) (; ";")) (expression_statement "uVar5 = FUN_000324c0(0,param_2,local_24);" (assignment_expression "uVar5 = FUN_000324c0(0,param_2,local_24)" (identifier "uVar5") (= "=") (call_expression "FUN_000324c0(0,param_2,local_24)" (identifier "FUN_000324c0") (argument_list "(0,param_2,local_24)" (( "(") (number_literal "0") (, ",") (identifier "param_2") (, ",") (identifier "local_24") () ")")))) (; ";")) (expression_statement "uVar3 = dcgettext(0,"Unexpected suffix %s on %s",5);" (assignment_expression "uVar3 = dcgettext(0,"Unexpected suffix %s on %s",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"Unexpected suffix %s on %s",5)" (identifier "dcgettext") (argument_list "(0,"Unexpected suffix %s on %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Unexpected suffix %s on %s"" (" """) (string_content "Unexpected suffix %s on %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(1,*piVar1,uVar3,uVar5,uVar4);" (call_expression "error(1,*piVar1,uVar3,uVar5,uVar4)" (identifier "error") (argument_list "(1,*piVar1,uVar3,uVar5,uVar4)" (( "(") (number_literal "1") (, ",") (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (, ",") (identifier "uVar3") (, ",") (identifier "uVar5") (, ",") (identifier "uVar4") () ")"))) (; ";")) (} "}"))) (if_statement "if (param_1 != local_24) {\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    \n    FUN_0004e0c0();\n  }" (if "if") (parenthesized_expression "(param_1 != local_24)" (( "(") (binary_expression "param_1 != local_24" (identifier "param_1") (!= "!=") (identifier "local_24")) () ")")) (compound_statement "{\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    \n    FUN_0004e0c0();\n  }" ({ "{") (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }" (if "if") (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (== "==") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_0004e0c0();" (call_expression "FUN_0004e0c0()" (identifier "FUN_0004e0c0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar4 = FUN_000324c0(0,param_2,param_1,lVar2);" (assignment_expression "uVar4 = FUN_000324c0(0,param_2,param_1,lVar2)" (identifier "uVar4") (= "=") (call_expression "FUN_000324c0(0,param_2,param_1,lVar2)" (identifier "FUN_000324c0") (argument_list "(0,param_2,param_1,lVar2)" (( "(") (number_literal "0") (, ",") (identifier "param_2") (, ",") (identifier "param_1") (, ",") (identifier "lVar2") () ")")))) (; ";")) (expression_statement "uVar5 = dcgettext(0,"Expected an integer: %s",5);" (assignment_expression "uVar5 = dcgettext(0,"Expected an integer: %s",5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,"Expected an integer: %s",5)" (identifier "dcgettext") (argument_list "(0,"Expected an integer: %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Expected an integer: %s"" (" """) (string_content "Expected an integer: %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(1,*piVar1,uVar5,uVar4);" (call_expression "error(1,*piVar1,uVar5,uVar4)" (identifier "error") (argument_list "(1,*piVar1,uVar5,uVar4)" (( "(") (number_literal "1") (, ",") (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (, ",") (identifier "uVar5") (, ",") (identifier "uVar4") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

int function_1(char *var_8,type_1 style)

{
  int *piVar1;
  long var_4;
  char *pcVar3;
  char *pcVar4;
  char *pcVar5;
  type_2 uVar6;
  int var_1;
  char *var_9;
  int var_10;
  type_2 uStack_14;
  
  uStack_14 = 0x24629;
  var_10 = *(int *)(var_1 + 0x14);
  piVar1 = var_2();
  *piVar1 = 0;
  var_4 = var_3(var_8,&var_9,10);
  if (0xfffffffd < var_4 + 0x7fffffffU) {
    if (*piVar1 != 0x22) {
                    /* WARNING: Subroutine does not return */
      var_5(1,*piVar1,&DAT_00056495,var_8);
    }
                    /* WARNING: Subroutine does not return */
    var_5(1,0x22,&DAT_00056495,var_8);
  }
  if (*var_9 != '\0') {
    pcVar5 = var_9;
    pcVar3 = var_6(1,style,var_8);
    pcVar4 = var_6(0,style,var_9);
    uVar6 = var_7(0,"Unexpected suffix %s on %s",5,pcVar5);
                    /* WARNING: Subroutine does not return */
    var_5(1,*piVar1,uVar6,pcVar4,pcVar3);
  }
  if (var_8 != var_9) {
    if (var_10 == *(int *)(var_1 + 0x14)) {
      return var_4;
    }
                    /* WARNING: Subroutine does not return */
    var_11();
  }
  pcVar5 = var_6(0,style,var_8);
  uVar6 = var_7(0,"Expected an integer: %s",5,var_4);
                    /* WARNING: Subroutine does not return */
  var_5(1,*piVar1,uVar6,pcVar5);
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void MASKED(char *param_1,undefined4 param_2)

{
  int *piVar1;
  long lVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  int in_GS_OFFSET;
  char *local_24;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x24629;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  piVar1 = __errno_location();
  *piVar1 = 0;
  lVar2 = strtol(param_1,&local_24,10);
  if (0xfffffffd < lVar2 + 0x7fffffffU) {
    if (*piVar1 != 0x22) {
                    /* WARNING: Subroutine does not return */
      error(1,*piVar1,&DAT_00056495,param_1);
    }
                    /* WARNING: Subroutine does not return */
    error(1,0x22,&DAT_00056495,param_1);
  }
  if (*local_24 != '\0') {
    uVar4 = FUN_000324c0(1,param_2,param_1,local_24);
    uVar5 = FUN_000324c0(0,param_2,local_24);
    uVar3 = dcgettext(0,"Unexpected suffix %s on %s",5);
                    /* WARNING: Subroutine does not return */
    error(1,*piVar1,uVar3,uVar5,uVar4);
  }
  if (param_1 != local_24) {
    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
      return;
    }
                    /* WARNING: Subroutine does not return */
    FUN_0004e0c0();
  }
  uVar4 = FUN_000324c0(0,param_2,param_1,lVar2);
  uVar5 = dcgettext(0,"Expected an integer: %s",5);
                    /* WARNING: Subroutine does not return */
  error(1,*piVar1,uVar5,uVar4);
}

