
int curl_strnequal(char *first,char *second,size_t max)

{
  undefined3 extraout_var;
  undefined3 extraout_var_00;
  undefined3 extraout_var_01;
  undefined3 extraout_var_02;
  char cVar1;
  char cVar2;
  char *pcVar3;
  char *pcVar4;
  int iVar5;
  
  cVar1 = *first;
  pcVar3 = second;
  if ((cVar1 == '\0') || (*second == '\0')) {
LAB_0003c1ec:
    if ((char *)max != (char *)0x0) {
LAB_0003c1a8:
      cVar1 = Curl_raw_toupper(*first);
      cVar2 = Curl_raw_toupper(*pcVar3);
      return (uint)(CONCAT31(extraout_var_01,cVar1) == CONCAT31(extraout_var_02,cVar2));
    }
  }
  else {
    iVar5 = max - 1;
    if (max != 0) {
      pcVar4 = second + max;
      do {
        cVar1 = Curl_raw_toupper(cVar1);
        cVar2 = Curl_raw_toupper(*pcVar3);
        max = (size_t)(second + (iVar5 - (int)pcVar3));
        if (CONCAT31(extraout_var,cVar1) != CONCAT31(extraout_var_00,cVar2)) goto LAB_0003c1a8;
        first = first + 1;
        cVar1 = *first;
        pcVar3 = pcVar3 + 1;
        if ((cVar1 == '\0') || (*pcVar3 == '\0')) goto LAB_0003c1ec;
      } while (pcVar3 != pcVar4);
    }
  }
  return 1;
}



void curl_strnequal(void)

{
  FUN_0003c0f4();
  return;
}


