
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

CURLcode __regparm3 imap_state_listsearch_resp(connectdata *conn,int imapcode,imapstate instate)

{
  char *__s;
  size_t sVar1;
  CURLcode CVar2;
  
  if (imapcode == 0x2a) {
    __s = (conn->data->state).buffer;
    sVar1 = strlen(__s);
    __s[sVar1] = '\n';
    CVar2 = Curl_client_write(conn,1,__s,sVar1 + 1);
    __s[sVar1] = '\0';
    return CVar2;
  }
  if (imapcode != 1) {
    return CURLE_QUOTE_ERROR;
  }
  (conn->proto).ftpc.entrypath = (char *)0x0;
  return CURLE_OK;
}



undefined4 __regparm3 FUN_00053b80(undefined4 param_1,int param_2)

{
  char *__s;
  int *piVar1;
  size_t sVar2;
  undefined4 uVar3;
  
  piVar1 = (int *)entry(param_2,0x53b89);
  if (param_2 == 0x2a) {
    __s = *(char **)(*piVar1 + 0xc68);
    sVar2 = strlen(__s);
    __s[sVar2] = '\n';
    uVar3 = FUN_00027580(piVar1,1,__s,sVar2 + 1);
    __s[sVar2] = '\0';
    return uVar3;
  }
  if (param_2 != 1) {
    return 0x15;
  }
  piVar1[0x137] = 0;
  return 0;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00019ed0
ADD EBX,0x5cc57
SUB ESP,0xc
CMP EDX,0x2a
JZ 0x00053bd0
MOV ECX,0x15
CMP EDX,0x1
JZ 0x00053bb0
ADD ESP,0xc
MOV EAX,ECX
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV dword ptr [EAX + 0x4dc],0x0
XOR ECX,ECX
ADD ESP,0xc
POP EBX
MOV EAX,ECX
POP ESI
POP EDI
POP EBP
RET
MOV ESI,EAX
MOV EAX,dword ptr [EAX]
SUB ESP,0xc
MOV EBP,dword ptr [EAX + 0xc68]
PUSH EBP
CALL 0x00018850
ADD ESP,0x10
LEA EDI,[EBP + EAX*0x1]
ADD EAX,0x1
MOV byte ptr [EDI],0xa
PUSH EAX
PUSH EBP
PUSH 0x1
PUSH ESI
CALL 0x00027580
ADD ESP,0x10
MOV byte ptr [EDI],0x0
MOV ECX,EAX
ADD ESP,0xc
POP EBX
MOV EAX,ECX
POP ESI
POP EDI
POP EBP
RET
(translation_unit "undefined4 __regparm3 FUN_00053b80(undefined4 param_1,int param_2)\n\n{\n  char *__s;\n  int *piVar1;\n  size_t sVar2;\n  undefined4 uVar3;\n  \n  piVar1 = (int *)entry(param_2,0x53b89);\n  if (param_2 == 0x2a) {\n    __s = *(char **)(*piVar1 + 0xc68);\n    sVar2 = strlen(__s);\n    __s[sVar2] = '\n';\n    uVar3 = FUN_00027580(piVar1,1,__s,sVar2 + 1);\n    __s[sVar2] = '\0';\n    return uVar3;\n  }\n  if (param_2 != 1) {\n    return 0x15;\n  }\n  piVar1[0x137] = 0;\n  return 0;\n}\n\n" (function_definition "undefined4 __regparm3 FUN_00053b80(undefined4 param_1,int param_2)\n\n{\n  char *__s;\n  int *piVar1;\n  size_t sVar2;\n  undefined4 uVar3;\n  \n  piVar1 = (int *)entry(param_2,0x53b89);\n  if (param_2 == 0x2a) {\n    __s = *(char **)(*piVar1 + 0xc68);\n    sVar2 = strlen(__s);\n    __s[sVar2] = '\n';\n    uVar3 = FUN_00027580(piVar1,1,__s,sVar2 + 1);\n    __s[sVar2] = '\0';\n    return uVar3;\n  }\n  if (param_2 != 1) {\n    return 0x15;\n  }\n  piVar1[0x137] = 0;\n  return 0;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00053b80(undefined4 param_1,int param_2)" identifier (parameter_list "(undefined4 param_1,int param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  char *__s;\n  int *piVar1;\n  size_t sVar2;\n  undefined4 uVar3;\n  \n  piVar1 = (int *)entry(param_2,0x53b89);\n  if (param_2 == 0x2a) {\n    __s = *(char **)(*piVar1 + 0xc68);\n    sVar2 = strlen(__s);\n    __s[sVar2] = '\n';\n    uVar3 = FUN_00027580(piVar1,1,__s,sVar2 + 1);\n    __s[sVar2] = '\0';\n    return uVar3;\n  }\n  if (param_2 != 1) {\n    return 0x15;\n  }\n  piVar1[0x137] = 0;\n  return 0;\n}" { (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (expression_statement "piVar1 = (int *)entry(param_2,0x53b89);" (assignment_expression "piVar1 = (int *)entry(param_2,0x53b89)" identifier = (cast_expression "(int *)entry(param_2,0x53b89)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "entry(param_2,0x53b89)" identifier (argument_list "(param_2,0x53b89)" ( identifier , number_literal ))))) ;) (if_statement "if (param_2 == 0x2a) {\n    __s = *(char **)(*piVar1 + 0xc68);\n    sVar2 = strlen(__s);\n    __s[sVar2] = '\n';\n    uVar3 = FUN_00027580(piVar1,1,__s,sVar2 + 1);\n    __s[sVar2] = '\0';\n    return uVar3;\n  }" if (parenthesized_expression "(param_2 == 0x2a)" ( (binary_expression "param_2 == 0x2a" identifier == number_literal) )) (compound_statement "{\n    __s = *(char **)(*piVar1 + 0xc68);\n    sVar2 = strlen(__s);\n    __s[sVar2] = '\n';\n    uVar3 = FUN_00027580(piVar1,1,__s,sVar2 + 1);\n    __s[sVar2] = '\0';\n    return uVar3;\n  }" { (expression_statement "__s = *(char **)(*piVar1 + 0xc68);" (assignment_expression "__s = *(char **)(*piVar1 + 0xc68)" identifier = (pointer_expression "*(char **)(*piVar1 + 0xc68)" * (cast_expression "(char **)(*piVar1 + 0xc68)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar1 + 0xc68)" ( (binary_expression "*piVar1 + 0xc68" (pointer_expression "*piVar1" * identifier) + number_literal) ))))) ;) (expression_statement "sVar2 = strlen(__s);" (assignment_expression "sVar2 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "__s[sVar2] = '\n';" (assignment_expression "__s[sVar2] = '\n'" (subscript_expression "__s[sVar2]" identifier [ identifier ]) = (char_literal "'\n'" ' escape_sequence ')) ;) (expression_statement "uVar3 = FUN_00027580(piVar1,1,__s,sVar2 + 1);" (assignment_expression "uVar3 = FUN_00027580(piVar1,1,__s,sVar2 + 1)" identifier = (call_expression "FUN_00027580(piVar1,1,__s,sVar2 + 1)" identifier (argument_list "(piVar1,1,__s,sVar2 + 1)" ( identifier , number_literal , identifier , (binary_expression "sVar2 + 1" identifier + number_literal) )))) ;) (expression_statement "__s[sVar2] = '\0';" (assignment_expression "__s[sVar2] = '\0'" (subscript_expression "__s[sVar2]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (return_statement "return uVar3;" return identifier ;) })) (if_statement "if (param_2 != 1) {\n    return 0x15;\n  }" if (parenthesized_expression "(param_2 != 1)" ( (binary_expression "param_2 != 1" identifier != number_literal) )) (compound_statement "{\n    return 0x15;\n  }" { (return_statement "return 0x15;" return number_literal ;) })) (expression_statement "piVar1[0x137] = 0;" (assignment_expression "piVar1[0x137] = 0" (subscript_expression "piVar1[0x137]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nCURLcode __regparm3 imap_state_listsearch_resp(connectdata *conn,int imapcode,imapstate instate)\n\n{\n  char *__s;\n  size_t sVar1;\n  CURLcode CVar2;\n  \n  if (imapcode == 0x2a) {\n    __s = (conn->data->state).buffer;\n    sVar1 = strlen(__s);\n    __s[sVar1] = '\n';\n    CVar2 = Curl_client_write(conn,1,__s,sVar1 + 1);\n    __s[sVar1] = '\0';\n    return CVar2;\n  }\n  if (imapcode != 1) {\n    return CURLE_QUOTE_ERROR;\n  }\n  (conn->proto).ftpc.entrypath = (char *)0x0;\n  return CURLE_OK;\n}\n\n" comment comment (function_definition "CURLcode __regparm3 imap_state_listsearch_resp(connectdata *conn,int imapcode,imapstate instate)\n\n{\n  char *__s;\n  size_t sVar1;\n  CURLcode CVar2;\n  \n  if (imapcode == 0x2a) {\n    __s = (conn->data->state).buffer;\n    sVar1 = strlen(__s);\n    __s[sVar1] = '\n';\n    CVar2 = Curl_client_write(conn,1,__s,sVar1 + 1);\n    __s[sVar1] = '\0';\n    return CVar2;\n  }\n  if (imapcode != 1) {\n    return CURLE_QUOTE_ERROR;\n  }\n  (conn->proto).ftpc.entrypath = (char *)0x0;\n  return CURLE_OK;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "imap_state_listsearch_resp(connectdata *conn,int imapcode,imapstate instate)" identifier (parameter_list "(connectdata *conn,int imapcode,imapstate instate)" ( (parameter_declaration "connectdata *conn" type_identifier (pointer_declarator "*conn" * identifier)) , (parameter_declaration "int imapcode" primitive_type identifier) , (parameter_declaration "imapstate instate" type_identifier identifier) ))) (compound_statement "{\n  char *__s;\n  size_t sVar1;\n  CURLcode CVar2;\n  \n  if (imapcode == 0x2a) {\n    __s = (conn->data->state).buffer;\n    sVar1 = strlen(__s);\n    __s[sVar1] = '\n';\n    CVar2 = Curl_client_write(conn,1,__s,sVar1 + 1);\n    __s[sVar1] = '\0';\n    return CVar2;\n  }\n  if (imapcode != 1) {\n    return CURLE_QUOTE_ERROR;\n  }\n  (conn->proto).ftpc.entrypath = (char *)0x0;\n  return CURLE_OK;\n}" { (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "size_t sVar1;" primitive_type identifier ;) (declaration "CURLcode CVar2;" type_identifier identifier ;) (if_statement "if (imapcode == 0x2a) {\n    __s = (conn->data->state).buffer;\n    sVar1 = strlen(__s);\n    __s[sVar1] = '\n';\n    CVar2 = Curl_client_write(conn,1,__s,sVar1 + 1);\n    __s[sVar1] = '\0';\n    return CVar2;\n  }" if (parenthesized_expression "(imapcode == 0x2a)" ( (binary_expression "imapcode == 0x2a" identifier == number_literal) )) (compound_statement "{\n    __s = (conn->data->state).buffer;\n    sVar1 = strlen(__s);\n    __s[sVar1] = '\n';\n    CVar2 = Curl_client_write(conn,1,__s,sVar1 + 1);\n    __s[sVar1] = '\0';\n    return CVar2;\n  }" { (expression_statement "__s = (conn->data->state).buffer;" (assignment_expression "__s = (conn->data->state).buffer" identifier = (field_expression "(conn->data->state).buffer" (parenthesized_expression "(conn->data->state)" ( (field_expression "conn->data->state" (field_expression "conn->data" identifier -> field_identifier) -> field_identifier) )) . field_identifier)) ;) (expression_statement "sVar1 = strlen(__s);" (assignment_expression "sVar1 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "__s[sVar1] = '\n';" (assignment_expression "__s[sVar1] = '\n'" (subscript_expression "__s[sVar1]" identifier [ identifier ]) = (char_literal "'\n'" ' escape_sequence ')) ;) (expression_statement "CVar2 = Curl_client_write(conn,1,__s,sVar1 + 1);" (assignment_expression "CVar2 = Curl_client_write(conn,1,__s,sVar1 + 1)" identifier = (call_expression "Curl_client_write(conn,1,__s,sVar1 + 1)" identifier (argument_list "(conn,1,__s,sVar1 + 1)" ( identifier , number_literal , identifier , (binary_expression "sVar1 + 1" identifier + number_literal) )))) ;) (expression_statement "__s[sVar1] = '\0';" (assignment_expression "__s[sVar1] = '\0'" (subscript_expression "__s[sVar1]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (return_statement "return CVar2;" return identifier ;) })) (if_statement "if (imapcode != 1) {\n    return CURLE_QUOTE_ERROR;\n  }" if (parenthesized_expression "(imapcode != 1)" ( (binary_expression "imapcode != 1" identifier != number_literal) )) (compound_statement "{\n    return CURLE_QUOTE_ERROR;\n  }" { (return_statement "return CURLE_QUOTE_ERROR;" return identifier ;) })) (expression_statement "(conn->proto).ftpc.entrypath = (char *)0x0;" (assignment_expression "(conn->proto).ftpc.entrypath = (char *)0x0" (field_expression "(conn->proto).ftpc.entrypath" (field_expression "(conn->proto).ftpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (return_statement "return CURLE_OK;" return identifier ;) })))
(translation_unit "undefined4 __regparm3 FUN_00053b80(undefined4 param_1,int param_2)\n\n{\n  char *__s;\n  int *piVar1;\n  size_t sVar2;\n  undefined4 uVar3;\n  \n  piVar1 = (int *)entry(param_2,0x53b89);\n  if (param_2 == 0x2a) {\n    __s = *(char **)(*piVar1 + 0xc68);\n    sVar2 = strlen(__s);\n    __s[sVar2] = '\n';\n    uVar3 = FUN_00027580(piVar1,1,__s,sVar2 + 1);\n    __s[sVar2] = '\0';\n    return uVar3;\n  }\n  if (param_2 != 1) {\n    return 0x15;\n  }\n  piVar1[0x137] = 0;\n  return 0;\n}\n\n" (function_definition "undefined4 __regparm3 FUN_00053b80(undefined4 param_1,int param_2)\n\n{\n  char *__s;\n  int *piVar1;\n  size_t sVar2;\n  undefined4 uVar3;\n  \n  piVar1 = (int *)entry(param_2,0x53b89);\n  if (param_2 == 0x2a) {\n    __s = *(char **)(*piVar1 + 0xc68);\n    sVar2 = strlen(__s);\n    __s[sVar2] = '\n';\n    uVar3 = FUN_00027580(piVar1,1,__s,sVar2 + 1);\n    __s[sVar2] = '\0';\n    return uVar3;\n  }\n  if (param_2 != 1) {\n    return 0x15;\n  }\n  piVar1[0x137] = 0;\n  return 0;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00053b80(undefined4 param_1,int param_2)" identifier (parameter_list "(undefined4 param_1,int param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  char *__s;\n  int *piVar1;\n  size_t sVar2;\n  undefined4 uVar3;\n  \n  piVar1 = (int *)entry(param_2,0x53b89);\n  if (param_2 == 0x2a) {\n    __s = *(char **)(*piVar1 + 0xc68);\n    sVar2 = strlen(__s);\n    __s[sVar2] = '\n';\n    uVar3 = FUN_00027580(piVar1,1,__s,sVar2 + 1);\n    __s[sVar2] = '\0';\n    return uVar3;\n  }\n  if (param_2 != 1) {\n    return 0x15;\n  }\n  piVar1[0x137] = 0;\n  return 0;\n}" { (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (expression_statement "piVar1 = (int *)entry(param_2,0x53b89);" (assignment_expression "piVar1 = (int *)entry(param_2,0x53b89)" identifier = (cast_expression "(int *)entry(param_2,0x53b89)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "entry(param_2,0x53b89)" identifier (argument_list "(param_2,0x53b89)" ( identifier , number_literal ))))) ;) (if_statement "if (param_2 == 0x2a) {\n    __s = *(char **)(*piVar1 + 0xc68);\n    sVar2 = strlen(__s);\n    __s[sVar2] = '\n';\n    uVar3 = FUN_00027580(piVar1,1,__s,sVar2 + 1);\n    __s[sVar2] = '\0';\n    return uVar3;\n  }" if (parenthesized_expression "(param_2 == 0x2a)" ( (binary_expression "param_2 == 0x2a" identifier == number_literal) )) (compound_statement "{\n    __s = *(char **)(*piVar1 + 0xc68);\n    sVar2 = strlen(__s);\n    __s[sVar2] = '\n';\n    uVar3 = FUN_00027580(piVar1,1,__s,sVar2 + 1);\n    __s[sVar2] = '\0';\n    return uVar3;\n  }" { (expression_statement "__s = *(char **)(*piVar1 + 0xc68);" (assignment_expression "__s = *(char **)(*piVar1 + 0xc68)" identifier = (pointer_expression "*(char **)(*piVar1 + 0xc68)" * (cast_expression "(char **)(*piVar1 + 0xc68)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar1 + 0xc68)" ( (binary_expression "*piVar1 + 0xc68" (pointer_expression "*piVar1" * identifier) + number_literal) ))))) ;) (expression_statement "sVar2 = strlen(__s);" (assignment_expression "sVar2 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "__s[sVar2] = '\n';" (assignment_expression "__s[sVar2] = '\n'" (subscript_expression "__s[sVar2]" identifier [ identifier ]) = (char_literal "'\n'" ' escape_sequence ')) ;) (expression_statement "uVar3 = FUN_00027580(piVar1,1,__s,sVar2 + 1);" (assignment_expression "uVar3 = FUN_00027580(piVar1,1,__s,sVar2 + 1)" identifier = (call_expression "FUN_00027580(piVar1,1,__s,sVar2 + 1)" identifier (argument_list "(piVar1,1,__s,sVar2 + 1)" ( identifier , number_literal , identifier , (binary_expression "sVar2 + 1" identifier + number_literal) )))) ;) (expression_statement "__s[sVar2] = '\0';" (assignment_expression "__s[sVar2] = '\0'" (subscript_expression "__s[sVar2]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (return_statement "return uVar3;" return identifier ;) })) (if_statement "if (param_2 != 1) {\n    return 0x15;\n  }" if (parenthesized_expression "(param_2 != 1)" ( (binary_expression "param_2 != 1" identifier != number_literal) )) (compound_statement "{\n    return 0x15;\n  }" { (return_statement "return 0x15;" return number_literal ;) })) (expression_statement "piVar1[0x137] = 0;" (assignment_expression "piVar1[0x137] = 0" (subscript_expression "piVar1[0x137]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (char_literal ' escape_sequence ')) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (return_statement return LIT ;) })))
(function_definition "undefined4 __regparm3 FUN_00053b80(undefined4 param_1,int param_2)\n\n{\n  char *__s;\n  int *piVar1;\n  size_t sVar2;\n  undefined4 uVar3;\n  \n  piVar1 = (int *)entry(param_2,0x53b89);\n  if (param_2 == 0x2a) {\n    __s = *(char **)(*piVar1 + 0xc68);\n    sVar2 = strlen(__s);\n    __s[sVar2] = '\n';\n    uVar3 = FUN_00027580(piVar1,1,__s,sVar2 + 1);\n    __s[sVar2] = '\0';\n    return uVar3;\n  }\n  if (param_2 != 1) {\n    return 0x15;\n  }\n  piVar1[0x137] = 0;\n  return 0;\n}" (type_identifier "undefined4") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00053b80(undefined4 param_1,int param_2)" (identifier "FUN_00053b80") (parameter_list "(undefined4 param_1,int param_2)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  char *__s;\n  int *piVar1;\n  size_t sVar2;\n  undefined4 uVar3;\n  \n  piVar1 = (int *)entry(param_2,0x53b89);\n  if (param_2 == 0x2a) {\n    __s = *(char **)(*piVar1 + 0xc68);\n    sVar2 = strlen(__s);\n    __s[sVar2] = '\n';\n    uVar3 = FUN_00027580(piVar1,1,__s,sVar2 + 1);\n    __s[sVar2] = '\0';\n    return uVar3;\n  }\n  if (param_2 != 1) {\n    return 0x15;\n  }\n  piVar1[0x137] = 0;\n  return 0;\n}" ({ "{") (declaration "char *__s;" (primitive_type "char") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "size_t sVar2;" (primitive_type "size_t") (identifier "sVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (expression_statement "piVar1 = (int *)entry(param_2,0x53b89);" (assignment_expression "piVar1 = (int *)entry(param_2,0x53b89)" (identifier "piVar1") (= "=") (cast_expression "(int *)entry(param_2,0x53b89)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "entry(param_2,0x53b89)" (identifier "entry") (argument_list "(param_2,0x53b89)" (( "(") (identifier "param_2") (, ",") (number_literal "0x53b89") () ")"))))) (; ";")) (if_statement "if (param_2 == 0x2a) {\n    __s = *(char **)(*piVar1 + 0xc68);\n    sVar2 = strlen(__s);\n    __s[sVar2] = '\n';\n    uVar3 = FUN_00027580(piVar1,1,__s,sVar2 + 1);\n    __s[sVar2] = '\0';\n    return uVar3;\n  }" (if "if") (parenthesized_expression "(param_2 == 0x2a)" (( "(") (binary_expression "param_2 == 0x2a" (identifier "param_2") (== "==") (number_literal "0x2a")) () ")")) (compound_statement "{\n    __s = *(char **)(*piVar1 + 0xc68);\n    sVar2 = strlen(__s);\n    __s[sVar2] = '\n';\n    uVar3 = FUN_00027580(piVar1,1,__s,sVar2 + 1);\n    __s[sVar2] = '\0';\n    return uVar3;\n  }" ({ "{") (expression_statement "__s = *(char **)(*piVar1 + 0xc68);" (assignment_expression "__s = *(char **)(*piVar1 + 0xc68)" (identifier "__s") (= "=") (pointer_expression "*(char **)(*piVar1 + 0xc68)" (* "*") (cast_expression "(char **)(*piVar1 + 0xc68)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar1 + 0xc68)" (( "(") (binary_expression "*piVar1 + 0xc68" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (+ "+") (number_literal "0xc68")) () ")"))))) (; ";")) (expression_statement "sVar2 = strlen(__s);" (assignment_expression "sVar2 = strlen(__s)" (identifier "sVar2") (= "=") (call_expression "strlen(__s)" (identifier "strlen") (argument_list "(__s)" (( "(") (identifier "__s") () ")")))) (; ";")) (expression_statement "__s[sVar2] = '\n';" (assignment_expression "__s[sVar2] = '\n'" (subscript_expression "__s[sVar2]" (identifier "__s") ([ "[") (identifier "sVar2") (] "]")) (= "=") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) (; ";")) (expression_statement "uVar3 = FUN_00027580(piVar1,1,__s,sVar2 + 1);" (assignment_expression "uVar3 = FUN_00027580(piVar1,1,__s,sVar2 + 1)" (identifier "uVar3") (= "=") (call_expression "FUN_00027580(piVar1,1,__s,sVar2 + 1)" (identifier "FUN_00027580") (argument_list "(piVar1,1,__s,sVar2 + 1)" (( "(") (identifier "piVar1") (, ",") (number_literal "1") (, ",") (identifier "__s") (, ",") (binary_expression "sVar2 + 1" (identifier "sVar2") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "__s[sVar2] = '\0';" (assignment_expression "__s[sVar2] = '\0'" (subscript_expression "__s[sVar2]" (identifier "__s") ([ "[") (identifier "sVar2") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (return_statement "return uVar3;" (return "return") (identifier "uVar3") (; ";")) (} "}"))) (if_statement "if (param_2 != 1) {\n    return 0x15;\n  }" (if "if") (parenthesized_expression "(param_2 != 1)" (( "(") (binary_expression "param_2 != 1" (identifier "param_2") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n    return 0x15;\n  }" ({ "{") (return_statement "return 0x15;" (return "return") (number_literal "0x15") (; ";")) (} "}"))) (expression_statement "piVar1[0x137] = 0;" (assignment_expression "piVar1[0x137] = 0" (subscript_expression "piVar1[0x137]" (identifier "piVar1") ([ "[") (number_literal "0x137") (] "]")) (= "=") (number_literal "0")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

type_1 __regparm3 function_1(type_2 *conn,int var_1,type_3 instate)

{
  char *__s;
  size_t var_4;
  type_1 CVar2;
  
  if (var_1 == 0x2a) {
    __s = (conn->data->state).buffer;
    var_4 = var_2(__s);
    __s[var_4] = '\n';
    CVar2 = var_3(conn,1,__s,var_4 + 1);
    __s[var_4] = '\0';
    return CVar2;
  }
  if (var_1 != 1) {
    return CURLE_QUOTE_ERROR;
  }
  (conn->proto).ftpc.entrypath = (char *)0x0;
  return CURLE_OK;
}


(translation_unit (function_definition type: (type_identifier) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (char_literal (escape_sequence)))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (return_statement (number_literal)))))

undefined4 __regparm3 MASKED(undefined4 param_1,int param_2)

{
  char *__s;
  int *piVar1;
  size_t sVar2;
  undefined4 uVar3;
  
  piVar1 = (int *)entry(param_2,0x53b89);
  if (param_2 == 0x2a) {
    __s = *(char **)(*piVar1 + 0xc68);
    sVar2 = strlen(__s);
    __s[sVar2] = '\n';
    uVar3 = FUN_00027580(piVar1,1,__s,sVar2 + 1);
    __s[sVar2] = '\0';
    return uVar3;
  }
  if (param_2 != 1) {
    return 0x15;
  }
  piVar1[0x137] = 0;
  return 0;
}

