
/* 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 pop3_perform_upgrade_tls(connectdata *conn)

{
  CURLcode CVar1;
  
  CVar1 = Curl_ssl_connect_nonblocking(conn,0,&(conn->proto).imapc.ssldone);
  if (CVar1 == CURLE_OK) {
    if ((conn->proto).ftpc.entrypath != (char *)0x4) {
      (conn->proto).sshc.readdir_totalLen = 4;
    }
    if ((conn->proto).httpc.binsettings[0x38] != '\0') {
      conn->tls_upgraded = true;
      (conn->proto).ftpc.cwdcount = 0;
      conn->handler = &Curl_handler_pop3s;
      (conn->proto).ftpc.prevpath = (char *)0x0;
      (conn->proto).pop3c.tls_supported = false;
      CVar1 = Curl_pp_sendf(&(conn->proto).ftpc.pp,"%s",&DAT_0008580b);
      if (CVar1 == CURLE_OK) {
        (conn->proto).sshc.readdir_totalLen = 2;
      }
    }
  }
  return CVar1;
}



void __regparm3 FUN_00055510(undefined4 param_1,undefined4 param_2)

{
  undefined4 uVar1;
  int iVar2;
  int unaff_EBX;
  int extraout_ESI;
  
  uVar1 = entry(param_2,0x5551e);
  iVar2 = FUN_0007aa40(extraout_ESI,0,uVar1);
  if (iVar2 == 0) {
    if (*(int *)(extraout_ESI + 0x4dc) != 4) {
      *(undefined4 *)(extraout_ESI + 0x4dc) = 4;
    }
    if (*(char *)(extraout_ESI + 0x4e0) != '\0') {
      *(undefined1 *)(extraout_ESI + 0x248) = 1;
      *(undefined4 *)(extraout_ESI + 0x4f4) = 0;
      *(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;
      *(undefined4 *)(extraout_ESI + 0x4fc) = 0;
      *(undefined1 *)(extraout_ESI + 0x510) = 0;
      iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);
      if (iVar2 == 0) {
        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;
      }
    }
  }
  return;
}


PUSH ESI
MOV ESI,EAX
ADD EAX,0x4e0
PUSH EBX
CALL 0x00019ed0
ADD EBX,0x5b2c2
SUB ESP,0x8
PUSH EAX
PUSH 0x0
PUSH ESI
CALL 0x0007aa40
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00055553
CMP dword ptr [ESI + 0x4dc],0x4
JZ 0x0005554a
MOV dword ptr [ESI + 0x4dc],0x4
CMP byte ptr [ESI + 0x4e0],0x0
JNZ 0x00055560
ADD ESP,0x4
POP EBX
POP ESI
RET
LEA EAX,[EBX + 0xfffff3e0]
SUB ESP,0x4
MOV byte ptr [ESI + 0x248],0x1
MOV dword ptr [ESI + 0x4f4],0x0
MOV dword ptr [ESI + 0x27c],EAX
LEA EAX,[EBX + 0xfffd502b]
PUSH EAX
LEA EAX,[EBX + 0xfffccdb8]
PUSH EAX
LEA EAX,[ESI + 0x4a4]
PUSH EAX
MOV dword ptr [ESI + 0x4fc],0x0
MOV byte ptr [ESI + 0x510],0x0
CALL 0x000584f0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00055553
MOV dword ptr [ESI + 0x4dc],0x2
JMP 0x00055553
(translation_unit "void __regparm3 FUN_00055510(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  int unaff_EBX;\n  int extraout_ESI;\n  \n  uVar1 = entry(param_2,0x5551e);\n  iVar2 = FUN_0007aa40(extraout_ESI,0,uVar1);\n  if (iVar2 == 0) {\n    if (*(int *)(extraout_ESI + 0x4dc) != 4) {\n      *(undefined4 *)(extraout_ESI + 0x4dc) = 4;\n    }\n    if (*(char *)(extraout_ESI + 0x4e0) != '\0') {\n      *(undefined1 *)(extraout_ESI + 0x248) = 1;\n      *(undefined4 *)(extraout_ESI + 0x4f4) = 0;\n      *(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;\n      *(undefined4 *)(extraout_ESI + 0x4fc) = 0;\n      *(undefined1 *)(extraout_ESI + 0x510) = 0;\n      iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);\n      if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }\n    }\n  }\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_00055510(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  int unaff_EBX;\n  int extraout_ESI;\n  \n  uVar1 = entry(param_2,0x5551e);\n  iVar2 = FUN_0007aa40(extraout_ESI,0,uVar1);\n  if (iVar2 == 0) {\n    if (*(int *)(extraout_ESI + 0x4dc) != 4) {\n      *(undefined4 *)(extraout_ESI + 0x4dc) = 4;\n    }\n    if (*(char *)(extraout_ESI + 0x4e0) != '\0') {\n      *(undefined1 *)(extraout_ESI + 0x248) = 1;\n      *(undefined4 *)(extraout_ESI + 0x4f4) = 0;\n      *(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;\n      *(undefined4 *)(extraout_ESI + 0x4fc) = 0;\n      *(undefined1 *)(extraout_ESI + 0x510) = 0;\n      iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);\n      if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }\n    }\n  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00055510(undefined4 param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  int iVar2;\n  int unaff_EBX;\n  int extraout_ESI;\n  \n  uVar1 = entry(param_2,0x5551e);\n  iVar2 = FUN_0007aa40(extraout_ESI,0,uVar1);\n  if (iVar2 == 0) {\n    if (*(int *)(extraout_ESI + 0x4dc) != 4) {\n      *(undefined4 *)(extraout_ESI + 0x4dc) = 4;\n    }\n    if (*(char *)(extraout_ESI + 0x4e0) != '\0') {\n      *(undefined1 *)(extraout_ESI + 0x248) = 1;\n      *(undefined4 *)(extraout_ESI + 0x4f4) = 0;\n      *(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;\n      *(undefined4 *)(extraout_ESI + 0x4fc) = 0;\n      *(undefined1 *)(extraout_ESI + 0x510) = 0;\n      iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);\n      if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }\n    }\n  }\n  return;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int unaff_EBX;" primitive_type identifier ;) (declaration "int extraout_ESI;" primitive_type identifier ;) (expression_statement "uVar1 = entry(param_2,0x5551e);" (assignment_expression "uVar1 = entry(param_2,0x5551e)" identifier = (call_expression "entry(param_2,0x5551e)" identifier (argument_list "(param_2,0x5551e)" ( identifier , number_literal )))) ;) (expression_statement "iVar2 = FUN_0007aa40(extraout_ESI,0,uVar1);" (assignment_expression "iVar2 = FUN_0007aa40(extraout_ESI,0,uVar1)" identifier = (call_expression "FUN_0007aa40(extraout_ESI,0,uVar1)" identifier (argument_list "(extraout_ESI,0,uVar1)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n    if (*(int *)(extraout_ESI + 0x4dc) != 4) {\n      *(undefined4 *)(extraout_ESI + 0x4dc) = 4;\n    }\n    if (*(char *)(extraout_ESI + 0x4e0) != '\0') {\n      *(undefined1 *)(extraout_ESI + 0x248) = 1;\n      *(undefined4 *)(extraout_ESI + 0x4f4) = 0;\n      *(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;\n      *(undefined4 *)(extraout_ESI + 0x4fc) = 0;\n      *(undefined1 *)(extraout_ESI + 0x510) = 0;\n      iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);\n      if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }\n    }\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    if (*(int *)(extraout_ESI + 0x4dc) != 4) {\n      *(undefined4 *)(extraout_ESI + 0x4dc) = 4;\n    }\n    if (*(char *)(extraout_ESI + 0x4e0) != '\0') {\n      *(undefined1 *)(extraout_ESI + 0x248) = 1;\n      *(undefined4 *)(extraout_ESI + 0x4f4) = 0;\n      *(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;\n      *(undefined4 *)(extraout_ESI + 0x4fc) = 0;\n      *(undefined1 *)(extraout_ESI + 0x510) = 0;\n      iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);\n      if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }\n    }\n  }" { (if_statement "if (*(int *)(extraout_ESI + 0x4dc) != 4) {\n      *(undefined4 *)(extraout_ESI + 0x4dc) = 4;\n    }" if (parenthesized_expression "(*(int *)(extraout_ESI + 0x4dc) != 4)" ( (binary_expression "*(int *)(extraout_ESI + 0x4dc) != 4" (pointer_expression "*(int *)(extraout_ESI + 0x4dc)" * (cast_expression "(int *)(extraout_ESI + 0x4dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ESI + 0x4dc)" ( (binary_expression "extraout_ESI + 0x4dc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      *(undefined4 *)(extraout_ESI + 0x4dc) = 4;\n    }" { (expression_statement "*(undefined4 *)(extraout_ESI + 0x4dc) = 4;" (assignment_expression "*(undefined4 *)(extraout_ESI + 0x4dc) = 4" (pointer_expression "*(undefined4 *)(extraout_ESI + 0x4dc)" * (cast_expression "(undefined4 *)(extraout_ESI + 0x4dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ESI + 0x4dc)" ( (binary_expression "extraout_ESI + 0x4dc" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if (*(char *)(extraout_ESI + 0x4e0) != '\0') {\n      *(undefined1 *)(extraout_ESI + 0x248) = 1;\n      *(undefined4 *)(extraout_ESI + 0x4f4) = 0;\n      *(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;\n      *(undefined4 *)(extraout_ESI + 0x4fc) = 0;\n      *(undefined1 *)(extraout_ESI + 0x510) = 0;\n      iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);\n      if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }\n    }" if (parenthesized_expression "(*(char *)(extraout_ESI + 0x4e0) != '\0')" ( (binary_expression "*(char *)(extraout_ESI + 0x4e0) != '\0'" (pointer_expression "*(char *)(extraout_ESI + 0x4e0)" * (cast_expression "(char *)(extraout_ESI + 0x4e0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ESI + 0x4e0)" ( (binary_expression "extraout_ESI + 0x4e0" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined1 *)(extraout_ESI + 0x248) = 1;\n      *(undefined4 *)(extraout_ESI + 0x4f4) = 0;\n      *(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;\n      *(undefined4 *)(extraout_ESI + 0x4fc) = 0;\n      *(undefined1 *)(extraout_ESI + 0x510) = 0;\n      iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);\n      if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }\n    }" { (expression_statement "*(undefined1 *)(extraout_ESI + 0x248) = 1;" (assignment_expression "*(undefined1 *)(extraout_ESI + 0x248) = 1" (pointer_expression "*(undefined1 *)(extraout_ESI + 0x248)" * (cast_expression "(undefined1 *)(extraout_ESI + 0x248)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ESI + 0x248)" ( (binary_expression "extraout_ESI + 0x248" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(extraout_ESI + 0x4f4) = 0;" (assignment_expression "*(undefined4 *)(extraout_ESI + 0x4f4) = 0" (pointer_expression "*(undefined4 *)(extraout_ESI + 0x4f4)" * (cast_expression "(undefined4 *)(extraout_ESI + 0x4f4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ESI + 0x4f4)" ( (binary_expression "extraout_ESI + 0x4f4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;" (assignment_expression "*(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2" (pointer_expression "*(int *)(extraout_ESI + 0x27c)" * (cast_expression "(int *)(extraout_ESI + 0x27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ESI + 0x27c)" ( (binary_expression "extraout_ESI + 0x27c" identifier + number_literal) )))) = (binary_expression "unaff_EBX + 0x5a6a2" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(extraout_ESI + 0x4fc) = 0;" (assignment_expression "*(undefined4 *)(extraout_ESI + 0x4fc) = 0" (pointer_expression "*(undefined4 *)(extraout_ESI + 0x4fc)" * (cast_expression "(undefined4 *)(extraout_ESI + 0x4fc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ESI + 0x4fc)" ( (binary_expression "extraout_ESI + 0x4fc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(extraout_ESI + 0x510) = 0;" (assignment_expression "*(undefined1 *)(extraout_ESI + 0x510) = 0" (pointer_expression "*(undefined1 *)(extraout_ESI + 0x510)" * (cast_expression "(undefined1 *)(extraout_ESI + 0x510)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ESI + 0x510)" ( (binary_expression "extraout_ESI + 0x510" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);" (assignment_expression "iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed)" identifier = (call_expression "FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed)" identifier (argument_list "(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed)" ( (binary_expression "extraout_ESI + 0x4a4" identifier + number_literal) , (binary_expression "unaff_EBX + 0x2807a" identifier + number_literal) , (binary_expression "unaff_EBX + 0x302ed" identifier + number_literal) )))) ;) (if_statement "if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }" { (expression_statement "*(undefined4 *)(extraout_ESI + 0x4dc) = 2;" (assignment_expression "*(undefined4 *)(extraout_ESI + 0x4dc) = 2" (pointer_expression "*(undefined4 *)(extraout_ESI + 0x4dc)" * (cast_expression "(undefined4 *)(extraout_ESI + 0x4dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ESI + 0x4dc)" ( (binary_expression "extraout_ESI + 0x4dc" identifier + number_literal) )))) = number_literal) ;) })) })) })) (return_statement "return;" return ;) })))
(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 pop3_perform_upgrade_tls(connectdata *conn)\n\n{\n  CURLcode CVar1;\n  \n  CVar1 = Curl_ssl_connect_nonblocking(conn,0,&(conn->proto).imapc.ssldone);\n  if (CVar1 == CURLE_OK) {\n    if ((conn->proto).ftpc.entrypath != (char *)0x4) {\n      (conn->proto).sshc.readdir_totalLen = 4;\n    }\n    if ((conn->proto).httpc.binsettings[0x38] != '\0') {\n      conn->tls_upgraded = true;\n      (conn->proto).ftpc.cwdcount = 0;\n      conn->handler = &Curl_handler_pop3s;\n      (conn->proto).ftpc.prevpath = (char *)0x0;\n      (conn->proto).pop3c.tls_supported = false;\n      CVar1 = Curl_pp_sendf(&(conn->proto).ftpc.pp,"%s",&DAT_0008580b);\n      if (CVar1 == CURLE_OK) {\n        (conn->proto).sshc.readdir_totalLen = 2;\n      }\n    }\n  }\n  return CVar1;\n}\n\n" comment comment (function_definition "CURLcode __regparm3 pop3_perform_upgrade_tls(connectdata *conn)\n\n{\n  CURLcode CVar1;\n  \n  CVar1 = Curl_ssl_connect_nonblocking(conn,0,&(conn->proto).imapc.ssldone);\n  if (CVar1 == CURLE_OK) {\n    if ((conn->proto).ftpc.entrypath != (char *)0x4) {\n      (conn->proto).sshc.readdir_totalLen = 4;\n    }\n    if ((conn->proto).httpc.binsettings[0x38] != '\0') {\n      conn->tls_upgraded = true;\n      (conn->proto).ftpc.cwdcount = 0;\n      conn->handler = &Curl_handler_pop3s;\n      (conn->proto).ftpc.prevpath = (char *)0x0;\n      (conn->proto).pop3c.tls_supported = false;\n      CVar1 = Curl_pp_sendf(&(conn->proto).ftpc.pp,"%s",&DAT_0008580b);\n      if (CVar1 == CURLE_OK) {\n        (conn->proto).sshc.readdir_totalLen = 2;\n      }\n    }\n  }\n  return CVar1;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "pop3_perform_upgrade_tls(connectdata *conn)" identifier (parameter_list "(connectdata *conn)" ( (parameter_declaration "connectdata *conn" type_identifier (pointer_declarator "*conn" * identifier)) ))) (compound_statement "{\n  CURLcode CVar1;\n  \n  CVar1 = Curl_ssl_connect_nonblocking(conn,0,&(conn->proto).imapc.ssldone);\n  if (CVar1 == CURLE_OK) {\n    if ((conn->proto).ftpc.entrypath != (char *)0x4) {\n      (conn->proto).sshc.readdir_totalLen = 4;\n    }\n    if ((conn->proto).httpc.binsettings[0x38] != '\0') {\n      conn->tls_upgraded = true;\n      (conn->proto).ftpc.cwdcount = 0;\n      conn->handler = &Curl_handler_pop3s;\n      (conn->proto).ftpc.prevpath = (char *)0x0;\n      (conn->proto).pop3c.tls_supported = false;\n      CVar1 = Curl_pp_sendf(&(conn->proto).ftpc.pp,"%s",&DAT_0008580b);\n      if (CVar1 == CURLE_OK) {\n        (conn->proto).sshc.readdir_totalLen = 2;\n      }\n    }\n  }\n  return CVar1;\n}" { (declaration "CURLcode CVar1;" type_identifier identifier ;) (expression_statement "CVar1 = Curl_ssl_connect_nonblocking(conn,0,&(conn->proto).imapc.ssldone);" (assignment_expression "CVar1 = Curl_ssl_connect_nonblocking(conn,0,&(conn->proto).imapc.ssldone)" identifier = (call_expression "Curl_ssl_connect_nonblocking(conn,0,&(conn->proto).imapc.ssldone)" identifier (argument_list "(conn,0,&(conn->proto).imapc.ssldone)" ( identifier , number_literal , (pointer_expression "&(conn->proto).imapc.ssldone" & (field_expression "(conn->proto).imapc.ssldone" (field_expression "(conn->proto).imapc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier)) )))) ;) (if_statement "if (CVar1 == CURLE_OK) {\n    if ((conn->proto).ftpc.entrypath != (char *)0x4) {\n      (conn->proto).sshc.readdir_totalLen = 4;\n    }\n    if ((conn->proto).httpc.binsettings[0x38] != '\0') {\n      conn->tls_upgraded = true;\n      (conn->proto).ftpc.cwdcount = 0;\n      conn->handler = &Curl_handler_pop3s;\n      (conn->proto).ftpc.prevpath = (char *)0x0;\n      (conn->proto).pop3c.tls_supported = false;\n      CVar1 = Curl_pp_sendf(&(conn->proto).ftpc.pp,"%s",&DAT_0008580b);\n      if (CVar1 == CURLE_OK) {\n        (conn->proto).sshc.readdir_totalLen = 2;\n      }\n    }\n  }" if (parenthesized_expression "(CVar1 == CURLE_OK)" ( (binary_expression "CVar1 == CURLE_OK" identifier == identifier) )) (compound_statement "{\n    if ((conn->proto).ftpc.entrypath != (char *)0x4) {\n      (conn->proto).sshc.readdir_totalLen = 4;\n    }\n    if ((conn->proto).httpc.binsettings[0x38] != '\0') {\n      conn->tls_upgraded = true;\n      (conn->proto).ftpc.cwdcount = 0;\n      conn->handler = &Curl_handler_pop3s;\n      (conn->proto).ftpc.prevpath = (char *)0x0;\n      (conn->proto).pop3c.tls_supported = false;\n      CVar1 = Curl_pp_sendf(&(conn->proto).ftpc.pp,"%s",&DAT_0008580b);\n      if (CVar1 == CURLE_OK) {\n        (conn->proto).sshc.readdir_totalLen = 2;\n      }\n    }\n  }" { (if_statement "if ((conn->proto).ftpc.entrypath != (char *)0x4) {\n      (conn->proto).sshc.readdir_totalLen = 4;\n    }" if (parenthesized_expression "((conn->proto).ftpc.entrypath != (char *)0x4)" ( (binary_expression "(conn->proto).ftpc.entrypath != (char *)0x4" (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 *)0x4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (conn->proto).sshc.readdir_totalLen = 4;\n    }" { (expression_statement "(conn->proto).sshc.readdir_totalLen = 4;" (assignment_expression "(conn->proto).sshc.readdir_totalLen = 4" (field_expression "(conn->proto).sshc.readdir_totalLen" (field_expression "(conn->proto).sshc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) })) (if_statement "if ((conn->proto).httpc.binsettings[0x38] != '\0') {\n      conn->tls_upgraded = true;\n      (conn->proto).ftpc.cwdcount = 0;\n      conn->handler = &Curl_handler_pop3s;\n      (conn->proto).ftpc.prevpath = (char *)0x0;\n      (conn->proto).pop3c.tls_supported = false;\n      CVar1 = Curl_pp_sendf(&(conn->proto).ftpc.pp,"%s",&DAT_0008580b);\n      if (CVar1 == CURLE_OK) {\n        (conn->proto).sshc.readdir_totalLen = 2;\n      }\n    }" if (parenthesized_expression "((conn->proto).httpc.binsettings[0x38] != '\0')" ( (binary_expression "(conn->proto).httpc.binsettings[0x38] != '\0'" (subscript_expression "(conn->proto).httpc.binsettings[0x38]" (field_expression "(conn->proto).httpc.binsettings" (field_expression "(conn->proto).httpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      conn->tls_upgraded = true;\n      (conn->proto).ftpc.cwdcount = 0;\n      conn->handler = &Curl_handler_pop3s;\n      (conn->proto).ftpc.prevpath = (char *)0x0;\n      (conn->proto).pop3c.tls_supported = false;\n      CVar1 = Curl_pp_sendf(&(conn->proto).ftpc.pp,"%s",&DAT_0008580b);\n      if (CVar1 == CURLE_OK) {\n        (conn->proto).sshc.readdir_totalLen = 2;\n      }\n    }" { (expression_statement "conn->tls_upgraded = true;" (assignment_expression "conn->tls_upgraded = true" (field_expression "conn->tls_upgraded" identifier -> field_identifier) = true) ;) (expression_statement "(conn->proto).ftpc.cwdcount = 0;" (assignment_expression "(conn->proto).ftpc.cwdcount = 0" (field_expression "(conn->proto).ftpc.cwdcount" (field_expression "(conn->proto).ftpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "conn->handler = &Curl_handler_pop3s;" (assignment_expression "conn->handler = &Curl_handler_pop3s" (field_expression "conn->handler" identifier -> field_identifier) = (pointer_expression "&Curl_handler_pop3s" & identifier)) ;) (expression_statement "(conn->proto).ftpc.prevpath = (char *)0x0;" (assignment_expression "(conn->proto).ftpc.prevpath = (char *)0x0" (field_expression "(conn->proto).ftpc.prevpath" (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)) ;) (expression_statement "(conn->proto).pop3c.tls_supported = false;" (assignment_expression "(conn->proto).pop3c.tls_supported = false" (field_expression "(conn->proto).pop3c.tls_supported" (field_expression "(conn->proto).pop3c" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) = false) ;) (expression_statement "CVar1 = Curl_pp_sendf(&(conn->proto).ftpc.pp,"%s",&DAT_0008580b);" (assignment_expression "CVar1 = Curl_pp_sendf(&(conn->proto).ftpc.pp,"%s",&DAT_0008580b)" identifier = (call_expression "Curl_pp_sendf(&(conn->proto).ftpc.pp,"%s",&DAT_0008580b)" identifier (argument_list "(&(conn->proto).ftpc.pp,"%s",&DAT_0008580b)" ( (pointer_expression "&(conn->proto).ftpc.pp" & (field_expression "(conn->proto).ftpc.pp" (field_expression "(conn->proto).ftpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier)) , (string_literal ""%s"" " string_content ") , (pointer_expression "&DAT_0008580b" & identifier) )))) ;) (if_statement "if (CVar1 == CURLE_OK) {\n        (conn->proto).sshc.readdir_totalLen = 2;\n      }" if (parenthesized_expression "(CVar1 == CURLE_OK)" ( (binary_expression "CVar1 == CURLE_OK" identifier == identifier) )) (compound_statement "{\n        (conn->proto).sshc.readdir_totalLen = 2;\n      }" { (expression_statement "(conn->proto).sshc.readdir_totalLen = 2;" (assignment_expression "(conn->proto).sshc.readdir_totalLen = 2" (field_expression "(conn->proto).sshc.readdir_totalLen" (field_expression "(conn->proto).sshc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) })) })) })) (return_statement "return CVar1;" return identifier ;) })))
(translation_unit "void __regparm3 FUN_00055510(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  int unaff_EBX;\n  int extraout_ESI;\n  \n  uVar1 = entry(param_2,0x5551e);\n  iVar2 = FUN_0007aa40(extraout_ESI,0,uVar1);\n  if (iVar2 == 0) {\n    if (*(int *)(extraout_ESI + 0x4dc) != 4) {\n      *(undefined4 *)(extraout_ESI + 0x4dc) = 4;\n    }\n    if (*(char *)(extraout_ESI + 0x4e0) != '\0') {\n      *(undefined1 *)(extraout_ESI + 0x248) = 1;\n      *(undefined4 *)(extraout_ESI + 0x4f4) = 0;\n      *(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;\n      *(undefined4 *)(extraout_ESI + 0x4fc) = 0;\n      *(undefined1 *)(extraout_ESI + 0x510) = 0;\n      iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);\n      if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }\n    }\n  }\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_00055510(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  int unaff_EBX;\n  int extraout_ESI;\n  \n  uVar1 = entry(param_2,0x5551e);\n  iVar2 = FUN_0007aa40(extraout_ESI,0,uVar1);\n  if (iVar2 == 0) {\n    if (*(int *)(extraout_ESI + 0x4dc) != 4) {\n      *(undefined4 *)(extraout_ESI + 0x4dc) = 4;\n    }\n    if (*(char *)(extraout_ESI + 0x4e0) != '\0') {\n      *(undefined1 *)(extraout_ESI + 0x248) = 1;\n      *(undefined4 *)(extraout_ESI + 0x4f4) = 0;\n      *(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;\n      *(undefined4 *)(extraout_ESI + 0x4fc) = 0;\n      *(undefined1 *)(extraout_ESI + 0x510) = 0;\n      iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);\n      if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }\n    }\n  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00055510(undefined4 param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  int iVar2;\n  int unaff_EBX;\n  int extraout_ESI;\n  \n  uVar1 = entry(param_2,0x5551e);\n  iVar2 = FUN_0007aa40(extraout_ESI,0,uVar1);\n  if (iVar2 == 0) {\n    if (*(int *)(extraout_ESI + 0x4dc) != 4) {\n      *(undefined4 *)(extraout_ESI + 0x4dc) = 4;\n    }\n    if (*(char *)(extraout_ESI + 0x4e0) != '\0') {\n      *(undefined1 *)(extraout_ESI + 0x248) = 1;\n      *(undefined4 *)(extraout_ESI + 0x4f4) = 0;\n      *(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;\n      *(undefined4 *)(extraout_ESI + 0x4fc) = 0;\n      *(undefined1 *)(extraout_ESI + 0x510) = 0;\n      iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);\n      if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }\n    }\n  }\n  return;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int unaff_EBX;" primitive_type identifier ;) (declaration "int extraout_ESI;" primitive_type identifier ;) (expression_statement "uVar1 = entry(param_2,0x5551e);" (assignment_expression "uVar1 = entry(param_2,0x5551e)" identifier = (call_expression "entry(param_2,0x5551e)" identifier (argument_list "(param_2,0x5551e)" ( identifier , number_literal )))) ;) (expression_statement "iVar2 = FUN_0007aa40(extraout_ESI,0,uVar1);" (assignment_expression "iVar2 = FUN_0007aa40(extraout_ESI,0,uVar1)" identifier = (call_expression "FUN_0007aa40(extraout_ESI,0,uVar1)" identifier (argument_list "(extraout_ESI,0,uVar1)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n    if (*(int *)(extraout_ESI + 0x4dc) != 4) {\n      *(undefined4 *)(extraout_ESI + 0x4dc) = 4;\n    }\n    if (*(char *)(extraout_ESI + 0x4e0) != '\0') {\n      *(undefined1 *)(extraout_ESI + 0x248) = 1;\n      *(undefined4 *)(extraout_ESI + 0x4f4) = 0;\n      *(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;\n      *(undefined4 *)(extraout_ESI + 0x4fc) = 0;\n      *(undefined1 *)(extraout_ESI + 0x510) = 0;\n      iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);\n      if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }\n    }\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    if (*(int *)(extraout_ESI + 0x4dc) != 4) {\n      *(undefined4 *)(extraout_ESI + 0x4dc) = 4;\n    }\n    if (*(char *)(extraout_ESI + 0x4e0) != '\0') {\n      *(undefined1 *)(extraout_ESI + 0x248) = 1;\n      *(undefined4 *)(extraout_ESI + 0x4f4) = 0;\n      *(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;\n      *(undefined4 *)(extraout_ESI + 0x4fc) = 0;\n      *(undefined1 *)(extraout_ESI + 0x510) = 0;\n      iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);\n      if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }\n    }\n  }" { (if_statement "if (*(int *)(extraout_ESI + 0x4dc) != 4) {\n      *(undefined4 *)(extraout_ESI + 0x4dc) = 4;\n    }" if (parenthesized_expression "(*(int *)(extraout_ESI + 0x4dc) != 4)" ( (binary_expression "*(int *)(extraout_ESI + 0x4dc) != 4" (pointer_expression "*(int *)(extraout_ESI + 0x4dc)" * (cast_expression "(int *)(extraout_ESI + 0x4dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ESI + 0x4dc)" ( (binary_expression "extraout_ESI + 0x4dc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      *(undefined4 *)(extraout_ESI + 0x4dc) = 4;\n    }" { (expression_statement "*(undefined4 *)(extraout_ESI + 0x4dc) = 4;" (assignment_expression "*(undefined4 *)(extraout_ESI + 0x4dc) = 4" (pointer_expression "*(undefined4 *)(extraout_ESI + 0x4dc)" * (cast_expression "(undefined4 *)(extraout_ESI + 0x4dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ESI + 0x4dc)" ( (binary_expression "extraout_ESI + 0x4dc" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if (*(char *)(extraout_ESI + 0x4e0) != '\0') {\n      *(undefined1 *)(extraout_ESI + 0x248) = 1;\n      *(undefined4 *)(extraout_ESI + 0x4f4) = 0;\n      *(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;\n      *(undefined4 *)(extraout_ESI + 0x4fc) = 0;\n      *(undefined1 *)(extraout_ESI + 0x510) = 0;\n      iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);\n      if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }\n    }" if (parenthesized_expression "(*(char *)(extraout_ESI + 0x4e0) != '\0')" ( (binary_expression "*(char *)(extraout_ESI + 0x4e0) != '\0'" (pointer_expression "*(char *)(extraout_ESI + 0x4e0)" * (cast_expression "(char *)(extraout_ESI + 0x4e0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ESI + 0x4e0)" ( (binary_expression "extraout_ESI + 0x4e0" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined1 *)(extraout_ESI + 0x248) = 1;\n      *(undefined4 *)(extraout_ESI + 0x4f4) = 0;\n      *(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;\n      *(undefined4 *)(extraout_ESI + 0x4fc) = 0;\n      *(undefined1 *)(extraout_ESI + 0x510) = 0;\n      iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);\n      if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }\n    }" { (expression_statement "*(undefined1 *)(extraout_ESI + 0x248) = 1;" (assignment_expression "*(undefined1 *)(extraout_ESI + 0x248) = 1" (pointer_expression "*(undefined1 *)(extraout_ESI + 0x248)" * (cast_expression "(undefined1 *)(extraout_ESI + 0x248)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ESI + 0x248)" ( (binary_expression "extraout_ESI + 0x248" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(extraout_ESI + 0x4f4) = 0;" (assignment_expression "*(undefined4 *)(extraout_ESI + 0x4f4) = 0" (pointer_expression "*(undefined4 *)(extraout_ESI + 0x4f4)" * (cast_expression "(undefined4 *)(extraout_ESI + 0x4f4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ESI + 0x4f4)" ( (binary_expression "extraout_ESI + 0x4f4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;" (assignment_expression "*(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2" (pointer_expression "*(int *)(extraout_ESI + 0x27c)" * (cast_expression "(int *)(extraout_ESI + 0x27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ESI + 0x27c)" ( (binary_expression "extraout_ESI + 0x27c" identifier + number_literal) )))) = (binary_expression "unaff_EBX + 0x5a6a2" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(extraout_ESI + 0x4fc) = 0;" (assignment_expression "*(undefined4 *)(extraout_ESI + 0x4fc) = 0" (pointer_expression "*(undefined4 *)(extraout_ESI + 0x4fc)" * (cast_expression "(undefined4 *)(extraout_ESI + 0x4fc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ESI + 0x4fc)" ( (binary_expression "extraout_ESI + 0x4fc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(extraout_ESI + 0x510) = 0;" (assignment_expression "*(undefined1 *)(extraout_ESI + 0x510) = 0" (pointer_expression "*(undefined1 *)(extraout_ESI + 0x510)" * (cast_expression "(undefined1 *)(extraout_ESI + 0x510)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ESI + 0x510)" ( (binary_expression "extraout_ESI + 0x510" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);" (assignment_expression "iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed)" identifier = (call_expression "FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed)" identifier (argument_list "(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed)" ( (binary_expression "extraout_ESI + 0x4a4" identifier + number_literal) , (binary_expression "unaff_EBX + 0x2807a" identifier + number_literal) , (binary_expression "unaff_EBX + 0x302ed" identifier + number_literal) )))) ;) (if_statement "if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }" { (expression_statement "*(undefined4 *)(extraout_ESI + 0x4dc) = 2;" (assignment_expression "*(undefined4 *)(extraout_ESI + 0x4dc) = 2" (pointer_expression "*(undefined4 *)(extraout_ESI + 0x4dc)" * (cast_expression "(undefined4 *)(extraout_ESI + 0x4dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ESI + 0x4dc)" ( (binary_expression "extraout_ESI + 0x4dc" identifier + number_literal) )))) = number_literal) ;) })) })) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) })) })) (return_statement return ;) })))
(function_definition "void __regparm3 FUN_00055510(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  int unaff_EBX;\n  int extraout_ESI;\n  \n  uVar1 = entry(param_2,0x5551e);\n  iVar2 = FUN_0007aa40(extraout_ESI,0,uVar1);\n  if (iVar2 == 0) {\n    if (*(int *)(extraout_ESI + 0x4dc) != 4) {\n      *(undefined4 *)(extraout_ESI + 0x4dc) = 4;\n    }\n    if (*(char *)(extraout_ESI + 0x4e0) != '\0') {\n      *(undefined1 *)(extraout_ESI + 0x248) = 1;\n      *(undefined4 *)(extraout_ESI + 0x4f4) = 0;\n      *(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;\n      *(undefined4 *)(extraout_ESI + 0x4fc) = 0;\n      *(undefined1 *)(extraout_ESI + 0x510) = 0;\n      iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);\n      if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }\n    }\n  }\n  return;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00055510(undefined4 param_1,undefined4 param_2)" (identifier "FUN_00055510") (parameter_list "(undefined4 param_1,undefined4 param_2)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  int iVar2;\n  int unaff_EBX;\n  int extraout_ESI;\n  \n  uVar1 = entry(param_2,0x5551e);\n  iVar2 = FUN_0007aa40(extraout_ESI,0,uVar1);\n  if (iVar2 == 0) {\n    if (*(int *)(extraout_ESI + 0x4dc) != 4) {\n      *(undefined4 *)(extraout_ESI + 0x4dc) = 4;\n    }\n    if (*(char *)(extraout_ESI + 0x4e0) != '\0') {\n      *(undefined1 *)(extraout_ESI + 0x248) = 1;\n      *(undefined4 *)(extraout_ESI + 0x4f4) = 0;\n      *(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;\n      *(undefined4 *)(extraout_ESI + 0x4fc) = 0;\n      *(undefined1 *)(extraout_ESI + 0x510) = 0;\n      iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);\n      if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }\n    }\n  }\n  return;\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int unaff_EBX;" (primitive_type "int") (identifier "unaff_EBX") (; ";")) (declaration "int extraout_ESI;" (primitive_type "int") (identifier "extraout_ESI") (; ";")) (expression_statement "uVar1 = entry(param_2,0x5551e);" (assignment_expression "uVar1 = entry(param_2,0x5551e)" (identifier "uVar1") (= "=") (call_expression "entry(param_2,0x5551e)" (identifier "entry") (argument_list "(param_2,0x5551e)" (( "(") (identifier "param_2") (, ",") (number_literal "0x5551e") () ")")))) (; ";")) (expression_statement "iVar2 = FUN_0007aa40(extraout_ESI,0,uVar1);" (assignment_expression "iVar2 = FUN_0007aa40(extraout_ESI,0,uVar1)" (identifier "iVar2") (= "=") (call_expression "FUN_0007aa40(extraout_ESI,0,uVar1)" (identifier "FUN_0007aa40") (argument_list "(extraout_ESI,0,uVar1)" (( "(") (identifier "extraout_ESI") (, ",") (number_literal "0") (, ",") (identifier "uVar1") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n    if (*(int *)(extraout_ESI + 0x4dc) != 4) {\n      *(undefined4 *)(extraout_ESI + 0x4dc) = 4;\n    }\n    if (*(char *)(extraout_ESI + 0x4e0) != '\0') {\n      *(undefined1 *)(extraout_ESI + 0x248) = 1;\n      *(undefined4 *)(extraout_ESI + 0x4f4) = 0;\n      *(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;\n      *(undefined4 *)(extraout_ESI + 0x4fc) = 0;\n      *(undefined1 *)(extraout_ESI + 0x510) = 0;\n      iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);\n      if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(extraout_ESI + 0x4dc) != 4) {\n      *(undefined4 *)(extraout_ESI + 0x4dc) = 4;\n    }\n    if (*(char *)(extraout_ESI + 0x4e0) != '\0') {\n      *(undefined1 *)(extraout_ESI + 0x248) = 1;\n      *(undefined4 *)(extraout_ESI + 0x4f4) = 0;\n      *(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;\n      *(undefined4 *)(extraout_ESI + 0x4fc) = 0;\n      *(undefined1 *)(extraout_ESI + 0x510) = 0;\n      iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);\n      if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }\n    }\n  }" ({ "{") (if_statement "if (*(int *)(extraout_ESI + 0x4dc) != 4) {\n      *(undefined4 *)(extraout_ESI + 0x4dc) = 4;\n    }" (if "if") (parenthesized_expression "(*(int *)(extraout_ESI + 0x4dc) != 4)" (( "(") (binary_expression "*(int *)(extraout_ESI + 0x4dc) != 4" (pointer_expression "*(int *)(extraout_ESI + 0x4dc)" (* "*") (cast_expression "(int *)(extraout_ESI + 0x4dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(extraout_ESI + 0x4dc)" (( "(") (binary_expression "extraout_ESI + 0x4dc" (identifier "extraout_ESI") (+ "+") (number_literal "0x4dc")) () ")")))) (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n      *(undefined4 *)(extraout_ESI + 0x4dc) = 4;\n    }" ({ "{") (expression_statement "*(undefined4 *)(extraout_ESI + 0x4dc) = 4;" (assignment_expression "*(undefined4 *)(extraout_ESI + 0x4dc) = 4" (pointer_expression "*(undefined4 *)(extraout_ESI + 0x4dc)" (* "*") (cast_expression "(undefined4 *)(extraout_ESI + 0x4dc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(extraout_ESI + 0x4dc)" (( "(") (binary_expression "extraout_ESI + 0x4dc" (identifier "extraout_ESI") (+ "+") (number_literal "0x4dc")) () ")")))) (= "=") (number_literal "4")) (; ";")) (} "}"))) (if_statement "if (*(char *)(extraout_ESI + 0x4e0) != '\0') {\n      *(undefined1 *)(extraout_ESI + 0x248) = 1;\n      *(undefined4 *)(extraout_ESI + 0x4f4) = 0;\n      *(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;\n      *(undefined4 *)(extraout_ESI + 0x4fc) = 0;\n      *(undefined1 *)(extraout_ESI + 0x510) = 0;\n      iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);\n      if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }\n    }" (if "if") (parenthesized_expression "(*(char *)(extraout_ESI + 0x4e0) != '\0')" (( "(") (binary_expression "*(char *)(extraout_ESI + 0x4e0) != '\0'" (pointer_expression "*(char *)(extraout_ESI + 0x4e0)" (* "*") (cast_expression "(char *)(extraout_ESI + 0x4e0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(extraout_ESI + 0x4e0)" (( "(") (binary_expression "extraout_ESI + 0x4e0" (identifier "extraout_ESI") (+ "+") (number_literal "0x4e0")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      *(undefined1 *)(extraout_ESI + 0x248) = 1;\n      *(undefined4 *)(extraout_ESI + 0x4f4) = 0;\n      *(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;\n      *(undefined4 *)(extraout_ESI + 0x4fc) = 0;\n      *(undefined1 *)(extraout_ESI + 0x510) = 0;\n      iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);\n      if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }\n    }" ({ "{") (expression_statement "*(undefined1 *)(extraout_ESI + 0x248) = 1;" (assignment_expression "*(undefined1 *)(extraout_ESI + 0x248) = 1" (pointer_expression "*(undefined1 *)(extraout_ESI + 0x248)" (* "*") (cast_expression "(undefined1 *)(extraout_ESI + 0x248)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(extraout_ESI + 0x248)" (( "(") (binary_expression "extraout_ESI + 0x248" (identifier "extraout_ESI") (+ "+") (number_literal "0x248")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(extraout_ESI + 0x4f4) = 0;" (assignment_expression "*(undefined4 *)(extraout_ESI + 0x4f4) = 0" (pointer_expression "*(undefined4 *)(extraout_ESI + 0x4f4)" (* "*") (cast_expression "(undefined4 *)(extraout_ESI + 0x4f4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(extraout_ESI + 0x4f4)" (( "(") (binary_expression "extraout_ESI + 0x4f4" (identifier "extraout_ESI") (+ "+") (number_literal "0x4f4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;" (assignment_expression "*(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2" (pointer_expression "*(int *)(extraout_ESI + 0x27c)" (* "*") (cast_expression "(int *)(extraout_ESI + 0x27c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(extraout_ESI + 0x27c)" (( "(") (binary_expression "extraout_ESI + 0x27c" (identifier "extraout_ESI") (+ "+") (number_literal "0x27c")) () ")")))) (= "=") (binary_expression "unaff_EBX + 0x5a6a2" (identifier "unaff_EBX") (+ "+") (number_literal "0x5a6a2"))) (; ";")) (expression_statement "*(undefined4 *)(extraout_ESI + 0x4fc) = 0;" (assignment_expression "*(undefined4 *)(extraout_ESI + 0x4fc) = 0" (pointer_expression "*(undefined4 *)(extraout_ESI + 0x4fc)" (* "*") (cast_expression "(undefined4 *)(extraout_ESI + 0x4fc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(extraout_ESI + 0x4fc)" (( "(") (binary_expression "extraout_ESI + 0x4fc" (identifier "extraout_ESI") (+ "+") (number_literal "0x4fc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(extraout_ESI + 0x510) = 0;" (assignment_expression "*(undefined1 *)(extraout_ESI + 0x510) = 0" (pointer_expression "*(undefined1 *)(extraout_ESI + 0x510)" (* "*") (cast_expression "(undefined1 *)(extraout_ESI + 0x510)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(extraout_ESI + 0x510)" (( "(") (binary_expression "extraout_ESI + 0x510" (identifier "extraout_ESI") (+ "+") (number_literal "0x510")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);" (assignment_expression "iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed)" (identifier "iVar2") (= "=") (call_expression "FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed)" (identifier "FUN_000584f0") (argument_list "(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed)" (( "(") (binary_expression "extraout_ESI + 0x4a4" (identifier "extraout_ESI") (+ "+") (number_literal "0x4a4")) (, ",") (binary_expression "unaff_EBX + 0x2807a" (identifier "unaff_EBX") (+ "+") (number_literal "0x2807a")) (, ",") (binary_expression "unaff_EBX + 0x302ed" (identifier "unaff_EBX") (+ "+") (number_literal "0x302ed")) () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;\n      }" ({ "{") (expression_statement "*(undefined4 *)(extraout_ESI + 0x4dc) = 2;" (assignment_expression "*(undefined4 *)(extraout_ESI + 0x4dc) = 2" (pointer_expression "*(undefined4 *)(extraout_ESI + 0x4dc)" (* "*") (cast_expression "(undefined4 *)(extraout_ESI + 0x4dc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(extraout_ESI + 0x4dc)" (( "(") (binary_expression "extraout_ESI + 0x4dc" (identifier "extraout_ESI") (+ "+") (number_literal "0x4dc")) () ")")))) (= "=") (number_literal "2")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* 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)

{
  type_1 var_2;
  
  var_2 = var_1(conn,0,&(conn->proto).imapc.ssldone);
  if (var_2 == var_3) {
    if ((conn->proto).ftpc.entrypath != (char *)0x4) {
      (conn->proto).sshc.readdir_totalLen = 4;
    }
    if ((conn->proto).httpc.binsettings[0x38] != '\0') {
      conn->tls_upgraded = true;
      (conn->proto).ftpc.cwdcount = 0;
      conn->handler = &Curl_handler_pop3s;
      (conn->proto).ftpc.prevpath = (char *)0x0;
      (conn->proto).pop3c.tls_supported = false;
      var_2 = var_4(&(conn->proto).ftpc.pp,"%s",&DAT_0008580b);
      if (var_2 == var_3) {
        (conn->proto).sshc.readdir_totalLen = 2;
      }
    }
  }
  return var_2;
}


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

void __regparm3 MASKED(undefined4 param_1,undefined4 param_2)

{
  undefined4 uVar1;
  int iVar2;
  int unaff_EBX;
  int extraout_ESI;
  
  uVar1 = entry(param_2,0x5551e);
  iVar2 = FUN_0007aa40(extraout_ESI,0,uVar1);
  if (iVar2 == 0) {
    if (*(int *)(extraout_ESI + 0x4dc) != 4) {
      *(undefined4 *)(extraout_ESI + 0x4dc) = 4;
    }
    if (*(char *)(extraout_ESI + 0x4e0) != '\0') {
      *(undefined1 *)(extraout_ESI + 0x248) = 1;
      *(undefined4 *)(extraout_ESI + 0x4f4) = 0;
      *(int *)(extraout_ESI + 0x27c) = unaff_EBX + 0x5a6a2;
      *(undefined4 *)(extraout_ESI + 0x4fc) = 0;
      *(undefined1 *)(extraout_ESI + 0x510) = 0;
      iVar2 = FUN_000584f0(extraout_ESI + 0x4a4,unaff_EBX + 0x2807a,unaff_EBX + 0x302ed);
      if (iVar2 == 0) {
        *(undefined4 *)(extraout_ESI + 0x4dc) = 2;
      }
    }
  }
  return;
}