lui gp,0x7
addiu gp,gp,0x1e58
addu gp,gp,t9
lw t9,-0x7eb0(gp)
b 0x0003c0f4
_nop
(translation_unit "void curl_strnequal(void)\n\n{\n  FUN_0003c0f4();\n  return;\n}\n\n" (function_definition "void curl_strnequal(void)\n\n{\n  FUN_0003c0f4();\n  return;\n}" primitive_type (function_declarator "curl_strnequal(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  FUN_0003c0f4();\n  return;\n}" { (expression_statement "FUN_0003c0f4();" (call_expression "FUN_0003c0f4()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "int curl_strnequal(char *first,char *second,size_t max)\n\n{\n  undefined3 extraout_var;\n  undefined3 extraout_var_00;\n  undefined3 extraout_var_01;\n  undefined3 extraout_var_02;\n  char cVar1;\n  char cVar2;\n  char *pcVar3;\n  char *pcVar4;\n  int iVar5;\n  \n  cVar1 = *first;\n  pcVar3 = second;\n  if ((cVar1 == '\0') || (*second == '\0')) {\nLAB_0003c1ec:\n    if ((char *)max != (char *)0x0) {\nLAB_0003c1a8:\n      cVar1 = Curl_raw_toupper(*first);\n      cVar2 = Curl_raw_toupper(*pcVar3);\n      return (uint)(CONCAT31(extraout_var_01,cVar1) == CONCAT31(extraout_var_02,cVar2));\n    }\n  }\n  else {\n    iVar5 = max - 1;\n    if (max != 0) {\n      pcVar4 = second + max;\n      do {\n        cVar1 = Curl_raw_toupper(cVar1);\n        cVar2 = Curl_raw_toupper(*pcVar3);\n        max = (size_t)(second + (iVar5 - (int)pcVar3));\n        if (CONCAT31(extraout_var,cVar1) != CONCAT31(extraout_var_00,cVar2)) goto LAB_0003c1a8;\n        first = first + 1;\n        cVar1 = *first;\n        pcVar3 = pcVar3 + 1;\n        if ((cVar1 == '\0') || (*pcVar3 == '\0')) goto LAB_0003c1ec;\n      } while (pcVar3 != pcVar4);\n    }\n  }\n  return 1;\n}\n\n" (function_definition "int curl_strnequal(char *first,char *second,size_t max)\n\n{\n  undefined3 extraout_var;\n  undefined3 extraout_var_00;\n  undefined3 extraout_var_01;\n  undefined3 extraout_var_02;\n  char cVar1;\n  char cVar2;\n  char *pcVar3;\n  char *pcVar4;\n  int iVar5;\n  \n  cVar1 = *first;\n  pcVar3 = second;\n  if ((cVar1 == '\0') || (*second == '\0')) {\nLAB_0003c1ec:\n    if ((char *)max != (char *)0x0) {\nLAB_0003c1a8:\n      cVar1 = Curl_raw_toupper(*first);\n      cVar2 = Curl_raw_toupper(*pcVar3);\n      return (uint)(CONCAT31(extraout_var_01,cVar1) == CONCAT31(extraout_var_02,cVar2));\n    }\n  }\n  else {\n    iVar5 = max - 1;\n    if (max != 0) {\n      pcVar4 = second + max;\n      do {\n        cVar1 = Curl_raw_toupper(cVar1);\n        cVar2 = Curl_raw_toupper(*pcVar3);\n        max = (size_t)(second + (iVar5 - (int)pcVar3));\n        if (CONCAT31(extraout_var,cVar1) != CONCAT31(extraout_var_00,cVar2)) goto LAB_0003c1a8;\n        first = first + 1;\n        cVar1 = *first;\n        pcVar3 = pcVar3 + 1;\n        if ((cVar1 == '\0') || (*pcVar3 == '\0')) goto LAB_0003c1ec;\n      } while (pcVar3 != pcVar4);\n    }\n  }\n  return 1;\n}" primitive_type (function_declarator "curl_strnequal(char *first,char *second,size_t max)" identifier (parameter_list "(char *first,char *second,size_t max)" ( (parameter_declaration "char *first" primitive_type (pointer_declarator "*first" * identifier)) , (parameter_declaration "char *second" primitive_type (pointer_declarator "*second" * identifier)) , (parameter_declaration "size_t max" primitive_type identifier) ))) (compound_statement "{\n  undefined3 extraout_var;\n  undefined3 extraout_var_00;\n  undefined3 extraout_var_01;\n  undefined3 extraout_var_02;\n  char cVar1;\n  char cVar2;\n  char *pcVar3;\n  char *pcVar4;\n  int iVar5;\n  \n  cVar1 = *first;\n  pcVar3 = second;\n  if ((cVar1 == '\0') || (*second == '\0')) {\nLAB_0003c1ec:\n    if ((char *)max != (char *)0x0) {\nLAB_0003c1a8:\n      cVar1 = Curl_raw_toupper(*first);\n      cVar2 = Curl_raw_toupper(*pcVar3);\n      return (uint)(CONCAT31(extraout_var_01,cVar1) == CONCAT31(extraout_var_02,cVar2));\n    }\n  }\n  else {\n    iVar5 = max - 1;\n    if (max != 0) {\n      pcVar4 = second + max;\n      do {\n        cVar1 = Curl_raw_toupper(cVar1);\n        cVar2 = Curl_raw_toupper(*pcVar3);\n        max = (size_t)(second + (iVar5 - (int)pcVar3));\n        if (CONCAT31(extraout_var,cVar1) != CONCAT31(extraout_var_00,cVar2)) goto LAB_0003c1a8;\n        first = first + 1;\n        cVar1 = *first;\n        pcVar3 = pcVar3 + 1;\n        if ((cVar1 == '\0') || (*pcVar3 == '\0')) goto LAB_0003c1ec;\n      } while (pcVar3 != pcVar4);\n    }\n  }\n  return 1;\n}" { (declaration "undefined3 extraout_var;" type_identifier identifier ;) (declaration "undefined3 extraout_var_00;" type_identifier identifier ;) (declaration "undefined3 extraout_var_01;" type_identifier identifier ;) (declaration "undefined3 extraout_var_02;" type_identifier identifier ;) (declaration "char cVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (expression_statement "cVar1 = *first;" (assignment_expression "cVar1 = *first" identifier = (pointer_expression "*first" * identifier)) ;) (expression_statement "pcVar3 = second;" (assignment_expression "pcVar3 = second" identifier = identifier) ;) (if_statement "if ((cVar1 == '\0') || (*second == '\0')) {\nLAB_0003c1ec:\n    if ((char *)max != (char *)0x0) {\nLAB_0003c1a8:\n      cVar1 = Curl_raw_toupper(*first);\n      cVar2 = Curl_raw_toupper(*pcVar3);\n      return (uint)(CONCAT31(extraout_var_01,cVar1) == CONCAT31(extraout_var_02,cVar2));\n    }\n  }\n  else {\n    iVar5 = max - 1;\n    if (max != 0) {\n      pcVar4 = second + max;\n      do {\n        cVar1 = Curl_raw_toupper(cVar1);\n        cVar2 = Curl_raw_toupper(*pcVar3);\n        max = (size_t)(second + (iVar5 - (int)pcVar3));\n        if (CONCAT31(extraout_var,cVar1) != CONCAT31(extraout_var_00,cVar2)) goto LAB_0003c1a8;\n        first = first + 1;\n        cVar1 = *first;\n        pcVar3 = pcVar3 + 1;\n        if ((cVar1 == '\0') || (*pcVar3 == '\0')) goto LAB_0003c1ec;\n      } while (pcVar3 != pcVar4);\n    }\n  }" if (parenthesized_expression "((cVar1 == '\0') || (*second == '\0'))" ( (binary_expression "(cVar1 == '\0') || (*second == '\0')" (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*second == '\0')" ( (binary_expression "*second == '\0'" (pointer_expression "*second" * identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\nLAB_0003c1ec:\n    if ((char *)max != (char *)0x0) {\nLAB_0003c1a8:\n      cVar1 = Curl_raw_toupper(*first);\n      cVar2 = Curl_raw_toupper(*pcVar3);\n      return (uint)(CONCAT31(extraout_var_01,cVar1) == CONCAT31(extraout_var_02,cVar2));\n    }\n  }" { (labeled_statement "LAB_0003c1ec:\n    if ((char *)max != (char *)0x0) {\nLAB_0003c1a8:\n      cVar1 = Curl_raw_toupper(*first);\n      cVar2 = Curl_raw_toupper(*pcVar3);\n      return (uint)(CONCAT31(extraout_var_01,cVar1) == CONCAT31(extraout_var_02,cVar2));\n    }" statement_identifier : (if_statement "if ((char *)max != (char *)0x0) {\nLAB_0003c1a8:\n      cVar1 = Curl_raw_toupper(*first);\n      cVar2 = Curl_raw_toupper(*pcVar3);\n      return (uint)(CONCAT31(extraout_var_01,cVar1) == CONCAT31(extraout_var_02,cVar2));\n    }" if (parenthesized_expression "((char *)max != (char *)0x0)" ( (binary_expression "(char *)max != (char *)0x0" (cast_expression "(char *)max" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0003c1a8:\n      cVar1 = Curl_raw_toupper(*first);\n      cVar2 = Curl_raw_toupper(*pcVar3);\n      return (uint)(CONCAT31(extraout_var_01,cVar1) == CONCAT31(extraout_var_02,cVar2));\n    }" { (labeled_statement "LAB_0003c1a8:\n      cVar1 = Curl_raw_toupper(*first);" statement_identifier : (expression_statement "cVar1 = Curl_raw_toupper(*first);" (assignment_expression "cVar1 = Curl_raw_toupper(*first)" identifier = (call_expression "Curl_raw_toupper(*first)" identifier (argument_list "(*first)" ( (pointer_expression "*first" * identifier) )))) ;)) (expression_statement "cVar2 = Curl_raw_toupper(*pcVar3);" (assignment_expression "cVar2 = Curl_raw_toupper(*pcVar3)" identifier = (call_expression "Curl_raw_toupper(*pcVar3)" identifier (argument_list "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )))) ;) (return_statement "return (uint)(CONCAT31(extraout_var_01,cVar1) == CONCAT31(extraout_var_02,cVar2));" return (call_expression "(uint)(CONCAT31(extraout_var_01,cVar1) == CONCAT31(extraout_var_02,cVar2))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(CONCAT31(extraout_var_01,cVar1) == CONCAT31(extraout_var_02,cVar2))" ( (binary_expression "CONCAT31(extraout_var_01,cVar1) == CONCAT31(extraout_var_02,cVar2)" (call_expression "CONCAT31(extraout_var_01,cVar1)" identifier (argument_list "(extraout_var_01,cVar1)" ( identifier , identifier ))) == (call_expression "CONCAT31(extraout_var_02,cVar2)" identifier (argument_list "(extraout_var_02,cVar2)" ( identifier , identifier )))) ))) ;) }))) }) (else_clause "else {\n    iVar5 = max - 1;\n    if (max != 0) {\n      pcVar4 = second + max;\n      do {\n        cVar1 = Curl_raw_toupper(cVar1);\n        cVar2 = Curl_raw_toupper(*pcVar3);\n        max = (size_t)(second + (iVar5 - (int)pcVar3));\n        if (CONCAT31(extraout_var,cVar1) != CONCAT31(extraout_var_00,cVar2)) goto LAB_0003c1a8;\n        first = first + 1;\n        cVar1 = *first;\n        pcVar3 = pcVar3 + 1;\n        if ((cVar1 == '\0') || (*pcVar3 == '\0')) goto LAB_0003c1ec;\n      } while (pcVar3 != pcVar4);\n    }\n  }" else (compound_statement "{\n    iVar5 = max - 1;\n    if (max != 0) {\n      pcVar4 = second + max;\n      do {\n        cVar1 = Curl_raw_toupper(cVar1);\n        cVar2 = Curl_raw_toupper(*pcVar3);\n        max = (size_t)(second + (iVar5 - (int)pcVar3));\n        if (CONCAT31(extraout_var,cVar1) != CONCAT31(extraout_var_00,cVar2)) goto LAB_0003c1a8;\n        first = first + 1;\n        cVar1 = *first;\n        pcVar3 = pcVar3 + 1;\n        if ((cVar1 == '\0') || (*pcVar3 == '\0')) goto LAB_0003c1ec;\n      } while (pcVar3 != pcVar4);\n    }\n  }" { (expression_statement "iVar5 = max - 1;" (assignment_expression "iVar5 = max - 1" identifier = (binary_expression "max - 1" identifier - number_literal)) ;) (if_statement "if (max != 0) {\n      pcVar4 = second + max;\n      do {\n        cVar1 = Curl_raw_toupper(cVar1);\n        cVar2 = Curl_raw_toupper(*pcVar3);\n        max = (size_t)(second + (iVar5 - (int)pcVar3));\n        if (CONCAT31(extraout_var,cVar1) != CONCAT31(extraout_var_00,cVar2)) goto LAB_0003c1a8;\n        first = first + 1;\n        cVar1 = *first;\n        pcVar3 = pcVar3 + 1;\n        if ((cVar1 == '\0') || (*pcVar3 == '\0')) goto LAB_0003c1ec;\n      } while (pcVar3 != pcVar4);\n    }" if (parenthesized_expression "(max != 0)" ( (binary_expression "max != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar4 = second + max;\n      do {\n        cVar1 = Curl_raw_toupper(cVar1);\n        cVar2 = Curl_raw_toupper(*pcVar3);\n        max = (size_t)(second + (iVar5 - (int)pcVar3));\n        if (CONCAT31(extraout_var,cVar1) != CONCAT31(extraout_var_00,cVar2)) goto LAB_0003c1a8;\n        first = first + 1;\n        cVar1 = *first;\n        pcVar3 = pcVar3 + 1;\n        if ((cVar1 == '\0') || (*pcVar3 == '\0')) goto LAB_0003c1ec;\n      } while (pcVar3 != pcVar4);\n    }" { (expression_statement "pcVar4 = second + max;" (assignment_expression "pcVar4 = second + max" identifier = (binary_expression "second + max" identifier + identifier)) ;) (do_statement "do {\n        cVar1 = Curl_raw_toupper(cVar1);\n        cVar2 = Curl_raw_toupper(*pcVar3);\n        max = (size_t)(second + (iVar5 - (int)pcVar3));\n        if (CONCAT31(extraout_var,cVar1) != CONCAT31(extraout_var_00,cVar2)) goto LAB_0003c1a8;\n        first = first + 1;\n        cVar1 = *first;\n        pcVar3 = pcVar3 + 1;\n        if ((cVar1 == '\0') || (*pcVar3 == '\0')) goto LAB_0003c1ec;\n      } while (pcVar3 != pcVar4);" do (compound_statement "{\n        cVar1 = Curl_raw_toupper(cVar1);\n        cVar2 = Curl_raw_toupper(*pcVar3);\n        max = (size_t)(second + (iVar5 - (int)pcVar3));\n        if (CONCAT31(extraout_var,cVar1) != CONCAT31(extraout_var_00,cVar2)) goto LAB_0003c1a8;\n        first = first + 1;\n        cVar1 = *first;\n        pcVar3 = pcVar3 + 1;\n        if ((cVar1 == '\0') || (*pcVar3 == '\0')) goto LAB_0003c1ec;\n      }" { (expression_statement "cVar1 = Curl_raw_toupper(cVar1);" (assignment_expression "cVar1 = Curl_raw_toupper(cVar1)" identifier = (call_expression "Curl_raw_toupper(cVar1)" identifier (argument_list "(cVar1)" ( identifier )))) ;) (expression_statement "cVar2 = Curl_raw_toupper(*pcVar3);" (assignment_expression "cVar2 = Curl_raw_toupper(*pcVar3)" identifier = (call_expression "Curl_raw_toupper(*pcVar3)" identifier (argument_list "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )))) ;) (expression_statement "max = (size_t)(second + (iVar5 - (int)pcVar3));" (assignment_expression "max = (size_t)(second + (iVar5 - (int)pcVar3))" identifier = (cast_expression "(size_t)(second + (iVar5 - (int)pcVar3))" ( (type_descriptor "size_t" primitive_type) ) (parenthesized_expression "(second + (iVar5 - (int)pcVar3))" ( (binary_expression "second + (iVar5 - (int)pcVar3)" identifier + (parenthesized_expression "(iVar5 - (int)pcVar3)" ( (binary_expression "iVar5 - (int)pcVar3" identifier - (cast_expression "(int)pcVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (if_statement "if (CONCAT31(extraout_var,cVar1) != CONCAT31(extraout_var_00,cVar2)) goto LAB_0003c1a8;" if (parenthesized_expression "(CONCAT31(extraout_var,cVar1) != CONCAT31(extraout_var_00,cVar2))" ( (binary_expression "CONCAT31(extraout_var,cVar1) != CONCAT31(extraout_var_00,cVar2)" (call_expression "CONCAT31(extraout_var,cVar1)" identifier (argument_list "(extraout_var,cVar1)" ( identifier , identifier ))) != (call_expression "CONCAT31(extraout_var_00,cVar2)" identifier (argument_list "(extraout_var_00,cVar2)" ( identifier , identifier )))) )) (goto_statement "goto LAB_0003c1a8;" goto statement_identifier ;)) (expression_statement "first = first + 1;" (assignment_expression "first = first + 1" identifier = (binary_expression "first + 1" identifier + number_literal)) ;) (expression_statement "cVar1 = *first;" (assignment_expression "cVar1 = *first" identifier = (pointer_expression "*first" * identifier)) ;) (expression_statement "pcVar3 = pcVar3 + 1;" (assignment_expression "pcVar3 = pcVar3 + 1" identifier = (binary_expression "pcVar3 + 1" identifier + number_literal)) ;) (if_statement "if ((cVar1 == '\0') || (*pcVar3 == '\0')) goto LAB_0003c1ec;" if (parenthesized_expression "((cVar1 == '\0') || (*pcVar3 == '\0'))" ( (binary_expression "(cVar1 == '\0') || (*pcVar3 == '\0')" (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*pcVar3 == '\0')" ( (binary_expression "*pcVar3 == '\0'" (pointer_expression "*pcVar3" * identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_0003c1ec;" goto statement_identifier ;)) }) while (parenthesized_expression "(pcVar3 != pcVar4)" ( (binary_expression "pcVar3 != pcVar4" identifier != identifier) )) ;) })) }))) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "void curl_strnequal(void)\n\n{\n  FUN_0003c0f4();\n  return;\n}\n\n" (function_definition "void curl_strnequal(void)\n\n{\n  FUN_0003c0f4();\n  return;\n}" primitive_type (function_declarator "curl_strnequal(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  FUN_0003c0f4();\n  return;\n}" { (expression_statement "FUN_0003c0f4();" (call_expression "FUN_0003c0f4()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void curl_strnequal(void)\n\n{\n  FUN_0003c0f4();\n  return;\n}" (primitive_type "void") (function_declarator "curl_strnequal(void)" (identifier "curl_strnequal") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  FUN_0003c0f4();\n  return;\n}" ({ "{") (expression_statement "FUN_0003c0f4();" (call_expression "FUN_0003c0f4()" (identifier "FUN_0003c0f4") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))))

void MASKED(void)

{
  FUN_0003c0f4();
  return;
}

