
int fxp_got_status(sftp_packet *pktin)

{
  int iVar1;
  long in_FS_OFFSET;
  ulong ul;
  long local_10;
  
  local_10 = *(long *)(in_FS_OFFSET + 0x28);
  if (pktin->type == 0x65) {
    iVar1 = sftp_pkt_getuint32(pktin,&ul);
    if (iVar1 == 0) {
      fxp_error_message = "malformed FXP_STATUS packet";
      fxp_errtype = -1;
    }
    else {
      fxp_errtype = (uint)ul;
      if ((uint)ul < 9) {
        fxp_error_message = fxp_got_status::messages[(int)(uint)ul];
      }
      else {
        fxp_error_message = "unknown error code";
      }
    }
    if (fxp_errtype == 0) {
      iVar1 = 1;
      goto LAB_0011a8a2;
    }
  }
  else {
    fxp_error_message = "expected FXP_STATUS packet";
    fxp_errtype = -1;
  }
  iVar1 = -(uint)(fxp_errtype != 1);
LAB_0011a8a2:
  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {
    return iVar1;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}



int FUN_0011a860(long param_1)

{
  int iVar1;
  long in_FS_OFFSET;
  uint local_18 [2];
  long local_10;
  
  local_10 = *(long *)(in_FS_OFFSET + 0x28);
  if (*(int *)(param_1 + 0x14) == 0x65) {
    iVar1 = FUN_0011a7ea(param_1,local_18);
    if (iVar1 == 0) {
      DAT_00183390 = "malformed FXP_STATUS packet";
      DAT_00183388 = 0xffffffff;
    }
    else {
      DAT_00183388 = local_18[0];
      if (local_18[0] < 9) {
        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];
      }
      else {
        DAT_00183390 = "unknown error code";
      }
    }
    if (DAT_00183388 == 0) {
      iVar1 = 1;
      goto LAB_0011a8a2;
    }
  }
  else {
    DAT_00183390 = "expected FXP_STATUS packet";
    DAT_00183388 = 0xffffffff;
  }
  iVar1 = -(uint)(DAT_00183388 != 1);
LAB_0011a8a2:
  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {
    return iVar1;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}


SUB RSP,0x18
MOV RAX,qword ptr FS:[0x28]
MOV qword ptr [RSP + 0x8],RAX
XOR EAX,EAX
CMP dword ptr [RDI + 0x14],0x65
JZ 0x0011a8b7
LEA RAX,[0x160a5a]
MOV qword ptr [0x00183390],RAX
MOV dword ptr [0x00183388],0xffffffff
MOV EAX,0xffffffff
CMP EAX,0x1
SETNZ AL
MOVZX EAX,AL
NEG EAX
MOV RCX,qword ptr [RSP + 0x8]
XOR RCX,qword ptr FS:[0x28]
JNZ 0x0011a921
ADD RSP,0x18
RET
MOV RSI,RSP
CALL 0x0011a7ea
TEST EAX,EAX
JNZ 0x0011a8ec
LEA RAX,[0x160a75]
MOV qword ptr [0x00183390],RAX
MOV dword ptr [0x00183388],0xffffffff
MOV EAX,dword ptr [0x00183388]
TEST EAX,EAX
JNZ 0x0011a897
MOV EAX,0x1
JMP 0x0011a8a2
MOV RAX,qword ptr [RSP]
MOV dword ptr [0x00183388],EAX
CMP EAX,0x8
JBE 0x0011a90b
LEA RAX,[0x160a91]
MOV qword ptr [0x00183390],RAX
JMP 0x0011a8db
CDQE
LEA RDX,[0x180a00]
MOV RAX,qword ptr [RDX + RAX*0x8]
MOV qword ptr [0x00183390],RAX
JMP 0x0011a8db
CALL 0x00107290
(translation_unit "int FUN_0011a860(long param_1)\n\n{\n  int iVar1;\n  long in_FS_OFFSET;\n  uint local_18 [2];\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  if (*(int *)(param_1 + 0x14) == 0x65) {\n    iVar1 = FUN_0011a7ea(param_1,local_18);\n    if (iVar1 == 0) {\n      DAT_00183390 = "malformed FXP_STATUS packet";\n      DAT_00183388 = 0xffffffff;\n    }\n    else {\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }\n    if (DAT_00183388 == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }\n  }\n  else {\n    DAT_00183390 = "expected FXP_STATUS packet";\n    DAT_00183388 = 0xffffffff;\n  }\n  iVar1 = -(uint)(DAT_00183388 != 1);\nLAB_0011a8a2:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}\n\n" (function_definition "int FUN_0011a860(long param_1)\n\n{\n  int iVar1;\n  long in_FS_OFFSET;\n  uint local_18 [2];\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  if (*(int *)(param_1 + 0x14) == 0x65) {\n    iVar1 = FUN_0011a7ea(param_1,local_18);\n    if (iVar1 == 0) {\n      DAT_00183390 = "malformed FXP_STATUS packet";\n      DAT_00183388 = 0xffffffff;\n    }\n    else {\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }\n    if (DAT_00183388 == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }\n  }\n  else {\n    DAT_00183390 = "expected FXP_STATUS packet";\n    DAT_00183388 = 0xffffffff;\n  }\n  iVar1 = -(uint)(DAT_00183388 != 1);\nLAB_0011a8a2:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" primitive_type (function_declarator "FUN_0011a860(long param_1)" identifier (parameter_list "(long param_1)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  int iVar1;\n  long in_FS_OFFSET;\n  uint local_18 [2];\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  if (*(int *)(param_1 + 0x14) == 0x65) {\n    iVar1 = FUN_0011a7ea(param_1,local_18);\n    if (iVar1 == 0) {\n      DAT_00183390 = "malformed FXP_STATUS packet";\n      DAT_00183388 = 0xffffffff;\n    }\n    else {\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }\n    if (DAT_00183388 == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }\n  }\n  else {\n    DAT_00183390 = "expected FXP_STATUS packet";\n    DAT_00183388 = 0xffffffff;\n  }\n  iVar1 = -(uint)(DAT_00183388 != 1);\nLAB_0011a8a2:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "uint local_18 [2];" type_identifier (array_declarator "local_18 [2]" identifier [ number_literal ]) ;) (declaration "long local_10;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_10 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_10 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(param_1 + 0x14) == 0x65) {\n    iVar1 = FUN_0011a7ea(param_1,local_18);\n    if (iVar1 == 0) {\n      DAT_00183390 = "malformed FXP_STATUS packet";\n      DAT_00183388 = 0xffffffff;\n    }\n    else {\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }\n    if (DAT_00183388 == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }\n  }\n  else {\n    DAT_00183390 = "expected FXP_STATUS packet";\n    DAT_00183388 = 0xffffffff;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x14) == 0x65)" ( (binary_expression "*(int *)(param_1 + 0x14) == 0x65" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    iVar1 = FUN_0011a7ea(param_1,local_18);\n    if (iVar1 == 0) {\n      DAT_00183390 = "malformed FXP_STATUS packet";\n      DAT_00183388 = 0xffffffff;\n    }\n    else {\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }\n    if (DAT_00183388 == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }\n  }" { (expression_statement "iVar1 = FUN_0011a7ea(param_1,local_18);" (assignment_expression "iVar1 = FUN_0011a7ea(param_1,local_18)" identifier = (call_expression "FUN_0011a7ea(param_1,local_18)" identifier (argument_list "(param_1,local_18)" ( identifier , identifier )))) ;) (if_statement "if (iVar1 == 0) {\n      DAT_00183390 = "malformed FXP_STATUS packet";\n      DAT_00183388 = 0xffffffff;\n    }\n    else {\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      DAT_00183390 = "malformed FXP_STATUS packet";\n      DAT_00183388 = 0xffffffff;\n    }" { (expression_statement "DAT_00183390 = "malformed FXP_STATUS packet";" (assignment_expression "DAT_00183390 = "malformed FXP_STATUS packet"" identifier = (string_literal ""malformed FXP_STATUS packet"" " string_content ")) ;) (expression_statement "DAT_00183388 = 0xffffffff;" (assignment_expression "DAT_00183388 = 0xffffffff" identifier = number_literal) ;) }) (else_clause "else {\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }" else (compound_statement "{\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }" { (expression_statement "DAT_00183388 = local_18[0];" (assignment_expression "DAT_00183388 = local_18[0]" identifier = (subscript_expression "local_18[0]" identifier [ number_literal ])) ;) (if_statement "if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }" if (parenthesized_expression "(local_18[0] < 9)" ( (binary_expression "local_18[0] < 9" (subscript_expression "local_18[0]" identifier [ number_literal ]) < number_literal) )) (compound_statement "{\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }" { (expression_statement "DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];" (assignment_expression "DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]]" identifier = (subscript_expression "(&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]]" (parenthesized_expression "(&PTR_s_unexpected_OK_response_00180a00)" ( (pointer_expression "&PTR_s_unexpected_OK_response_00180a00" & identifier) )) [ (cast_expression "(int)local_18[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_18[0]" identifier [ number_literal ])) ])) ;) }) (else_clause "else {\n        DAT_00183390 = "unknown error code";\n      }" else (compound_statement "{\n        DAT_00183390 = "unknown error code";\n      }" { (expression_statement "DAT_00183390 = "unknown error code";" (assignment_expression "DAT_00183390 = "unknown error code"" identifier = (string_literal ""unknown error code"" " string_content ")) ;) }))) }))) (if_statement "if (DAT_00183388 == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }" if (parenthesized_expression "(DAT_00183388 == 0)" ( (binary_expression "DAT_00183388 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }" { (expression_statement "iVar1 = 1;" (assignment_expression "iVar1 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0011a8a2;" goto statement_identifier ;) })) }) (else_clause "else {\n    DAT_00183390 = "expected FXP_STATUS packet";\n    DAT_00183388 = 0xffffffff;\n  }" else (compound_statement "{\n    DAT_00183390 = "expected FXP_STATUS packet";\n    DAT_00183388 = 0xffffffff;\n  }" { (expression_statement "DAT_00183390 = "expected FXP_STATUS packet";" (assignment_expression "DAT_00183390 = "expected FXP_STATUS packet"" identifier = (string_literal ""expected FXP_STATUS packet"" " string_content ")) ;) (expression_statement "DAT_00183388 = 0xffffffff;" (assignment_expression "DAT_00183388 = 0xffffffff" identifier = number_literal) ;) }))) (expression_statement "iVar1 = -(uint)(DAT_00183388 != 1);" (assignment_expression "iVar1 = -(uint)(DAT_00183388 != 1)" identifier = (unary_expression "-(uint)(DAT_00183388 != 1)" - (call_expression "(uint)(DAT_00183388 != 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_00183388 != 1)" ( (binary_expression "DAT_00183388 != 1" identifier != number_literal) ))))) ;) (labeled_statement "LAB_0011a8a2:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }" statement_identifier : (if_statement "if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }" if (parenthesized_expression "(local_10 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_10 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return iVar1;\n  }" { (return_statement "return iVar1;" return identifier ;) }))) comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "int fxp_got_status(sftp_packet *pktin)\n\n{\n  int iVar1;\n  long in_FS_OFFSET;\n  ulong ul;\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  if (pktin->type == 0x65) {\n    iVar1 = sftp_pkt_getuint32(pktin,&ul);\n    if (iVar1 == 0) {\n      fxp_error_message = "malformed FXP_STATUS packet";\n      fxp_errtype = -1;\n    }\n    else {\n      fxp_errtype = (uint)ul;\n      if ((uint)ul < 9) {\n        fxp_error_message = fxp_got_status::messages[(int)(uint)ul];\n      }\n      else {\n        fxp_error_message = "unknown error code";\n      }\n    }\n    if (fxp_errtype == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }\n  }\n  else {\n    fxp_error_message = "expected FXP_STATUS packet";\n    fxp_errtype = -1;\n  }\n  iVar1 = -(uint)(fxp_errtype != 1);\nLAB_0011a8a2:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}\n\n" (function_definition "int fxp_got_status(sftp_packet *pktin)\n\n{\n  int iVar1;\n  long in_FS_OFFSET;\n  ulong ul;\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  if (pktin->type == 0x65) {\n    iVar1 = sftp_pkt_getuint32(pktin,&ul);\n    if (iVar1 == 0) {\n      fxp_error_message = "malformed FXP_STATUS packet";\n      fxp_errtype = -1;\n    }\n    else {\n      fxp_errtype = (uint)ul;\n      if ((uint)ul < 9) {\n        fxp_error_message = fxp_got_status::messages[(int)(uint)ul];\n      }\n      else {\n        fxp_error_message = "unknown error code";\n      }\n    }\n    if (fxp_errtype == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }\n  }\n  else {\n    fxp_error_message = "expected FXP_STATUS packet";\n    fxp_errtype = -1;\n  }\n  iVar1 = -(uint)(fxp_errtype != 1);\nLAB_0011a8a2:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" primitive_type (function_declarator "fxp_got_status(sftp_packet *pktin)" identifier (parameter_list "(sftp_packet *pktin)" ( (parameter_declaration "sftp_packet *pktin" type_identifier (pointer_declarator "*pktin" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  long in_FS_OFFSET;\n  ulong ul;\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  if (pktin->type == 0x65) {\n    iVar1 = sftp_pkt_getuint32(pktin,&ul);\n    if (iVar1 == 0) {\n      fxp_error_message = "malformed FXP_STATUS packet";\n      fxp_errtype = -1;\n    }\n    else {\n      fxp_errtype = (uint)ul;\n      if ((uint)ul < 9) {\n        fxp_error_message = fxp_got_status::messages[(int)(uint)ul];\n      }\n      else {\n        fxp_error_message = "unknown error code";\n      }\n    }\n    if (fxp_errtype == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }\n  }\n  else {\n    fxp_error_message = "expected FXP_STATUS packet";\n    fxp_errtype = -1;\n  }\n  iVar1 = -(uint)(fxp_errtype != 1);\nLAB_0011a8a2:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong ul;" type_identifier identifier ;) (declaration "long local_10;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_10 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_10 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (pktin->type == 0x65) {\n    iVar1 = sftp_pkt_getuint32(pktin,&ul);\n    if (iVar1 == 0) {\n      fxp_error_message = "malformed FXP_STATUS packet";\n      fxp_errtype = -1;\n    }\n    else {\n      fxp_errtype = (uint)ul;\n      if ((uint)ul < 9) {\n        fxp_error_message = fxp_got_status::messages[(int)(uint)ul];\n      }\n      else {\n        fxp_error_message = "unknown error code";\n      }\n    }\n    if (fxp_errtype == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }\n  }\n  else {\n    fxp_error_message = "expected FXP_STATUS packet";\n    fxp_errtype = -1;\n  }" if (parenthesized_expression "(pktin->type == 0x65)" ( (binary_expression "pktin->type == 0x65" (field_expression "pktin->type" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n    iVar1 = sftp_pkt_getuint32(pktin,&ul);\n    if (iVar1 == 0) {\n      fxp_error_message = "malformed FXP_STATUS packet";\n      fxp_errtype = -1;\n    }\n    else {\n      fxp_errtype = (uint)ul;\n      if ((uint)ul < 9) {\n        fxp_error_message = fxp_got_status::messages[(int)(uint)ul];\n      }\n      else {\n        fxp_error_message = "unknown error code";\n      }\n    }\n    if (fxp_errtype == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }\n  }" { (expression_statement "iVar1 = sftp_pkt_getuint32(pktin,&ul);" (assignment_expression "iVar1 = sftp_pkt_getuint32(pktin,&ul)" identifier = (call_expression "sftp_pkt_getuint32(pktin,&ul)" identifier (argument_list "(pktin,&ul)" ( identifier , (pointer_expression "&ul" & identifier) )))) ;) (if_statement "if (iVar1 == 0) {\n      fxp_error_message = "malformed FXP_STATUS packet";\n      fxp_errtype = -1;\n    }\n    else {\n      fxp_errtype = (uint)ul;\n      if ((uint)ul < 9) {\n        fxp_error_message = fxp_got_status::messages[(int)(uint)ul];\n      }\n      else {\n        fxp_error_message = "unknown error code";\n      }\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      fxp_error_message = "malformed FXP_STATUS packet";\n      fxp_errtype = -1;\n    }" { (expression_statement "fxp_error_message = "malformed FXP_STATUS packet";" (assignment_expression "fxp_error_message = "malformed FXP_STATUS packet"" identifier = (string_literal ""malformed FXP_STATUS packet"" " string_content ")) ;) (expression_statement "fxp_errtype = -1;" (assignment_expression "fxp_errtype = -1" identifier = number_literal) ;) }) (else_clause "else {\n      fxp_errtype = (uint)ul;\n      if ((uint)ul < 9) {\n        fxp_error_message = fxp_got_status::messages[(int)(uint)ul];\n      }\n      else {\n        fxp_error_message = "unknown error code";\n      }\n    }" else (compound_statement "{\n      fxp_errtype = (uint)ul;\n      if ((uint)ul < 9) {\n        fxp_error_message = fxp_got_status::messages[(int)(uint)ul];\n      }\n      else {\n        fxp_error_message = "unknown error code";\n      }\n    }" { (expression_statement "fxp_errtype = (uint)ul;" (assignment_expression "fxp_errtype = (uint)ul" identifier = (cast_expression "(uint)ul" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((uint)ul < 9) {\n        fxp_error_message = fxp_got_status::messages[(int)(uint)ul];\n      }\n      else {\n        fxp_error_message = "unknown error code";\n      }" if (parenthesized_expression "((uint)ul < 9)" ( (binary_expression "(uint)ul < 9" (cast_expression "(uint)ul" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n        fxp_error_message = fxp_got_status::messages[(int)(uint)ul];\n      }" { (expression_statement "fxp_error_message = fxp_got_status::messages[(int)(uint)ul];" (subscript_expression "fxp_error_message = fxp_got_status::messages[(int)(uint)ul]" (assignment_expression "fxp_error_message = fxp_got_status" identifier = identifier) (ERROR "::messages" : : identifier) [ (cast_expression "(int)(uint)ul" ( (type_descriptor "int" primitive_type) ) (cast_expression "(uint)ul" ( (type_descriptor "uint" type_identifier) ) identifier)) ]) ;) }) (else_clause "else {\n        fxp_error_message = "unknown error code";\n      }" else (compound_statement "{\n        fxp_error_message = "unknown error code";\n      }" { (expression_statement "fxp_error_message = "unknown error code";" (assignment_expression "fxp_error_message = "unknown error code"" identifier = (string_literal ""unknown error code"" " string_content ")) ;) }))) }))) (if_statement "if (fxp_errtype == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }" if (parenthesized_expression "(fxp_errtype == 0)" ( (binary_expression "fxp_errtype == 0" identifier == number_literal) )) (compound_statement "{\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }" { (expression_statement "iVar1 = 1;" (assignment_expression "iVar1 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0011a8a2;" goto statement_identifier ;) })) }) (else_clause "else {\n    fxp_error_message = "expected FXP_STATUS packet";\n    fxp_errtype = -1;\n  }" else (compound_statement "{\n    fxp_error_message = "expected FXP_STATUS packet";\n    fxp_errtype = -1;\n  }" { (expression_statement "fxp_error_message = "expected FXP_STATUS packet";" (assignment_expression "fxp_error_message = "expected FXP_STATUS packet"" identifier = (string_literal ""expected FXP_STATUS packet"" " string_content ")) ;) (expression_statement "fxp_errtype = -1;" (assignment_expression "fxp_errtype = -1" identifier = number_literal) ;) }))) (expression_statement "iVar1 = -(uint)(fxp_errtype != 1);" (assignment_expression "iVar1 = -(uint)(fxp_errtype != 1)" identifier = (unary_expression "-(uint)(fxp_errtype != 1)" - (call_expression "(uint)(fxp_errtype != 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(fxp_errtype != 1)" ( (binary_expression "fxp_errtype != 1" identifier != number_literal) ))))) ;) (labeled_statement "LAB_0011a8a2:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }" statement_identifier : (if_statement "if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }" if (parenthesized_expression "(local_10 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_10 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return iVar1;\n  }" { (return_statement "return iVar1;" return identifier ;) }))) comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "int FUN_0011a860(long param_1)\n\n{\n  int iVar1;\n  long in_FS_OFFSET;\n  uint local_18 [2];\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  if (*(int *)(param_1 + 0x14) == 0x65) {\n    iVar1 = FUN_0011a7ea(param_1,local_18);\n    if (iVar1 == 0) {\n      DAT_00183390 = "malformed FXP_STATUS packet";\n      DAT_00183388 = 0xffffffff;\n    }\n    else {\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }\n    if (DAT_00183388 == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }\n  }\n  else {\n    DAT_00183390 = "expected FXP_STATUS packet";\n    DAT_00183388 = 0xffffffff;\n  }\n  iVar1 = -(uint)(DAT_00183388 != 1);\nLAB_0011a8a2:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }\n                    \n  __stack_chk_fail();\n}\n\n" (function_definition "int FUN_0011a860(long param_1)\n\n{\n  int iVar1;\n  long in_FS_OFFSET;\n  uint local_18 [2];\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  if (*(int *)(param_1 + 0x14) == 0x65) {\n    iVar1 = FUN_0011a7ea(param_1,local_18);\n    if (iVar1 == 0) {\n      DAT_00183390 = "malformed FXP_STATUS packet";\n      DAT_00183388 = 0xffffffff;\n    }\n    else {\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }\n    if (DAT_00183388 == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }\n  }\n  else {\n    DAT_00183390 = "expected FXP_STATUS packet";\n    DAT_00183388 = 0xffffffff;\n  }\n  iVar1 = -(uint)(DAT_00183388 != 1);\nLAB_0011a8a2:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }\n                    \n  __stack_chk_fail();\n}" primitive_type (function_declarator "FUN_0011a860(long param_1)" identifier (parameter_list "(long param_1)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  int iVar1;\n  long in_FS_OFFSET;\n  uint local_18 [2];\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  if (*(int *)(param_1 + 0x14) == 0x65) {\n    iVar1 = FUN_0011a7ea(param_1,local_18);\n    if (iVar1 == 0) {\n      DAT_00183390 = "malformed FXP_STATUS packet";\n      DAT_00183388 = 0xffffffff;\n    }\n    else {\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }\n    if (DAT_00183388 == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }\n  }\n  else {\n    DAT_00183390 = "expected FXP_STATUS packet";\n    DAT_00183388 = 0xffffffff;\n  }\n  iVar1 = -(uint)(DAT_00183388 != 1);\nLAB_0011a8a2:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }\n                    \n  __stack_chk_fail();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "uint local_18 [2];" type_identifier (array_declarator "local_18 [2]" identifier [ number_literal ]) ;) (declaration "long local_10;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_10 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_10 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(param_1 + 0x14) == 0x65) {\n    iVar1 = FUN_0011a7ea(param_1,local_18);\n    if (iVar1 == 0) {\n      DAT_00183390 = "malformed FXP_STATUS packet";\n      DAT_00183388 = 0xffffffff;\n    }\n    else {\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }\n    if (DAT_00183388 == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }\n  }\n  else {\n    DAT_00183390 = "expected FXP_STATUS packet";\n    DAT_00183388 = 0xffffffff;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x14) == 0x65)" ( (binary_expression "*(int *)(param_1 + 0x14) == 0x65" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    iVar1 = FUN_0011a7ea(param_1,local_18);\n    if (iVar1 == 0) {\n      DAT_00183390 = "malformed FXP_STATUS packet";\n      DAT_00183388 = 0xffffffff;\n    }\n    else {\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }\n    if (DAT_00183388 == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }\n  }" { (expression_statement "iVar1 = FUN_0011a7ea(param_1,local_18);" (assignment_expression "iVar1 = FUN_0011a7ea(param_1,local_18)" identifier = (call_expression "FUN_0011a7ea(param_1,local_18)" identifier (argument_list "(param_1,local_18)" ( identifier , identifier )))) ;) (if_statement "if (iVar1 == 0) {\n      DAT_00183390 = "malformed FXP_STATUS packet";\n      DAT_00183388 = 0xffffffff;\n    }\n    else {\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      DAT_00183390 = "malformed FXP_STATUS packet";\n      DAT_00183388 = 0xffffffff;\n    }" { (expression_statement "DAT_00183390 = "malformed FXP_STATUS packet";" (assignment_expression "DAT_00183390 = "malformed FXP_STATUS packet"" identifier = (string_literal ""malformed FXP_STATUS packet"" " string_content ")) ;) (expression_statement "DAT_00183388 = 0xffffffff;" (assignment_expression "DAT_00183388 = 0xffffffff" identifier = number_literal) ;) }) (else_clause "else {\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }" else (compound_statement "{\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }" { (expression_statement "DAT_00183388 = local_18[0];" (assignment_expression "DAT_00183388 = local_18[0]" identifier = (subscript_expression "local_18[0]" identifier [ number_literal ])) ;) (if_statement "if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }" if (parenthesized_expression "(local_18[0] < 9)" ( (binary_expression "local_18[0] < 9" (subscript_expression "local_18[0]" identifier [ number_literal ]) < number_literal) )) (compound_statement "{\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }" { (expression_statement "DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];" (assignment_expression "DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]]" identifier = (subscript_expression "(&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]]" (parenthesized_expression "(&PTR_s_unexpected_OK_response_00180a00)" ( (pointer_expression "&PTR_s_unexpected_OK_response_00180a00" & identifier) )) [ (cast_expression "(int)local_18[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_18[0]" identifier [ number_literal ])) ])) ;) }) (else_clause "else {\n        DAT_00183390 = "unknown error code";\n      }" else (compound_statement "{\n        DAT_00183390 = "unknown error code";\n      }" { (expression_statement "DAT_00183390 = "unknown error code";" (assignment_expression "DAT_00183390 = "unknown error code"" identifier = (string_literal ""unknown error code"" " string_content ")) ;) }))) }))) (if_statement "if (DAT_00183388 == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }" if (parenthesized_expression "(DAT_00183388 == 0)" ( (binary_expression "DAT_00183388 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }" { (expression_statement "iVar1 = 1;" (assignment_expression "iVar1 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0011a8a2;" goto statement_identifier ;) })) }) (else_clause "else {\n    DAT_00183390 = "expected FXP_STATUS packet";\n    DAT_00183388 = 0xffffffff;\n  }" else (compound_statement "{\n    DAT_00183390 = "expected FXP_STATUS packet";\n    DAT_00183388 = 0xffffffff;\n  }" { (expression_statement "DAT_00183390 = "expected FXP_STATUS packet";" (assignment_expression "DAT_00183390 = "expected FXP_STATUS packet"" identifier = (string_literal ""expected FXP_STATUS packet"" " string_content ")) ;) (expression_statement "DAT_00183388 = 0xffffffff;" (assignment_expression "DAT_00183388 = 0xffffffff" identifier = number_literal) ;) }))) (expression_statement "iVar1 = -(uint)(DAT_00183388 != 1);" (assignment_expression "iVar1 = -(uint)(DAT_00183388 != 1)" identifier = (unary_expression "-(uint)(DAT_00183388 != 1)" - (call_expression "(uint)(DAT_00183388 != 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_00183388 != 1)" ( (binary_expression "DAT_00183388 != 1" identifier != number_literal) ))))) ;) (labeled_statement "LAB_0011a8a2:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }" statement_identifier : (if_statement "if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }" if (parenthesized_expression "(local_10 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_10 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return iVar1;\n  }" { (return_statement "return iVar1;" return identifier ;) }))) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) ))))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "int FUN_0011a860(long param_1)\n\n{\n  int iVar1;\n  long in_FS_OFFSET;\n  uint local_18 [2];\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  if (*(int *)(param_1 + 0x14) == 0x65) {\n    iVar1 = FUN_0011a7ea(param_1,local_18);\n    if (iVar1 == 0) {\n      DAT_00183390 = "malformed FXP_STATUS packet";\n      DAT_00183388 = 0xffffffff;\n    }\n    else {\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }\n    if (DAT_00183388 == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }\n  }\n  else {\n    DAT_00183390 = "expected FXP_STATUS packet";\n    DAT_00183388 = 0xffffffff;\n  }\n  iVar1 = -(uint)(DAT_00183388 != 1);\nLAB_0011a8a2:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }\n                    \n  __stack_chk_fail();\n}" (primitive_type "int") (function_declarator "FUN_0011a860(long param_1)" (identifier "FUN_0011a860") (parameter_list "(long param_1)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) () ")"))) (compound_statement "{\n  int iVar1;\n  long in_FS_OFFSET;\n  uint local_18 [2];\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  if (*(int *)(param_1 + 0x14) == 0x65) {\n    iVar1 = FUN_0011a7ea(param_1,local_18);\n    if (iVar1 == 0) {\n      DAT_00183390 = "malformed FXP_STATUS packet";\n      DAT_00183388 = 0xffffffff;\n    }\n    else {\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }\n    if (DAT_00183388 == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }\n  }\n  else {\n    DAT_00183390 = "expected FXP_STATUS packet";\n    DAT_00183388 = 0xffffffff;\n  }\n  iVar1 = -(uint)(DAT_00183388 != 1);\nLAB_0011a8a2:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }\n                    \n  __stack_chk_fail();\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "uint local_18 [2];" (type_identifier "uint") (array_declarator "local_18 [2]" (identifier "local_18") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "long local_10;" (sized_type_specifier "long" (long "long")) (identifier "local_10") (; ";")) (expression_statement "local_10 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_10 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_10") (= "=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x14) == 0x65) {\n    iVar1 = FUN_0011a7ea(param_1,local_18);\n    if (iVar1 == 0) {\n      DAT_00183390 = "malformed FXP_STATUS packet";\n      DAT_00183388 = 0xffffffff;\n    }\n    else {\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }\n    if (DAT_00183388 == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }\n  }\n  else {\n    DAT_00183390 = "expected FXP_STATUS packet";\n    DAT_00183388 = 0xffffffff;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x14) == 0x65)" (( "(") (binary_expression "*(int *)(param_1 + 0x14) == 0x65" (pointer_expression "*(int *)(param_1 + 0x14)" (* "*") (cast_expression "(int *)(param_1 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (== "==") (number_literal "0x65")) () ")")) (compound_statement "{\n    iVar1 = FUN_0011a7ea(param_1,local_18);\n    if (iVar1 == 0) {\n      DAT_00183390 = "malformed FXP_STATUS packet";\n      DAT_00183388 = 0xffffffff;\n    }\n    else {\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }\n    if (DAT_00183388 == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }\n  }" ({ "{") (expression_statement "iVar1 = FUN_0011a7ea(param_1,local_18);" (assignment_expression "iVar1 = FUN_0011a7ea(param_1,local_18)" (identifier "iVar1") (= "=") (call_expression "FUN_0011a7ea(param_1,local_18)" (identifier "FUN_0011a7ea") (argument_list "(param_1,local_18)" (( "(") (identifier "param_1") (, ",") (identifier "local_18") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n      DAT_00183390 = "malformed FXP_STATUS packet";\n      DAT_00183388 = 0xffffffff;\n    }\n    else {\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      DAT_00183390 = "malformed FXP_STATUS packet";\n      DAT_00183388 = 0xffffffff;\n    }" ({ "{") (expression_statement "DAT_00183390 = "malformed FXP_STATUS packet";" (assignment_expression "DAT_00183390 = "malformed FXP_STATUS packet"" (identifier "DAT_00183390") (= "=") (string_literal ""malformed FXP_STATUS packet"" (" """) (string_content "malformed FXP_STATUS packet") (" """))) (; ";")) (expression_statement "DAT_00183388 = 0xffffffff;" (assignment_expression "DAT_00183388 = 0xffffffff" (identifier "DAT_00183388") (= "=") (number_literal "0xffffffff")) (; ";")) (} "}")) (else_clause "else {\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }" (else "else") (compound_statement "{\n      DAT_00183388 = local_18[0];\n      if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }\n    }" ({ "{") (expression_statement "DAT_00183388 = local_18[0];" (assignment_expression "DAT_00183388 = local_18[0]" (identifier "DAT_00183388") (= "=") (subscript_expression "local_18[0]" (identifier "local_18") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if (local_18[0] < 9) {\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }\n      else {\n        DAT_00183390 = "unknown error code";\n      }" (if "if") (parenthesized_expression "(local_18[0] < 9)" (( "(") (binary_expression "local_18[0] < 9" (subscript_expression "local_18[0]" (identifier "local_18") ([ "[") (number_literal "0") (] "]")) (< "<") (number_literal "9")) () ")")) (compound_statement "{\n        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];\n      }" ({ "{") (expression_statement "DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];" (assignment_expression "DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]]" (identifier "DAT_00183390") (= "=") (subscript_expression "(&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]]" (parenthesized_expression "(&PTR_s_unexpected_OK_response_00180a00)" (( "(") (pointer_expression "&PTR_s_unexpected_OK_response_00180a00" (& "&") (identifier "PTR_s_unexpected_OK_response_00180a00")) () ")")) ([ "[") (cast_expression "(int)local_18[0]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_18[0]" (identifier "local_18") ([ "[") (number_literal "0") (] "]"))) (] "]"))) (; ";")) (} "}")) (else_clause "else {\n        DAT_00183390 = "unknown error code";\n      }" (else "else") (compound_statement "{\n        DAT_00183390 = "unknown error code";\n      }" ({ "{") (expression_statement "DAT_00183390 = "unknown error code";" (assignment_expression "DAT_00183390 = "unknown error code"" (identifier "DAT_00183390") (= "=") (string_literal ""unknown error code"" (" """) (string_content "unknown error code") (" """))) (; ";")) (} "}")))) (} "}")))) (if_statement "if (DAT_00183388 == 0) {\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }" (if "if") (parenthesized_expression "(DAT_00183388 == 0)" (( "(") (binary_expression "DAT_00183388 == 0" (identifier "DAT_00183388") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar1 = 1;\n      goto LAB_0011a8a2;\n    }" ({ "{") (expression_statement "iVar1 = 1;" (assignment_expression "iVar1 = 1" (identifier "iVar1") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0011a8a2;" (goto "goto") (statement_identifier "LAB_0011a8a2") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    DAT_00183390 = "expected FXP_STATUS packet";\n    DAT_00183388 = 0xffffffff;\n  }" (else "else") (compound_statement "{\n    DAT_00183390 = "expected FXP_STATUS packet";\n    DAT_00183388 = 0xffffffff;\n  }" ({ "{") (expression_statement "DAT_00183390 = "expected FXP_STATUS packet";" (assignment_expression "DAT_00183390 = "expected FXP_STATUS packet"" (identifier "DAT_00183390") (= "=") (string_literal ""expected FXP_STATUS packet"" (" """) (string_content "expected FXP_STATUS packet") (" """))) (; ";")) (expression_statement "DAT_00183388 = 0xffffffff;" (assignment_expression "DAT_00183388 = 0xffffffff" (identifier "DAT_00183388") (= "=") (number_literal "0xffffffff")) (; ";")) (} "}")))) (expression_statement "iVar1 = -(uint)(DAT_00183388 != 1);" (assignment_expression "iVar1 = -(uint)(DAT_00183388 != 1)" (identifier "iVar1") (= "=") (unary_expression "-(uint)(DAT_00183388 != 1)" (- "-") (call_expression "(uint)(DAT_00183388 != 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(DAT_00183388 != 1)" (( "(") (binary_expression "DAT_00183388 != 1" (identifier "DAT_00183388") (!= "!=") (number_literal "1")) () ")"))))) (; ";")) (labeled_statement "LAB_0011a8a2:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }" (statement_identifier "LAB_0011a8a2") (: ":") (if_statement "if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }" (if "if") (parenthesized_expression "(local_10 == *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "local_10 == *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_10") (== "==") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n    return iVar1;\n  }" ({ "{") (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}")))) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" (identifier "__stack_chk_fail") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

int function_1(type_1 *pktin)

{
  int var_3;
  long var_1;
  type_2 ul;
  long var_5;
  
  var_5 = *(long *)(var_1 + 0x28);
  if (pktin->type == 0x65) {
    var_3 = var_2(pktin,&ul);
    if (var_3 == 0) {
      fxp_error_message = "malformed FXP_STATUS packet";
      var_4 = -1;
    }
    else {
      var_4 = (type_3)ul;
      if ((type_3)ul < 9) {
        fxp_error_message = function_1::messages[(int)(type_3)ul];
      }
      else {
        fxp_error_message = "unknown error code";
      }
    }
    if (var_4 == 0) {
      var_3 = 1;
      goto LAB_0011a8a2;
    }
  }
  else {
    fxp_error_message = "expected FXP_STATUS packet";
    var_4 = -1;
  }
  var_3 = -(type_3)(var_4 != 1);
LAB_0011a8a2:
  if (var_5 == *(long *)(var_1 + 0x28)) {
    return var_3;
  }
                    /* WARNING: Subroutine does not return */
  var_6();
}


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

int MASKED(long param_1)

{
  int iVar1;
  long in_FS_OFFSET;
  uint local_18 [2];
  long local_10;
  
  local_10 = *(long *)(in_FS_OFFSET + 0x28);
  if (*(int *)(param_1 + 0x14) == 0x65) {
    iVar1 = FUN_0011a7ea(param_1,local_18);
    if (iVar1 == 0) {
      DAT_00183390 = "malformed FXP_STATUS packet";
      DAT_00183388 = 0xffffffff;
    }
    else {
      DAT_00183388 = local_18[0];
      if (local_18[0] < 9) {
        DAT_00183390 = (&PTR_s_unexpected_OK_response_00180a00)[(int)local_18[0]];
      }
      else {
        DAT_00183390 = "unknown error code";
      }
    }
    if (DAT_00183388 == 0) {
      iVar1 = 1;
      goto LAB_0011a8a2;
    }
  }
  else {
    DAT_00183390 = "expected FXP_STATUS packet";
    DAT_00183388 = 0xffffffff;
  }
  iVar1 = -(uint)(DAT_00183388 != 1);
LAB_0011a8a2:
  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {
    return iVar1;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}

