
/* WARNING: Function: __x86.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */

char * __regparm3 sftp_libssh2_strerror(int err)

{
  switch(err) {
  default:
    return "Unknown error in libssh2";
  case 2:
  case 10:
    return "No such file or directory";
  case 3:
    return "Permission denied";
  case 4:
    return "Operation failed";
  case 5:
    return "Bad message from SFTP server";
  case 6:
    return "Not connected to SFTP server";
  case 7:
    return "Connection to SFTP server lost";
  case 8:
    return "Operation not supported by SFTP server";
  case 9:
    return "Invalid handle";
  case 0xb:
    return "File already exists";
  case 0xc:
    return "File is write protected";
  case 0xd:
    return "No media";
  case 0xe:
    return "Disk full";
  case 0xf:
    return "User quota exceeded";
  case 0x10:
    return "Unknown principle";
  case 0x11:
    return "File lock conflict";
  case 0x12:
    return "Directory not empty";
  case 0x13:
    return "Not a directory";
  case 0x14:
    return "Invalid filename";
  case 0x15:
    return "Link points to itself";
  }
}



/* WARNING: Function: __i686.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */

char * __regparm3 FUN_0004c780(undefined4 param_1)

{
  switch(param_1) {
  default:
    return "Unknown error in libssh2";
  case 2:
  case 10:
    return "No such file or directory";
  case 3:
    return "Permission denied";
  case 4:
    return "Operation failed";
  case 5:
    return "Bad message from SFTP server";
  case 6:
    return "Not connected to SFTP server";
  case 7:
    return "Connection to SFTP server lost";
  case 8:
    return "Operation not supported by SFTP server";
  case 9:
    return "Invalid handle";
  case 0xb:
    return "File already exists";
  case 0xc:
    return "File is write protected";
  case 0xd:
    return "No media";
  case 0xe:
    return "Disk full";
  case 0xf:
    return "User quota exceeded";
  case 0x10:
    return "Unknown principle";
  case 0x11:
    return "File lock conflict";
  case 0x12:
    return "Directory not empty";
  case 0x13:
    return "Not a directory";
  case 0x14:
    return "Invalid filename";
  case 0x15:
    return "Link points to itself";
  }
}


CALL 0x0001a005
ADD EDX,0x6405b
CMP EAX,0x15
JA 0x0004c8c0
MOV ECX,dword ptr [EDX + EAX*0x4 + 0xfffd4280]
ADD ECX,EDX
JMP ECX
LEA EAX,[EDX + 0xfffd363b]
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */\n\nchar * __regparm3 FUN_0004c780(undefined4 param_1)\n\n{\n  switch(param_1) {\n  default:\n    return "Unknown error in libssh2";\n  case 2:\n  case 10:\n    return "No such file or directory";\n  case 3:\n    return "Permission denied";\n  case 4:\n    return "Operation failed";\n  case 5:\n    return "Bad message from SFTP server";\n  case 6:\n    return "Not connected to SFTP server";\n  case 7:\n    return "Connection to SFTP server lost";\n  case 8:\n    return "Operation not supported by SFTP server";\n  case 9:\n    return "Invalid handle";\n  case 0xb:\n    return "File already exists";\n  case 0xc:\n    return "File is write protected";\n  case 0xd:\n    return "No media";\n  case 0xe:\n    return "Disk full";\n  case 0xf:\n    return "User quota exceeded";\n  case 0x10:\n    return "Unknown principle";\n  case 0x11:\n    return "File lock conflict";\n  case 0x12:\n    return "Directory not empty";\n  case 0x13:\n    return "Not a directory";\n  case 0x14:\n    return "Invalid filename";\n  case 0x15:\n    return "Link points to itself";\n  }\n}\n\n" comment (function_definition "char * __regparm3 FUN_0004c780(undefined4 param_1)\n\n{\n  switch(param_1) {\n  default:\n    return "Unknown error in libssh2";\n  case 2:\n  case 10:\n    return "No such file or directory";\n  case 3:\n    return "Permission denied";\n  case 4:\n    return "Operation failed";\n  case 5:\n    return "Bad message from SFTP server";\n  case 6:\n    return "Not connected to SFTP server";\n  case 7:\n    return "Connection to SFTP server lost";\n  case 8:\n    return "Operation not supported by SFTP server";\n  case 9:\n    return "Invalid handle";\n  case 0xb:\n    return "File already exists";\n  case 0xc:\n    return "File is write protected";\n  case 0xd:\n    return "No media";\n  case 0xe:\n    return "Disk full";\n  case 0xf:\n    return "User quota exceeded";\n  case 0x10:\n    return "Unknown principle";\n  case 0x11:\n    return "File lock conflict";\n  case 0x12:\n    return "Directory not empty";\n  case 0x13:\n    return "Not a directory";\n  case 0x14:\n    return "Invalid filename";\n  case 0x15:\n    return "Link points to itself";\n  }\n}" primitive_type (pointer_declarator "* __regparm3 FUN_0004c780(undefined4 param_1)" * (ERROR "__regparm3" identifier) (function_declarator "FUN_0004c780(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) )))) (compound_statement "{\n  switch(param_1) {\n  default:\n    return "Unknown error in libssh2";\n  case 2:\n  case 10:\n    return "No such file or directory";\n  case 3:\n    return "Permission denied";\n  case 4:\n    return "Operation failed";\n  case 5:\n    return "Bad message from SFTP server";\n  case 6:\n    return "Not connected to SFTP server";\n  case 7:\n    return "Connection to SFTP server lost";\n  case 8:\n    return "Operation not supported by SFTP server";\n  case 9:\n    return "Invalid handle";\n  case 0xb:\n    return "File already exists";\n  case 0xc:\n    return "File is write protected";\n  case 0xd:\n    return "No media";\n  case 0xe:\n    return "Disk full";\n  case 0xf:\n    return "User quota exceeded";\n  case 0x10:\n    return "Unknown principle";\n  case 0x11:\n    return "File lock conflict";\n  case 0x12:\n    return "Directory not empty";\n  case 0x13:\n    return "Not a directory";\n  case 0x14:\n    return "Invalid filename";\n  case 0x15:\n    return "Link points to itself";\n  }\n}" { (switch_statement "switch(param_1) {\n  default:\n    return "Unknown error in libssh2";\n  case 2:\n  case 10:\n    return "No such file or directory";\n  case 3:\n    return "Permission denied";\n  case 4:\n    return "Operation failed";\n  case 5:\n    return "Bad message from SFTP server";\n  case 6:\n    return "Not connected to SFTP server";\n  case 7:\n    return "Connection to SFTP server lost";\n  case 8:\n    return "Operation not supported by SFTP server";\n  case 9:\n    return "Invalid handle";\n  case 0xb:\n    return "File already exists";\n  case 0xc:\n    return "File is write protected";\n  case 0xd:\n    return "No media";\n  case 0xe:\n    return "Disk full";\n  case 0xf:\n    return "User quota exceeded";\n  case 0x10:\n    return "Unknown principle";\n  case 0x11:\n    return "File lock conflict";\n  case 0x12:\n    return "Directory not empty";\n  case 0x13:\n    return "Not a directory";\n  case 0x14:\n    return "Invalid filename";\n  case 0x15:\n    return "Link points to itself";\n  }" switch (parenthesized_expression "(param_1)" ( identifier )) (compound_statement "{\n  default:\n    return "Unknown error in libssh2";\n  case 2:\n  case 10:\n    return "No such file or directory";\n  case 3:\n    return "Permission denied";\n  case 4:\n    return "Operation failed";\n  case 5:\n    return "Bad message from SFTP server";\n  case 6:\n    return "Not connected to SFTP server";\n  case 7:\n    return "Connection to SFTP server lost";\n  case 8:\n    return "Operation not supported by SFTP server";\n  case 9:\n    return "Invalid handle";\n  case 0xb:\n    return "File already exists";\n  case 0xc:\n    return "File is write protected";\n  case 0xd:\n    return "No media";\n  case 0xe:\n    return "Disk full";\n  case 0xf:\n    return "User quota exceeded";\n  case 0x10:\n    return "Unknown principle";\n  case 0x11:\n    return "File lock conflict";\n  case 0x12:\n    return "Directory not empty";\n  case 0x13:\n    return "Not a directory";\n  case 0x14:\n    return "Invalid filename";\n  case 0x15:\n    return "Link points to itself";\n  }" { (case_statement "default:\n    return "Unknown error in libssh2";" default : (return_statement "return "Unknown error in libssh2";" return (string_literal ""Unknown error in libssh2"" " string_content ") ;)) (case_statement "case 2:" case number_literal :) (case_statement "case 10:\n    return "No such file or directory";" case number_literal : (return_statement "return "No such file or directory";" return (string_literal ""No such file or directory"" " string_content ") ;)) (case_statement "case 3:\n    return "Permission denied";" case number_literal : (return_statement "return "Permission denied";" return (string_literal ""Permission denied"" " string_content ") ;)) (case_statement "case 4:\n    return "Operation failed";" case number_literal : (return_statement "return "Operation failed";" return (string_literal ""Operation failed"" " string_content ") ;)) (case_statement "case 5:\n    return "Bad message from SFTP server";" case number_literal : (return_statement "return "Bad message from SFTP server";" return (string_literal ""Bad message from SFTP server"" " string_content ") ;)) (case_statement "case 6:\n    return "Not connected to SFTP server";" case number_literal : (return_statement "return "Not connected to SFTP server";" return (string_literal ""Not connected to SFTP server"" " string_content ") ;)) (case_statement "case 7:\n    return "Connection to SFTP server lost";" case number_literal : (return_statement "return "Connection to SFTP server lost";" return (string_literal ""Connection to SFTP server lost"" " string_content ") ;)) (case_statement "case 8:\n    return "Operation not supported by SFTP server";" case number_literal : (return_statement "return "Operation not supported by SFTP server";" return (string_literal ""Operation not supported by SFTP server"" " string_content ") ;)) (case_statement "case 9:\n    return "Invalid handle";" case number_literal : (return_statement "return "Invalid handle";" return (string_literal ""Invalid handle"" " string_content ") ;)) (case_statement "case 0xb:\n    return "File already exists";" case number_literal : (return_statement "return "File already exists";" return (string_literal ""File already exists"" " string_content ") ;)) (case_statement "case 0xc:\n    return "File is write protected";" case number_literal : (return_statement "return "File is write protected";" return (string_literal ""File is write protected"" " string_content ") ;)) (case_statement "case 0xd:\n    return "No media";" case number_literal : (return_statement "return "No media";" return (string_literal ""No media"" " string_content ") ;)) (case_statement "case 0xe:\n    return "Disk full";" case number_literal : (return_statement "return "Disk full";" return (string_literal ""Disk full"" " string_content ") ;)) (case_statement "case 0xf:\n    return "User quota exceeded";" case number_literal : (return_statement "return "User quota exceeded";" return (string_literal ""User quota exceeded"" " string_content ") ;)) (case_statement "case 0x10:\n    return "Unknown principle";" case number_literal : (return_statement "return "Unknown principle";" return (string_literal ""Unknown principle"" " string_content ") ;)) (case_statement "case 0x11:\n    return "File lock conflict";" case number_literal : (return_statement "return "File lock conflict";" return (string_literal ""File lock conflict"" " string_content ") ;)) (case_statement "case 0x12:\n    return "Directory not empty";" case number_literal : (return_statement "return "Directory not empty";" return (string_literal ""Directory not empty"" " string_content ") ;)) (case_statement "case 0x13:\n    return "Not a directory";" case number_literal : (return_statement "return "Not a directory";" return (string_literal ""Not a directory"" " string_content ") ;)) (case_statement "case 0x14:\n    return "Invalid filename";" case number_literal : (return_statement "return "Invalid filename";" return (string_literal ""Invalid filename"" " string_content ") ;)) (case_statement "case 0x15:\n    return "Link points to itself";" case number_literal : (return_statement "return "Link points to itself";" return (string_literal ""Link points to itself"" " string_content ") ;)) })) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */\n\nchar * __regparm3 sftp_libssh2_strerror(int err)\n\n{\n  switch(err) {\n  default:\n    return "Unknown error in libssh2";\n  case 2:\n  case 10:\n    return "No such file or directory";\n  case 3:\n    return "Permission denied";\n  case 4:\n    return "Operation failed";\n  case 5:\n    return "Bad message from SFTP server";\n  case 6:\n    return "Not connected to SFTP server";\n  case 7:\n    return "Connection to SFTP server lost";\n  case 8:\n    return "Operation not supported by SFTP server";\n  case 9:\n    return "Invalid handle";\n  case 0xb:\n    return "File already exists";\n  case 0xc:\n    return "File is write protected";\n  case 0xd:\n    return "No media";\n  case 0xe:\n    return "Disk full";\n  case 0xf:\n    return "User quota exceeded";\n  case 0x10:\n    return "Unknown principle";\n  case 0x11:\n    return "File lock conflict";\n  case 0x12:\n    return "Directory not empty";\n  case 0x13:\n    return "Not a directory";\n  case 0x14:\n    return "Invalid filename";\n  case 0x15:\n    return "Link points to itself";\n  }\n}\n\n" comment (function_definition "char * __regparm3 sftp_libssh2_strerror(int err)\n\n{\n  switch(err) {\n  default:\n    return "Unknown error in libssh2";\n  case 2:\n  case 10:\n    return "No such file or directory";\n  case 3:\n    return "Permission denied";\n  case 4:\n    return "Operation failed";\n  case 5:\n    return "Bad message from SFTP server";\n  case 6:\n    return "Not connected to SFTP server";\n  case 7:\n    return "Connection to SFTP server lost";\n  case 8:\n    return "Operation not supported by SFTP server";\n  case 9:\n    return "Invalid handle";\n  case 0xb:\n    return "File already exists";\n  case 0xc:\n    return "File is write protected";\n  case 0xd:\n    return "No media";\n  case 0xe:\n    return "Disk full";\n  case 0xf:\n    return "User quota exceeded";\n  case 0x10:\n    return "Unknown principle";\n  case 0x11:\n    return "File lock conflict";\n  case 0x12:\n    return "Directory not empty";\n  case 0x13:\n    return "Not a directory";\n  case 0x14:\n    return "Invalid filename";\n  case 0x15:\n    return "Link points to itself";\n  }\n}" primitive_type (pointer_declarator "* __regparm3 sftp_libssh2_strerror(int err)" * (ERROR "__regparm3" identifier) (function_declarator "sftp_libssh2_strerror(int err)" identifier (parameter_list "(int err)" ( (parameter_declaration "int err" primitive_type identifier) )))) (compound_statement "{\n  switch(err) {\n  default:\n    return "Unknown error in libssh2";\n  case 2:\n  case 10:\n    return "No such file or directory";\n  case 3:\n    return "Permission denied";\n  case 4:\n    return "Operation failed";\n  case 5:\n    return "Bad message from SFTP server";\n  case 6:\n    return "Not connected to SFTP server";\n  case 7:\n    return "Connection to SFTP server lost";\n  case 8:\n    return "Operation not supported by SFTP server";\n  case 9:\n    return "Invalid handle";\n  case 0xb:\n    return "File already exists";\n  case 0xc:\n    return "File is write protected";\n  case 0xd:\n    return "No media";\n  case 0xe:\n    return "Disk full";\n  case 0xf:\n    return "User quota exceeded";\n  case 0x10:\n    return "Unknown principle";\n  case 0x11:\n    return "File lock conflict";\n  case 0x12:\n    return "Directory not empty";\n  case 0x13:\n    return "Not a directory";\n  case 0x14:\n    return "Invalid filename";\n  case 0x15:\n    return "Link points to itself";\n  }\n}" { (switch_statement "switch(err) {\n  default:\n    return "Unknown error in libssh2";\n  case 2:\n  case 10:\n    return "No such file or directory";\n  case 3:\n    return "Permission denied";\n  case 4:\n    return "Operation failed";\n  case 5:\n    return "Bad message from SFTP server";\n  case 6:\n    return "Not connected to SFTP server";\n  case 7:\n    return "Connection to SFTP server lost";\n  case 8:\n    return "Operation not supported by SFTP server";\n  case 9:\n    return "Invalid handle";\n  case 0xb:\n    return "File already exists";\n  case 0xc:\n    return "File is write protected";\n  case 0xd:\n    return "No media";\n  case 0xe:\n    return "Disk full";\n  case 0xf:\n    return "User quota exceeded";\n  case 0x10:\n    return "Unknown principle";\n  case 0x11:\n    return "File lock conflict";\n  case 0x12:\n    return "Directory not empty";\n  case 0x13:\n    return "Not a directory";\n  case 0x14:\n    return "Invalid filename";\n  case 0x15:\n    return "Link points to itself";\n  }" switch (parenthesized_expression "(err)" ( identifier )) (compound_statement "{\n  default:\n    return "Unknown error in libssh2";\n  case 2:\n  case 10:\n    return "No such file or directory";\n  case 3:\n    return "Permission denied";\n  case 4:\n    return "Operation failed";\n  case 5:\n    return "Bad message from SFTP server";\n  case 6:\n    return "Not connected to SFTP server";\n  case 7:\n    return "Connection to SFTP server lost";\n  case 8:\n    return "Operation not supported by SFTP server";\n  case 9:\n    return "Invalid handle";\n  case 0xb:\n    return "File already exists";\n  case 0xc:\n    return "File is write protected";\n  case 0xd:\n    return "No media";\n  case 0xe:\n    return "Disk full";\n  case 0xf:\n    return "User quota exceeded";\n  case 0x10:\n    return "Unknown principle";\n  case 0x11:\n    return "File lock conflict";\n  case 0x12:\n    return "Directory not empty";\n  case 0x13:\n    return "Not a directory";\n  case 0x14:\n    return "Invalid filename";\n  case 0x15:\n    return "Link points to itself";\n  }" { (case_statement "default:\n    return "Unknown error in libssh2";" default : (return_statement "return "Unknown error in libssh2";" return (string_literal ""Unknown error in libssh2"" " string_content ") ;)) (case_statement "case 2:" case number_literal :) (case_statement "case 10:\n    return "No such file or directory";" case number_literal : (return_statement "return "No such file or directory";" return (string_literal ""No such file or directory"" " string_content ") ;)) (case_statement "case 3:\n    return "Permission denied";" case number_literal : (return_statement "return "Permission denied";" return (string_literal ""Permission denied"" " string_content ") ;)) (case_statement "case 4:\n    return "Operation failed";" case number_literal : (return_statement "return "Operation failed";" return (string_literal ""Operation failed"" " string_content ") ;)) (case_statement "case 5:\n    return "Bad message from SFTP server";" case number_literal : (return_statement "return "Bad message from SFTP server";" return (string_literal ""Bad message from SFTP server"" " string_content ") ;)) (case_statement "case 6:\n    return "Not connected to SFTP server";" case number_literal : (return_statement "return "Not connected to SFTP server";" return (string_literal ""Not connected to SFTP server"" " string_content ") ;)) (case_statement "case 7:\n    return "Connection to SFTP server lost";" case number_literal : (return_statement "return "Connection to SFTP server lost";" return (string_literal ""Connection to SFTP server lost"" " string_content ") ;)) (case_statement "case 8:\n    return "Operation not supported by SFTP server";" case number_literal : (return_statement "return "Operation not supported by SFTP server";" return (string_literal ""Operation not supported by SFTP server"" " string_content ") ;)) (case_statement "case 9:\n    return "Invalid handle";" case number_literal : (return_statement "return "Invalid handle";" return (string_literal ""Invalid handle"" " string_content ") ;)) (case_statement "case 0xb:\n    return "File already exists";" case number_literal : (return_statement "return "File already exists";" return (string_literal ""File already exists"" " string_content ") ;)) (case_statement "case 0xc:\n    return "File is write protected";" case number_literal : (return_statement "return "File is write protected";" return (string_literal ""File is write protected"" " string_content ") ;)) (case_statement "case 0xd:\n    return "No media";" case number_literal : (return_statement "return "No media";" return (string_literal ""No media"" " string_content ") ;)) (case_statement "case 0xe:\n    return "Disk full";" case number_literal : (return_statement "return "Disk full";" return (string_literal ""Disk full"" " string_content ") ;)) (case_statement "case 0xf:\n    return "User quota exceeded";" case number_literal : (return_statement "return "User quota exceeded";" return (string_literal ""User quota exceeded"" " string_content ") ;)) (case_statement "case 0x10:\n    return "Unknown principle";" case number_literal : (return_statement "return "Unknown principle";" return (string_literal ""Unknown principle"" " string_content ") ;)) (case_statement "case 0x11:\n    return "File lock conflict";" case number_literal : (return_statement "return "File lock conflict";" return (string_literal ""File lock conflict"" " string_content ") ;)) (case_statement "case 0x12:\n    return "Directory not empty";" case number_literal : (return_statement "return "Directory not empty";" return (string_literal ""Directory not empty"" " string_content ") ;)) (case_statement "case 0x13:\n    return "Not a directory";" case number_literal : (return_statement "return "Not a directory";" return (string_literal ""Not a directory"" " string_content ") ;)) (case_statement "case 0x14:\n    return "Invalid filename";" case number_literal : (return_statement "return "Invalid filename";" return (string_literal ""Invalid filename"" " string_content ") ;)) (case_statement "case 0x15:\n    return "Link points to itself";" case number_literal : (return_statement "return "Link points to itself";" return (string_literal ""Link points to itself"" " string_content ") ;)) })) })))
(translation_unit "char * __regparm3 FUN_0004c780(undefined4 param_1)\n\n{\n  switch(param_1) {\n  default:\n    return "Unknown error in libssh2";\n  case 2:\n  case 10:\n    return "No such file or directory";\n  case 3:\n    return "Permission denied";\n  case 4:\n    return "Operation failed";\n  case 5:\n    return "Bad message from SFTP server";\n  case 6:\n    return "Not connected to SFTP server";\n  case 7:\n    return "Connection to SFTP server lost";\n  case 8:\n    return "Operation not supported by SFTP server";\n  case 9:\n    return "Invalid handle";\n  case 0xb:\n    return "File already exists";\n  case 0xc:\n    return "File is write protected";\n  case 0xd:\n    return "No media";\n  case 0xe:\n    return "Disk full";\n  case 0xf:\n    return "User quota exceeded";\n  case 0x10:\n    return "Unknown principle";\n  case 0x11:\n    return "File lock conflict";\n  case 0x12:\n    return "Directory not empty";\n  case 0x13:\n    return "Not a directory";\n  case 0x14:\n    return "Invalid filename";\n  case 0x15:\n    return "Link points to itself";\n  }\n}\n\n" (function_definition "char * __regparm3 FUN_0004c780(undefined4 param_1)\n\n{\n  switch(param_1) {\n  default:\n    return "Unknown error in libssh2";\n  case 2:\n  case 10:\n    return "No such file or directory";\n  case 3:\n    return "Permission denied";\n  case 4:\n    return "Operation failed";\n  case 5:\n    return "Bad message from SFTP server";\n  case 6:\n    return "Not connected to SFTP server";\n  case 7:\n    return "Connection to SFTP server lost";\n  case 8:\n    return "Operation not supported by SFTP server";\n  case 9:\n    return "Invalid handle";\n  case 0xb:\n    return "File already exists";\n  case 0xc:\n    return "File is write protected";\n  case 0xd:\n    return "No media";\n  case 0xe:\n    return "Disk full";\n  case 0xf:\n    return "User quota exceeded";\n  case 0x10:\n    return "Unknown principle";\n  case 0x11:\n    return "File lock conflict";\n  case 0x12:\n    return "Directory not empty";\n  case 0x13:\n    return "Not a directory";\n  case 0x14:\n    return "Invalid filename";\n  case 0x15:\n    return "Link points to itself";\n  }\n}" primitive_type (pointer_declarator "* __regparm3 FUN_0004c780(undefined4 param_1)" * (ERROR "__regparm3" identifier) (function_declarator "FUN_0004c780(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) )))) (compound_statement "{\n  switch(param_1) {\n  default:\n    return "Unknown error in libssh2";\n  case 2:\n  case 10:\n    return "No such file or directory";\n  case 3:\n    return "Permission denied";\n  case 4:\n    return "Operation failed";\n  case 5:\n    return "Bad message from SFTP server";\n  case 6:\n    return "Not connected to SFTP server";\n  case 7:\n    return "Connection to SFTP server lost";\n  case 8:\n    return "Operation not supported by SFTP server";\n  case 9:\n    return "Invalid handle";\n  case 0xb:\n    return "File already exists";\n  case 0xc:\n    return "File is write protected";\n  case 0xd:\n    return "No media";\n  case 0xe:\n    return "Disk full";\n  case 0xf:\n    return "User quota exceeded";\n  case 0x10:\n    return "Unknown principle";\n  case 0x11:\n    return "File lock conflict";\n  case 0x12:\n    return "Directory not empty";\n  case 0x13:\n    return "Not a directory";\n  case 0x14:\n    return "Invalid filename";\n  case 0x15:\n    return "Link points to itself";\n  }\n}" { (switch_statement "switch(param_1) {\n  default:\n    return "Unknown error in libssh2";\n  case 2:\n  case 10:\n    return "No such file or directory";\n  case 3:\n    return "Permission denied";\n  case 4:\n    return "Operation failed";\n  case 5:\n    return "Bad message from SFTP server";\n  case 6:\n    return "Not connected to SFTP server";\n  case 7:\n    return "Connection to SFTP server lost";\n  case 8:\n    return "Operation not supported by SFTP server";\n  case 9:\n    return "Invalid handle";\n  case 0xb:\n    return "File already exists";\n  case 0xc:\n    return "File is write protected";\n  case 0xd:\n    return "No media";\n  case 0xe:\n    return "Disk full";\n  case 0xf:\n    return "User quota exceeded";\n  case 0x10:\n    return "Unknown principle";\n  case 0x11:\n    return "File lock conflict";\n  case 0x12:\n    return "Directory not empty";\n  case 0x13:\n    return "Not a directory";\n  case 0x14:\n    return "Invalid filename";\n  case 0x15:\n    return "Link points to itself";\n  }" switch (parenthesized_expression "(param_1)" ( identifier )) (compound_statement "{\n  default:\n    return "Unknown error in libssh2";\n  case 2:\n  case 10:\n    return "No such file or directory";\n  case 3:\n    return "Permission denied";\n  case 4:\n    return "Operation failed";\n  case 5:\n    return "Bad message from SFTP server";\n  case 6:\n    return "Not connected to SFTP server";\n  case 7:\n    return "Connection to SFTP server lost";\n  case 8:\n    return "Operation not supported by SFTP server";\n  case 9:\n    return "Invalid handle";\n  case 0xb:\n    return "File already exists";\n  case 0xc:\n    return "File is write protected";\n  case 0xd:\n    return "No media";\n  case 0xe:\n    return "Disk full";\n  case 0xf:\n    return "User quota exceeded";\n  case 0x10:\n    return "Unknown principle";\n  case 0x11:\n    return "File lock conflict";\n  case 0x12:\n    return "Directory not empty";\n  case 0x13:\n    return "Not a directory";\n  case 0x14:\n    return "Invalid filename";\n  case 0x15:\n    return "Link points to itself";\n  }" { (case_statement "default:\n    return "Unknown error in libssh2";" default : (return_statement "return "Unknown error in libssh2";" return (string_literal ""Unknown error in libssh2"" " string_content ") ;)) (case_statement "case 2:" case number_literal :) (case_statement "case 10:\n    return "No such file or directory";" case number_literal : (return_statement "return "No such file or directory";" return (string_literal ""No such file or directory"" " string_content ") ;)) (case_statement "case 3:\n    return "Permission denied";" case number_literal : (return_statement "return "Permission denied";" return (string_literal ""Permission denied"" " string_content ") ;)) (case_statement "case 4:\n    return "Operation failed";" case number_literal : (return_statement "return "Operation failed";" return (string_literal ""Operation failed"" " string_content ") ;)) (case_statement "case 5:\n    return "Bad message from SFTP server";" case number_literal : (return_statement "return "Bad message from SFTP server";" return (string_literal ""Bad message from SFTP server"" " string_content ") ;)) (case_statement "case 6:\n    return "Not connected to SFTP server";" case number_literal : (return_statement "return "Not connected to SFTP server";" return (string_literal ""Not connected to SFTP server"" " string_content ") ;)) (case_statement "case 7:\n    return "Connection to SFTP server lost";" case number_literal : (return_statement "return "Connection to SFTP server lost";" return (string_literal ""Connection to SFTP server lost"" " string_content ") ;)) (case_statement "case 8:\n    return "Operation not supported by SFTP server";" case number_literal : (return_statement "return "Operation not supported by SFTP server";" return (string_literal ""Operation not supported by SFTP server"" " string_content ") ;)) (case_statement "case 9:\n    return "Invalid handle";" case number_literal : (return_statement "return "Invalid handle";" return (string_literal ""Invalid handle"" " string_content ") ;)) (case_statement "case 0xb:\n    return "File already exists";" case number_literal : (return_statement "return "File already exists";" return (string_literal ""File already exists"" " string_content ") ;)) (case_statement "case 0xc:\n    return "File is write protected";" case number_literal : (return_statement "return "File is write protected";" return (string_literal ""File is write protected"" " string_content ") ;)) (case_statement "case 0xd:\n    return "No media";" case number_literal : (return_statement "return "No media";" return (string_literal ""No media"" " string_content ") ;)) (case_statement "case 0xe:\n    return "Disk full";" case number_literal : (return_statement "return "Disk full";" return (string_literal ""Disk full"" " string_content ") ;)) (case_statement "case 0xf:\n    return "User quota exceeded";" case number_literal : (return_statement "return "User quota exceeded";" return (string_literal ""User quota exceeded"" " string_content ") ;)) (case_statement "case 0x10:\n    return "Unknown principle";" case number_literal : (return_statement "return "Unknown principle";" return (string_literal ""Unknown principle"" " string_content ") ;)) (case_statement "case 0x11:\n    return "File lock conflict";" case number_literal : (return_statement "return "File lock conflict";" return (string_literal ""File lock conflict"" " string_content ") ;)) (case_statement "case 0x12:\n    return "Directory not empty";" case number_literal : (return_statement "return "Directory not empty";" return (string_literal ""Directory not empty"" " string_content ") ;)) (case_statement "case 0x13:\n    return "Not a directory";" case number_literal : (return_statement "return "Not a directory";" return (string_literal ""Not a directory"" " string_content ") ;)) (case_statement "case 0x14:\n    return "Invalid filename";" case number_literal : (return_statement "return "Invalid filename";" return (string_literal ""Invalid filename"" " string_content ") ;)) (case_statement "case 0x15:\n    return "Link points to itself";" case number_literal : (return_statement "return "Link points to itself";" return (string_literal ""Link points to itself"" " string_content ") ;)) })) })))
(translation_unit (function_definition TYPE (pointer_declarator * (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) )))) (compound_statement { (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement default : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT :) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) })) })))
(function_definition "char * __regparm3 FUN_0004c780(undefined4 param_1)\n\n{\n  switch(param_1) {\n  default:\n    return "Unknown error in libssh2";\n  case 2:\n  case 10:\n    return "No such file or directory";\n  case 3:\n    return "Permission denied";\n  case 4:\n    return "Operation failed";\n  case 5:\n    return "Bad message from SFTP server";\n  case 6:\n    return "Not connected to SFTP server";\n  case 7:\n    return "Connection to SFTP server lost";\n  case 8:\n    return "Operation not supported by SFTP server";\n  case 9:\n    return "Invalid handle";\n  case 0xb:\n    return "File already exists";\n  case 0xc:\n    return "File is write protected";\n  case 0xd:\n    return "No media";\n  case 0xe:\n    return "Disk full";\n  case 0xf:\n    return "User quota exceeded";\n  case 0x10:\n    return "Unknown principle";\n  case 0x11:\n    return "File lock conflict";\n  case 0x12:\n    return "Directory not empty";\n  case 0x13:\n    return "Not a directory";\n  case 0x14:\n    return "Invalid filename";\n  case 0x15:\n    return "Link points to itself";\n  }\n}" (primitive_type "char") (pointer_declarator "* __regparm3 FUN_0004c780(undefined4 param_1)" (* "*") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_0004c780(undefined4 param_1)" (identifier "FUN_0004c780") (parameter_list "(undefined4 param_1)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) () ")")))) (compound_statement "{\n  switch(param_1) {\n  default:\n    return "Unknown error in libssh2";\n  case 2:\n  case 10:\n    return "No such file or directory";\n  case 3:\n    return "Permission denied";\n  case 4:\n    return "Operation failed";\n  case 5:\n    return "Bad message from SFTP server";\n  case 6:\n    return "Not connected to SFTP server";\n  case 7:\n    return "Connection to SFTP server lost";\n  case 8:\n    return "Operation not supported by SFTP server";\n  case 9:\n    return "Invalid handle";\n  case 0xb:\n    return "File already exists";\n  case 0xc:\n    return "File is write protected";\n  case 0xd:\n    return "No media";\n  case 0xe:\n    return "Disk full";\n  case 0xf:\n    return "User quota exceeded";\n  case 0x10:\n    return "Unknown principle";\n  case 0x11:\n    return "File lock conflict";\n  case 0x12:\n    return "Directory not empty";\n  case 0x13:\n    return "Not a directory";\n  case 0x14:\n    return "Invalid filename";\n  case 0x15:\n    return "Link points to itself";\n  }\n}" ({ "{") (switch_statement "switch(param_1) {\n  default:\n    return "Unknown error in libssh2";\n  case 2:\n  case 10:\n    return "No such file or directory";\n  case 3:\n    return "Permission denied";\n  case 4:\n    return "Operation failed";\n  case 5:\n    return "Bad message from SFTP server";\n  case 6:\n    return "Not connected to SFTP server";\n  case 7:\n    return "Connection to SFTP server lost";\n  case 8:\n    return "Operation not supported by SFTP server";\n  case 9:\n    return "Invalid handle";\n  case 0xb:\n    return "File already exists";\n  case 0xc:\n    return "File is write protected";\n  case 0xd:\n    return "No media";\n  case 0xe:\n    return "Disk full";\n  case 0xf:\n    return "User quota exceeded";\n  case 0x10:\n    return "Unknown principle";\n  case 0x11:\n    return "File lock conflict";\n  case 0x12:\n    return "Directory not empty";\n  case 0x13:\n    return "Not a directory";\n  case 0x14:\n    return "Invalid filename";\n  case 0x15:\n    return "Link points to itself";\n  }" (switch "switch") (parenthesized_expression "(param_1)" (( "(") (identifier "param_1") () ")")) (compound_statement "{\n  default:\n    return "Unknown error in libssh2";\n  case 2:\n  case 10:\n    return "No such file or directory";\n  case 3:\n    return "Permission denied";\n  case 4:\n    return "Operation failed";\n  case 5:\n    return "Bad message from SFTP server";\n  case 6:\n    return "Not connected to SFTP server";\n  case 7:\n    return "Connection to SFTP server lost";\n  case 8:\n    return "Operation not supported by SFTP server";\n  case 9:\n    return "Invalid handle";\n  case 0xb:\n    return "File already exists";\n  case 0xc:\n    return "File is write protected";\n  case 0xd:\n    return "No media";\n  case 0xe:\n    return "Disk full";\n  case 0xf:\n    return "User quota exceeded";\n  case 0x10:\n    return "Unknown principle";\n  case 0x11:\n    return "File lock conflict";\n  case 0x12:\n    return "Directory not empty";\n  case 0x13:\n    return "Not a directory";\n  case 0x14:\n    return "Invalid filename";\n  case 0x15:\n    return "Link points to itself";\n  }" ({ "{") (case_statement "default:\n    return "Unknown error in libssh2";" (default "default") (: ":") (return_statement "return "Unknown error in libssh2";" (return "return") (string_literal ""Unknown error in libssh2"" (" """) (string_content "Unknown error in libssh2") (" """)) (; ";"))) (case_statement "case 2:" (case "case") (number_literal "2") (: ":")) (case_statement "case 10:\n    return "No such file or directory";" (case "case") (number_literal "10") (: ":") (return_statement "return "No such file or directory";" (return "return") (string_literal ""No such file or directory"" (" """) (string_content "No such file or directory") (" """)) (; ";"))) (case_statement "case 3:\n    return "Permission denied";" (case "case") (number_literal "3") (: ":") (return_statement "return "Permission denied";" (return "return") (string_literal ""Permission denied"" (" """) (string_content "Permission denied") (" """)) (; ";"))) (case_statement "case 4:\n    return "Operation failed";" (case "case") (number_literal "4") (: ":") (return_statement "return "Operation failed";" (return "return") (string_literal ""Operation failed"" (" """) (string_content "Operation failed") (" """)) (; ";"))) (case_statement "case 5:\n    return "Bad message from SFTP server";" (case "case") (number_literal "5") (: ":") (return_statement "return "Bad message from SFTP server";" (return "return") (string_literal ""Bad message from SFTP server"" (" """) (string_content "Bad message from SFTP server") (" """)) (; ";"))) (case_statement "case 6:\n    return "Not connected to SFTP server";" (case "case") (number_literal "6") (: ":") (return_statement "return "Not connected to SFTP server";" (return "return") (string_literal ""Not connected to SFTP server"" (" """) (string_content "Not connected to SFTP server") (" """)) (; ";"))) (case_statement "case 7:\n    return "Connection to SFTP server lost";" (case "case") (number_literal "7") (: ":") (return_statement "return "Connection to SFTP server lost";" (return "return") (string_literal ""Connection to SFTP server lost"" (" """) (string_content "Connection to SFTP server lost") (" """)) (; ";"))) (case_statement "case 8:\n    return "Operation not supported by SFTP server";" (case "case") (number_literal "8") (: ":") (return_statement "return "Operation not supported by SFTP server";" (return "return") (string_literal ""Operation not supported by SFTP server"" (" """) (string_content "Operation not supported by SFTP server") (" """)) (; ";"))) (case_statement "case 9:\n    return "Invalid handle";" (case "case") (number_literal "9") (: ":") (return_statement "return "Invalid handle";" (return "return") (string_literal ""Invalid handle"" (" """) (string_content "Invalid handle") (" """)) (; ";"))) (case_statement "case 0xb:\n    return "File already exists";" (case "case") (number_literal "0xb") (: ":") (return_statement "return "File already exists";" (return "return") (string_literal ""File already exists"" (" """) (string_content "File already exists") (" """)) (; ";"))) (case_statement "case 0xc:\n    return "File is write protected";" (case "case") (number_literal "0xc") (: ":") (return_statement "return "File is write protected";" (return "return") (string_literal ""File is write protected"" (" """) (string_content "File is write protected") (" """)) (; ";"))) (case_statement "case 0xd:\n    return "No media";" (case "case") (number_literal "0xd") (: ":") (return_statement "return "No media";" (return "return") (string_literal ""No media"" (" """) (string_content "No media") (" """)) (; ";"))) (case_statement "case 0xe:\n    return "Disk full";" (case "case") (number_literal "0xe") (: ":") (return_statement "return "Disk full";" (return "return") (string_literal ""Disk full"" (" """) (string_content "Disk full") (" """)) (; ";"))) (case_statement "case 0xf:\n    return "User quota exceeded";" (case "case") (number_literal "0xf") (: ":") (return_statement "return "User quota exceeded";" (return "return") (string_literal ""User quota exceeded"" (" """) (string_content "User quota exceeded") (" """)) (; ";"))) (case_statement "case 0x10:\n    return "Unknown principle";" (case "case") (number_literal "0x10") (: ":") (return_statement "return "Unknown principle";" (return "return") (string_literal ""Unknown principle"" (" """) (string_content "Unknown principle") (" """)) (; ";"))) (case_statement "case 0x11:\n    return "File lock conflict";" (case "case") (number_literal "0x11") (: ":") (return_statement "return "File lock conflict";" (return "return") (string_literal ""File lock conflict"" (" """) (string_content "File lock conflict") (" """)) (; ";"))) (case_statement "case 0x12:\n    return "Directory not empty";" (case "case") (number_literal "0x12") (: ":") (return_statement "return "Directory not empty";" (return "return") (string_literal ""Directory not empty"" (" """) (string_content "Directory not empty") (" """)) (; ";"))) (case_statement "case 0x13:\n    return "Not a directory";" (case "case") (number_literal "0x13") (: ":") (return_statement "return "Not a directory";" (return "return") (string_literal ""Not a directory"" (" """) (string_content "Not a directory") (" """)) (; ";"))) (case_statement "case 0x14:\n    return "Invalid filename";" (case "case") (number_literal "0x14") (: ":") (return_statement "return "Invalid filename";" (return "return") (string_literal ""Invalid filename"" (" """) (string_content "Invalid filename") (" """)) (; ";"))) (case_statement "case 0x15:\n    return "Link points to itself";" (case "case") (number_literal "0x15") (: ":") (return_statement "return "Link points to itself";" (return "return") (string_literal ""Link points to itself"" (" """) (string_content "Link points to itself") (" """)) (; ";"))) (} "}"))) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */

char * __regparm3 function_1(int err)

{
  switch(err) {
  default:
    return "Unknown error in libssh2";
  case 2:
  case 10:
    return "No such file or directory";
  case 3:
    return "Permission denied";
  case 4:
    return "Operation failed";
  case 5:
    return "Bad message from SFTP server";
  case 6:
    return "Not connected to SFTP server";
  case 7:
    return "Connection to SFTP server lost";
  case 8:
    return "Operation not supported by SFTP server";
  case 9:
    return "Invalid handle";
  case 0xb:
    return "File already exists";
  case 0xc:
    return "File is write protected";
  case 0xd:
    return "No media";
  case 0xe:
    return "Disk full";
  case 0xf:
    return "User quota exceeded";
  case 0x10:
    return "Unknown principle";
  case 0x11:
    return "File lock conflict";
  case 0x12:
    return "Directory not empty";
  case 0x13:
    return "Not a directory";
  case 0x14:
    return "Invalid filename";
  case 0x15:
    return "Link points to itself";
  }
}


(translation_unit (function_definition type: (primitive_type) declarator: (pointer_declarator (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier))))) body: (compound_statement (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement (return_statement (string_literal (string_content)))) (case_statement value: (number_literal)) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))))))))

/* WARNING: Function: __i686.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */

char * __regparm3 MASKED(undefined4 param_1)

{
  switch(param_1) {
  default:
    return "Unknown error in libssh2";
  case 2:
  case 10:
    return "No such file or directory";
  case 3:
    return "Permission denied";
  case 4:
    return "Operation failed";
  case 5:
    return "Bad message from SFTP server";
  case 6:
    return "Not connected to SFTP server";
  case 7:
    return "Connection to SFTP server lost";
  case 8:
    return "Operation not supported by SFTP server";
  case 9:
    return "Invalid handle";
  case 0xb:
    return "File already exists";
  case 0xc:
    return "File is write protected";
  case 0xd:
    return "No media";
  case 0xe:
    return "Disk full";
  case 0xf:
    return "User quota exceeded";
  case 0x10:
    return "Unknown principle";
  case 0x11:
    return "File lock conflict";
  case 0x12:
    return "Directory not empty";
  case 0x13:
    return "Not a directory";
  case 0x14:
    return "Invalid filename";
  case 0x15:
    return "Link points to itself";
  }
}

