
/* WARNING: Unknown calling convention */

int MHD_str_equal_caseless_n_(char *str1,char *str2,size_t maxlen)

{
  char cVar1;
  size_t sVar2;
  char cVar3;
  
  if (maxlen == 0) {
    return 1;
  }
  cVar3 = *str1;
  cVar1 = *str2;
  if (cVar1 != '\0') {
    sVar2 = 0;
    do {
      if (cVar3 != cVar1) {
        if ((byte)(cVar3 + 0xbfU) < 0x1a) {
          cVar3 = cVar3 + ' ';
          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;
        }
        else {
          if (0x19 < (byte)(cVar1 + 0xbfU)) {
            return 0;
          }
LAB_00111488:
          cVar1 = cVar1 + ' ';
        }
        if (cVar1 != cVar3) {
          return 0;
        }
      }
      sVar2 = sVar2 + 1;
      if (maxlen == sVar2) {
        return 1;
      }
      cVar3 = str1[sVar2];
      cVar1 = str2[sVar2];
    } while (cVar1 != '\0');
  }
  return (int)(cVar3 == '\0');
}



bool FUN_0011144b(char *param_1,char *param_2,long param_3)

{
  char cVar1;
  long lVar2;
  char cVar3;
  
  if (param_3 == 0) {
    return true;
  }
  cVar3 = *param_1;
  cVar1 = *param_2;
  if (cVar1 != '\0') {
    lVar2 = 0;
    do {
      if (cVar3 != cVar1) {
        if ((byte)(cVar3 + 0xbfU) < 0x1a) {
          cVar3 = cVar3 + ' ';
          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;
        }
        else {
          if (0x19 < (byte)(cVar1 + 0xbfU)) {
            return false;
          }
LAB_00111488:
          cVar1 = cVar1 + ' ';
        }
        if (cVar1 != cVar3) {
          return false;
        }
      }
      lVar2 = lVar2 + 1;
      if (param_3 == lVar2) {
        return true;
      }
      cVar3 = param_1[lVar2];
      cVar1 = param_2[lVar2];
    } while (cVar1 != '\0');
  }
  return cVar3 == '\0';
}


TEST RDX,RDX
JZ 0x00111472
MOVZX R8D,byte ptr [RDI]
MOVZX EAX,byte ptr [RSI]
TEST AL,AL
JZ 0x00111462
MOV ECX,0x0
JMP 0x001114a7
TEST R8B,R8B
SETZ AL
MOVZX EAX,AL
RET
MOV EAX,0x1
RET
MOV EAX,0x1
RET
MOV EAX,0x0
RET
MOV R9D,EAX
SUB EAX,0x41
CMP AL,0x19
JA 0x001114c9
LEA EAX,[R9 + 0x20]
CMP AL,R8B
JNZ 0x00111478
ADD RCX,0x1
CMP RDX,RCX
JZ 0x0011146c
MOVZX R8D,byte ptr [RDI + RCX*0x1]
MOVZX EAX,byte ptr [RSI + RCX*0x1]
TEST AL,AL
JZ 0x00111462
CMP R8B,AL
JZ 0x00111491
LEA R9D,[R8 + -0x41]
CMP R9B,0x19
JA 0x0011147e
ADD R8D,0x20
MOV R9D,EAX
LEA R10D,[RAX + -0x41]
CMP R10B,0x19
JA 0x0011148c
JMP 0x00111488
MOV EAX,0x0
RET
(translation_unit "bool FUN_0011144b(char *param_1,char *param_2,long param_3)\n\n{\n  char cVar1;\n  long lVar2;\n  char cVar3;\n  \n  if (param_3 == 0) {\n    return true;\n  }\n  cVar3 = *param_1;\n  cVar1 = *param_2;\n  if (cVar1 != '\0') {\n    lVar2 = 0;\n    do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }\n      lVar2 = lVar2 + 1;\n      if (param_3 == lVar2) {\n        return true;\n      }\n      cVar3 = param_1[lVar2];\n      cVar1 = param_2[lVar2];\n    } while (cVar1 != '\0');\n  }\n  return cVar3 == '\0';\n}\n\n" (function_definition "bool FUN_0011144b(char *param_1,char *param_2,long param_3)\n\n{\n  char cVar1;\n  long lVar2;\n  char cVar3;\n  \n  if (param_3 == 0) {\n    return true;\n  }\n  cVar3 = *param_1;\n  cVar1 = *param_2;\n  if (cVar1 != '\0') {\n    lVar2 = 0;\n    do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }\n      lVar2 = lVar2 + 1;\n      if (param_3 == lVar2) {\n        return true;\n      }\n      cVar3 = param_1[lVar2];\n      cVar1 = param_2[lVar2];\n    } while (cVar1 != '\0');\n  }\n  return cVar3 == '\0';\n}" primitive_type (function_declarator "FUN_0011144b(char *param_1,char *param_2,long param_3)" identifier (parameter_list "(char *param_1,char *param_2,long param_3)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  char cVar1;\n  long lVar2;\n  char cVar3;\n  \n  if (param_3 == 0) {\n    return true;\n  }\n  cVar3 = *param_1;\n  cVar1 = *param_2;\n  if (cVar1 != '\0') {\n    lVar2 = 0;\n    do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }\n      lVar2 = lVar2 + 1;\n      if (param_3 == lVar2) {\n        return true;\n      }\n      cVar3 = param_1[lVar2];\n      cVar1 = param_2[lVar2];\n    } while (cVar1 != '\0');\n  }\n  return cVar3 == '\0';\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (if_statement "if (param_3 == 0) {\n    return true;\n  }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n    return true;\n  }" { (return_statement "return true;" return true ;) })) (expression_statement "cVar3 = *param_1;" (assignment_expression "cVar3 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "cVar1 = *param_2;" (assignment_expression "cVar1 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (if_statement "if (cVar1 != '\0') {\n    lVar2 = 0;\n    do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }\n      lVar2 = lVar2 + 1;\n      if (param_3 == lVar2) {\n        return true;\n      }\n      cVar3 = param_1[lVar2];\n      cVar1 = param_2[lVar2];\n    } while (cVar1 != '\0');\n  }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    lVar2 = 0;\n    do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }\n      lVar2 = lVar2 + 1;\n      if (param_3 == lVar2) {\n        return true;\n      }\n      cVar3 = param_1[lVar2];\n      cVar1 = param_2[lVar2];\n    } while (cVar1 != '\0');\n  }" { (expression_statement "lVar2 = 0;" (assignment_expression "lVar2 = 0" identifier = number_literal) ;) (do_statement "do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }\n      lVar2 = lVar2 + 1;\n      if (param_3 == lVar2) {\n        return true;\n      }\n      cVar3 = param_1[lVar2];\n      cVar1 = param_2[lVar2];\n    } while (cVar1 != '\0');" do (compound_statement "{\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }\n      lVar2 = lVar2 + 1;\n      if (param_3 == lVar2) {\n        return true;\n      }\n      cVar3 = param_1[lVar2];\n      cVar1 = param_2[lVar2];\n    }" { (if_statement "if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }" if (parenthesized_expression "(cVar3 != cVar1)" ( (binary_expression "cVar3 != cVar1" identifier != identifier) )) (compound_statement "{\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }" { (if_statement "if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }" if (parenthesized_expression "((byte)(cVar3 + 0xbfU) < 0x1a)" ( (binary_expression "(byte)(cVar3 + 0xbfU) < 0x1a" (call_expression "(byte)(cVar3 + 0xbfU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar3 + 0xbfU)" ( (binary_expression "cVar3 + 0xbfU" identifier + number_literal) ))) < number_literal) )) (compound_statement "{\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }" { (expression_statement "cVar3 = cVar3 + ' ';" (assignment_expression "cVar3 = cVar3 + ' '" identifier = (binary_expression "cVar3 + ' '" identifier + (char_literal "' '" ' character '))) ;) (if_statement "if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;" if (parenthesized_expression "((byte)(cVar1 + 0xbfU) < 0x1a)" ( (binary_expression "(byte)(cVar1 + 0xbfU) < 0x1a" (call_expression "(byte)(cVar1 + 0xbfU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar1 + 0xbfU)" ( (binary_expression "cVar1 + 0xbfU" identifier + number_literal) ))) < number_literal) )) (goto_statement "goto LAB_00111488;" goto statement_identifier ;)) }) (else_clause "else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }" else (compound_statement "{\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }" { (if_statement "if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }" if (parenthesized_expression "(0x19 < (byte)(cVar1 + 0xbfU))" ( (binary_expression "0x19 < (byte)(cVar1 + 0xbfU)" number_literal < (call_expression "(byte)(cVar1 + 0xbfU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar1 + 0xbfU)" ( (binary_expression "cVar1 + 0xbfU" identifier + number_literal) )))) )) (compound_statement "{\n            return false;\n          }" { (return_statement "return false;" return false ;) })) (labeled_statement "LAB_00111488:\n          cVar1 = cVar1 + ' ';" statement_identifier : (expression_statement "cVar1 = cVar1 + ' ';" (assignment_expression "cVar1 = cVar1 + ' '" identifier = (binary_expression "cVar1 + ' '" identifier + (char_literal "' '" ' character '))) ;)) }))) (if_statement "if (cVar1 != cVar3) {\n          return false;\n        }" if (parenthesized_expression "(cVar1 != cVar3)" ( (binary_expression "cVar1 != cVar3" identifier != identifier) )) (compound_statement "{\n          return false;\n        }" { (return_statement "return false;" return false ;) })) })) (expression_statement "lVar2 = lVar2 + 1;" (assignment_expression "lVar2 = lVar2 + 1" identifier = (binary_expression "lVar2 + 1" identifier + number_literal)) ;) (if_statement "if (param_3 == lVar2) {\n        return true;\n      }" if (parenthesized_expression "(param_3 == lVar2)" ( (binary_expression "param_3 == lVar2" identifier == identifier) )) (compound_statement "{\n        return true;\n      }" { (return_statement "return true;" return true ;) })) (expression_statement "cVar3 = param_1[lVar2];" (assignment_expression "cVar3 = param_1[lVar2]" identifier = (subscript_expression "param_1[lVar2]" identifier [ identifier ])) ;) (expression_statement "cVar1 = param_2[lVar2];" (assignment_expression "cVar1 = param_2[lVar2]" identifier = (subscript_expression "param_2[lVar2]" identifier [ identifier ])) ;) }) while (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) })) (return_statement "return cVar3 == '\0';" return (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ;) })))
(translation_unit "/* WARNING: Unknown calling convention */\n\nint MHD_str_equal_caseless_n_(char *str1,char *str2,size_t maxlen)\n\n{\n  char cVar1;\n  size_t sVar2;\n  char cVar3;\n  \n  if (maxlen == 0) {\n    return 1;\n  }\n  cVar3 = *str1;\n  cVar1 = *str2;\n  if (cVar1 != '\0') {\n    sVar2 = 0;\n    do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return 0;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return 0;\n        }\n      }\n      sVar2 = sVar2 + 1;\n      if (maxlen == sVar2) {\n        return 1;\n      }\n      cVar3 = str1[sVar2];\n      cVar1 = str2[sVar2];\n    } while (cVar1 != '\0');\n  }\n  return (int)(cVar3 == '\0');\n}\n\n" comment (function_definition "int MHD_str_equal_caseless_n_(char *str1,char *str2,size_t maxlen)\n\n{\n  char cVar1;\n  size_t sVar2;\n  char cVar3;\n  \n  if (maxlen == 0) {\n    return 1;\n  }\n  cVar3 = *str1;\n  cVar1 = *str2;\n  if (cVar1 != '\0') {\n    sVar2 = 0;\n    do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return 0;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return 0;\n        }\n      }\n      sVar2 = sVar2 + 1;\n      if (maxlen == sVar2) {\n        return 1;\n      }\n      cVar3 = str1[sVar2];\n      cVar1 = str2[sVar2];\n    } while (cVar1 != '\0');\n  }\n  return (int)(cVar3 == '\0');\n}" primitive_type (function_declarator "MHD_str_equal_caseless_n_(char *str1,char *str2,size_t maxlen)" identifier (parameter_list "(char *str1,char *str2,size_t maxlen)" ( (parameter_declaration "char *str1" primitive_type (pointer_declarator "*str1" * identifier)) , (parameter_declaration "char *str2" primitive_type (pointer_declarator "*str2" * identifier)) , (parameter_declaration "size_t maxlen" primitive_type identifier) ))) (compound_statement "{\n  char cVar1;\n  size_t sVar2;\n  char cVar3;\n  \n  if (maxlen == 0) {\n    return 1;\n  }\n  cVar3 = *str1;\n  cVar1 = *str2;\n  if (cVar1 != '\0') {\n    sVar2 = 0;\n    do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return 0;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return 0;\n        }\n      }\n      sVar2 = sVar2 + 1;\n      if (maxlen == sVar2) {\n        return 1;\n      }\n      cVar3 = str1[sVar2];\n      cVar1 = str2[sVar2];\n    } while (cVar1 != '\0');\n  }\n  return (int)(cVar3 == '\0');\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (if_statement "if (maxlen == 0) {\n    return 1;\n  }" if (parenthesized_expression "(maxlen == 0)" ( (binary_expression "maxlen == 0" identifier == number_literal) )) (compound_statement "{\n    return 1;\n  }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "cVar3 = *str1;" (assignment_expression "cVar3 = *str1" identifier = (pointer_expression "*str1" * identifier)) ;) (expression_statement "cVar1 = *str2;" (assignment_expression "cVar1 = *str2" identifier = (pointer_expression "*str2" * identifier)) ;) (if_statement "if (cVar1 != '\0') {\n    sVar2 = 0;\n    do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return 0;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return 0;\n        }\n      }\n      sVar2 = sVar2 + 1;\n      if (maxlen == sVar2) {\n        return 1;\n      }\n      cVar3 = str1[sVar2];\n      cVar1 = str2[sVar2];\n    } while (cVar1 != '\0');\n  }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    sVar2 = 0;\n    do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return 0;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return 0;\n        }\n      }\n      sVar2 = sVar2 + 1;\n      if (maxlen == sVar2) {\n        return 1;\n      }\n      cVar3 = str1[sVar2];\n      cVar1 = str2[sVar2];\n    } while (cVar1 != '\0');\n  }" { (expression_statement "sVar2 = 0;" (assignment_expression "sVar2 = 0" identifier = number_literal) ;) (do_statement "do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return 0;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return 0;\n        }\n      }\n      sVar2 = sVar2 + 1;\n      if (maxlen == sVar2) {\n        return 1;\n      }\n      cVar3 = str1[sVar2];\n      cVar1 = str2[sVar2];\n    } while (cVar1 != '\0');" do (compound_statement "{\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return 0;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return 0;\n        }\n      }\n      sVar2 = sVar2 + 1;\n      if (maxlen == sVar2) {\n        return 1;\n      }\n      cVar3 = str1[sVar2];\n      cVar1 = str2[sVar2];\n    }" { (if_statement "if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return 0;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return 0;\n        }\n      }" if (parenthesized_expression "(cVar3 != cVar1)" ( (binary_expression "cVar3 != cVar1" identifier != identifier) )) (compound_statement "{\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return 0;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return 0;\n        }\n      }" { (if_statement "if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return 0;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }" if (parenthesized_expression "((byte)(cVar3 + 0xbfU) < 0x1a)" ( (binary_expression "(byte)(cVar3 + 0xbfU) < 0x1a" (call_expression "(byte)(cVar3 + 0xbfU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar3 + 0xbfU)" ( (binary_expression "cVar3 + 0xbfU" identifier + number_literal) ))) < number_literal) )) (compound_statement "{\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }" { (expression_statement "cVar3 = cVar3 + ' ';" (assignment_expression "cVar3 = cVar3 + ' '" identifier = (binary_expression "cVar3 + ' '" identifier + (char_literal "' '" ' character '))) ;) (if_statement "if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;" if (parenthesized_expression "((byte)(cVar1 + 0xbfU) < 0x1a)" ( (binary_expression "(byte)(cVar1 + 0xbfU) < 0x1a" (call_expression "(byte)(cVar1 + 0xbfU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar1 + 0xbfU)" ( (binary_expression "cVar1 + 0xbfU" identifier + number_literal) ))) < number_literal) )) (goto_statement "goto LAB_00111488;" goto statement_identifier ;)) }) (else_clause "else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return 0;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }" else (compound_statement "{\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return 0;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }" { (if_statement "if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return 0;\n          }" if (parenthesized_expression "(0x19 < (byte)(cVar1 + 0xbfU))" ( (binary_expression "0x19 < (byte)(cVar1 + 0xbfU)" number_literal < (call_expression "(byte)(cVar1 + 0xbfU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar1 + 0xbfU)" ( (binary_expression "cVar1 + 0xbfU" identifier + number_literal) )))) )) (compound_statement "{\n            return 0;\n          }" { (return_statement "return 0;" return number_literal ;) })) (labeled_statement "LAB_00111488:\n          cVar1 = cVar1 + ' ';" statement_identifier : (expression_statement "cVar1 = cVar1 + ' ';" (assignment_expression "cVar1 = cVar1 + ' '" identifier = (binary_expression "cVar1 + ' '" identifier + (char_literal "' '" ' character '))) ;)) }))) (if_statement "if (cVar1 != cVar3) {\n          return 0;\n        }" if (parenthesized_expression "(cVar1 != cVar3)" ( (binary_expression "cVar1 != cVar3" identifier != identifier) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) })) (expression_statement "sVar2 = sVar2 + 1;" (assignment_expression "sVar2 = sVar2 + 1" identifier = (binary_expression "sVar2 + 1" identifier + number_literal)) ;) (if_statement "if (maxlen == sVar2) {\n        return 1;\n      }" if (parenthesized_expression "(maxlen == sVar2)" ( (binary_expression "maxlen == sVar2" identifier == identifier) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "cVar3 = str1[sVar2];" (assignment_expression "cVar3 = str1[sVar2]" identifier = (subscript_expression "str1[sVar2]" identifier [ identifier ])) ;) (expression_statement "cVar1 = str2[sVar2];" (assignment_expression "cVar1 = str2[sVar2]" identifier = (subscript_expression "str2[sVar2]" identifier [ identifier ])) ;) }) while (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) })) (return_statement "return (int)(cVar3 == '\0');" return (cast_expression "(int)(cVar3 == '\0')" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) ;) })))
(translation_unit "bool FUN_0011144b(char *param_1,char *param_2,long param_3)\n\n{\n  char cVar1;\n  long lVar2;\n  char cVar3;\n  \n  if (param_3 == 0) {\n    return true;\n  }\n  cVar3 = *param_1;\n  cVar1 = *param_2;\n  if (cVar1 != '\0') {\n    lVar2 = 0;\n    do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }\n      lVar2 = lVar2 + 1;\n      if (param_3 == lVar2) {\n        return true;\n      }\n      cVar3 = param_1[lVar2];\n      cVar1 = param_2[lVar2];\n    } while (cVar1 != '\0');\n  }\n  return cVar3 == '\0';\n}\n\n" (function_definition "bool FUN_0011144b(char *param_1,char *param_2,long param_3)\n\n{\n  char cVar1;\n  long lVar2;\n  char cVar3;\n  \n  if (param_3 == 0) {\n    return true;\n  }\n  cVar3 = *param_1;\n  cVar1 = *param_2;\n  if (cVar1 != '\0') {\n    lVar2 = 0;\n    do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }\n      lVar2 = lVar2 + 1;\n      if (param_3 == lVar2) {\n        return true;\n      }\n      cVar3 = param_1[lVar2];\n      cVar1 = param_2[lVar2];\n    } while (cVar1 != '\0');\n  }\n  return cVar3 == '\0';\n}" primitive_type (function_declarator "FUN_0011144b(char *param_1,char *param_2,long param_3)" identifier (parameter_list "(char *param_1,char *param_2,long param_3)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  char cVar1;\n  long lVar2;\n  char cVar3;\n  \n  if (param_3 == 0) {\n    return true;\n  }\n  cVar3 = *param_1;\n  cVar1 = *param_2;\n  if (cVar1 != '\0') {\n    lVar2 = 0;\n    do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }\n      lVar2 = lVar2 + 1;\n      if (param_3 == lVar2) {\n        return true;\n      }\n      cVar3 = param_1[lVar2];\n      cVar1 = param_2[lVar2];\n    } while (cVar1 != '\0');\n  }\n  return cVar3 == '\0';\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (if_statement "if (param_3 == 0) {\n    return true;\n  }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n    return true;\n  }" { (return_statement "return true;" return true ;) })) (expression_statement "cVar3 = *param_1;" (assignment_expression "cVar3 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "cVar1 = *param_2;" (assignment_expression "cVar1 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (if_statement "if (cVar1 != '\0') {\n    lVar2 = 0;\n    do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }\n      lVar2 = lVar2 + 1;\n      if (param_3 == lVar2) {\n        return true;\n      }\n      cVar3 = param_1[lVar2];\n      cVar1 = param_2[lVar2];\n    } while (cVar1 != '\0');\n  }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    lVar2 = 0;\n    do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }\n      lVar2 = lVar2 + 1;\n      if (param_3 == lVar2) {\n        return true;\n      }\n      cVar3 = param_1[lVar2];\n      cVar1 = param_2[lVar2];\n    } while (cVar1 != '\0');\n  }" { (expression_statement "lVar2 = 0;" (assignment_expression "lVar2 = 0" identifier = number_literal) ;) (do_statement "do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }\n      lVar2 = lVar2 + 1;\n      if (param_3 == lVar2) {\n        return true;\n      }\n      cVar3 = param_1[lVar2];\n      cVar1 = param_2[lVar2];\n    } while (cVar1 != '\0');" do (compound_statement "{\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }\n      lVar2 = lVar2 + 1;\n      if (param_3 == lVar2) {\n        return true;\n      }\n      cVar3 = param_1[lVar2];\n      cVar1 = param_2[lVar2];\n    }" { (if_statement "if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }" if (parenthesized_expression "(cVar3 != cVar1)" ( (binary_expression "cVar3 != cVar1" identifier != identifier) )) (compound_statement "{\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }" { (if_statement "if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }" if (parenthesized_expression "((byte)(cVar3 + 0xbfU) < 0x1a)" ( (binary_expression "(byte)(cVar3 + 0xbfU) < 0x1a" (call_expression "(byte)(cVar3 + 0xbfU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar3 + 0xbfU)" ( (binary_expression "cVar3 + 0xbfU" identifier + number_literal) ))) < number_literal) )) (compound_statement "{\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }" { (expression_statement "cVar3 = cVar3 + ' ';" (assignment_expression "cVar3 = cVar3 + ' '" identifier = (binary_expression "cVar3 + ' '" identifier + (char_literal "' '" ' character '))) ;) (if_statement "if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;" if (parenthesized_expression "((byte)(cVar1 + 0xbfU) < 0x1a)" ( (binary_expression "(byte)(cVar1 + 0xbfU) < 0x1a" (call_expression "(byte)(cVar1 + 0xbfU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar1 + 0xbfU)" ( (binary_expression "cVar1 + 0xbfU" identifier + number_literal) ))) < number_literal) )) (goto_statement "goto LAB_00111488;" goto statement_identifier ;)) }) (else_clause "else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }" else (compound_statement "{\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }" { (if_statement "if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }" if (parenthesized_expression "(0x19 < (byte)(cVar1 + 0xbfU))" ( (binary_expression "0x19 < (byte)(cVar1 + 0xbfU)" number_literal < (call_expression "(byte)(cVar1 + 0xbfU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar1 + 0xbfU)" ( (binary_expression "cVar1 + 0xbfU" identifier + number_literal) )))) )) (compound_statement "{\n            return false;\n          }" { (return_statement "return false;" return false ;) })) (labeled_statement "LAB_00111488:\n          cVar1 = cVar1 + ' ';" statement_identifier : (expression_statement "cVar1 = cVar1 + ' ';" (assignment_expression "cVar1 = cVar1 + ' '" identifier = (binary_expression "cVar1 + ' '" identifier + (char_literal "' '" ' character '))) ;)) }))) (if_statement "if (cVar1 != cVar3) {\n          return false;\n        }" if (parenthesized_expression "(cVar1 != cVar3)" ( (binary_expression "cVar1 != cVar3" identifier != identifier) )) (compound_statement "{\n          return false;\n        }" { (return_statement "return false;" return false ;) })) })) (expression_statement "lVar2 = lVar2 + 1;" (assignment_expression "lVar2 = lVar2 + 1" identifier = (binary_expression "lVar2 + 1" identifier + number_literal)) ;) (if_statement "if (param_3 == lVar2) {\n        return true;\n      }" if (parenthesized_expression "(param_3 == lVar2)" ( (binary_expression "param_3 == lVar2" identifier == identifier) )) (compound_statement "{\n        return true;\n      }" { (return_statement "return true;" return true ;) })) (expression_statement "cVar3 = param_1[lVar2];" (assignment_expression "cVar3 = param_1[lVar2]" identifier = (subscript_expression "param_1[lVar2]" identifier [ identifier ])) ;) (expression_statement "cVar1 = param_2[lVar2];" (assignment_expression "cVar1 = param_2[lVar2]" identifier = (subscript_expression "param_2[lVar2]" identifier [ identifier ])) ;) }) while (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) })) (return_statement "return cVar3 == '\0';" return (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return BOOL ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (char_literal ' character '))) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) < LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (return_statement return BOOL ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (char_literal ' character '))) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (return_statement return BOOL ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return BOOL ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) })) (return_statement return (binary_expression IDENT == (char_literal ' escape_sequence ')) ;) })))
(function_definition "bool FUN_0011144b(char *param_1,char *param_2,long param_3)\n\n{\n  char cVar1;\n  long lVar2;\n  char cVar3;\n  \n  if (param_3 == 0) {\n    return true;\n  }\n  cVar3 = *param_1;\n  cVar1 = *param_2;\n  if (cVar1 != '\0') {\n    lVar2 = 0;\n    do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }\n      lVar2 = lVar2 + 1;\n      if (param_3 == lVar2) {\n        return true;\n      }\n      cVar3 = param_1[lVar2];\n      cVar1 = param_2[lVar2];\n    } while (cVar1 != '\0');\n  }\n  return cVar3 == '\0';\n}" (primitive_type "bool") (function_declarator "FUN_0011144b(char *param_1,char *param_2,long param_3)" (identifier "FUN_0011144b") (parameter_list "(char *param_1,char *param_2,long param_3)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "char *param_2" (primitive_type "char") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "long param_3" (sized_type_specifier "long" (long "long")) (identifier "param_3")) () ")"))) (compound_statement "{\n  char cVar1;\n  long lVar2;\n  char cVar3;\n  \n  if (param_3 == 0) {\n    return true;\n  }\n  cVar3 = *param_1;\n  cVar1 = *param_2;\n  if (cVar1 != '\0') {\n    lVar2 = 0;\n    do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }\n      lVar2 = lVar2 + 1;\n      if (param_3 == lVar2) {\n        return true;\n      }\n      cVar3 = param_1[lVar2];\n      cVar1 = param_2[lVar2];\n    } while (cVar1 != '\0');\n  }\n  return cVar3 == '\0';\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "long lVar2;" (sized_type_specifier "long" (long "long")) (identifier "lVar2") (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (if_statement "if (param_3 == 0) {\n    return true;\n  }" (if "if") (parenthesized_expression "(param_3 == 0)" (( "(") (binary_expression "param_3 == 0" (identifier "param_3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return true;\n  }" ({ "{") (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (expression_statement "cVar3 = *param_1;" (assignment_expression "cVar3 = *param_1" (identifier "cVar3") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "cVar1 = *param_2;" (assignment_expression "cVar1 = *param_2" (identifier "cVar1") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (if_statement "if (cVar1 != '\0') {\n    lVar2 = 0;\n    do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }\n      lVar2 = lVar2 + 1;\n      if (param_3 == lVar2) {\n        return true;\n      }\n      cVar3 = param_1[lVar2];\n      cVar1 = param_2[lVar2];\n    } while (cVar1 != '\0');\n  }" (if "if") (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    lVar2 = 0;\n    do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }\n      lVar2 = lVar2 + 1;\n      if (param_3 == lVar2) {\n        return true;\n      }\n      cVar3 = param_1[lVar2];\n      cVar1 = param_2[lVar2];\n    } while (cVar1 != '\0');\n  }" ({ "{") (expression_statement "lVar2 = 0;" (assignment_expression "lVar2 = 0" (identifier "lVar2") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }\n      lVar2 = lVar2 + 1;\n      if (param_3 == lVar2) {\n        return true;\n      }\n      cVar3 = param_1[lVar2];\n      cVar1 = param_2[lVar2];\n    } while (cVar1 != '\0');" (do "do") (compound_statement "{\n      if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }\n      lVar2 = lVar2 + 1;\n      if (param_3 == lVar2) {\n        return true;\n      }\n      cVar3 = param_1[lVar2];\n      cVar1 = param_2[lVar2];\n    }" ({ "{") (if_statement "if (cVar3 != cVar1) {\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }" (if "if") (parenthesized_expression "(cVar3 != cVar1)" (( "(") (binary_expression "cVar3 != cVar1" (identifier "cVar3") (!= "!=") (identifier "cVar1")) () ")")) (compound_statement "{\n        if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }\n        if (cVar1 != cVar3) {\n          return false;\n        }\n      }" ({ "{") (if_statement "if ((byte)(cVar3 + 0xbfU) < 0x1a) {\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }\n        else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }" (if "if") (parenthesized_expression "((byte)(cVar3 + 0xbfU) < 0x1a)" (( "(") (binary_expression "(byte)(cVar3 + 0xbfU) < 0x1a" (call_expression "(byte)(cVar3 + 0xbfU)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(cVar3 + 0xbfU)" (( "(") (binary_expression "cVar3 + 0xbfU" (identifier "cVar3") (+ "+") (number_literal "0xbfU")) () ")"))) (< "<") (number_literal "0x1a")) () ")")) (compound_statement "{\n          cVar3 = cVar3 + ' ';\n          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;\n        }" ({ "{") (expression_statement "cVar3 = cVar3 + ' ';" (assignment_expression "cVar3 = cVar3 + ' '" (identifier "cVar3") (= "=") (binary_expression "cVar3 + ' '" (identifier "cVar3") (+ "+") (char_literal "' '" (' "'") (character " ") (' "'")))) (; ";")) (if_statement "if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;" (if "if") (parenthesized_expression "((byte)(cVar1 + 0xbfU) < 0x1a)" (( "(") (binary_expression "(byte)(cVar1 + 0xbfU) < 0x1a" (call_expression "(byte)(cVar1 + 0xbfU)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(cVar1 + 0xbfU)" (( "(") (binary_expression "cVar1 + 0xbfU" (identifier "cVar1") (+ "+") (number_literal "0xbfU")) () ")"))) (< "<") (number_literal "0x1a")) () ")")) (goto_statement "goto LAB_00111488;" (goto "goto") (statement_identifier "LAB_00111488") (; ";"))) (} "}")) (else_clause "else {\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }" (else "else") (compound_statement "{\n          if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }\nLAB_00111488:\n          cVar1 = cVar1 + ' ';\n        }" ({ "{") (if_statement "if (0x19 < (byte)(cVar1 + 0xbfU)) {\n            return false;\n          }" (if "if") (parenthesized_expression "(0x19 < (byte)(cVar1 + 0xbfU))" (( "(") (binary_expression "0x19 < (byte)(cVar1 + 0xbfU)" (number_literal "0x19") (< "<") (call_expression "(byte)(cVar1 + 0xbfU)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(cVar1 + 0xbfU)" (( "(") (binary_expression "cVar1 + 0xbfU" (identifier "cVar1") (+ "+") (number_literal "0xbfU")) () ")")))) () ")")) (compound_statement "{\n            return false;\n          }" ({ "{") (return_statement "return false;" (return "return") (false "false") (; ";")) (} "}"))) (labeled_statement "LAB_00111488:\n          cVar1 = cVar1 + ' ';" (statement_identifier "LAB_00111488") (: ":") (expression_statement "cVar1 = cVar1 + ' ';" (assignment_expression "cVar1 = cVar1 + ' '" (identifier "cVar1") (= "=") (binary_expression "cVar1 + ' '" (identifier "cVar1") (+ "+") (char_literal "' '" (' "'") (character " ") (' "'")))) (; ";"))) (} "}")))) (if_statement "if (cVar1 != cVar3) {\n          return false;\n        }" (if "if") (parenthesized_expression "(cVar1 != cVar3)" (( "(") (binary_expression "cVar1 != cVar3" (identifier "cVar1") (!= "!=") (identifier "cVar3")) () ")")) (compound_statement "{\n          return false;\n        }" ({ "{") (return_statement "return false;" (return "return") (false "false") (; ";")) (} "}"))) (} "}"))) (expression_statement "lVar2 = lVar2 + 1;" (assignment_expression "lVar2 = lVar2 + 1" (identifier "lVar2") (= "=") (binary_expression "lVar2 + 1" (identifier "lVar2") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_3 == lVar2) {\n        return true;\n      }" (if "if") (parenthesized_expression "(param_3 == lVar2)" (( "(") (binary_expression "param_3 == lVar2" (identifier "param_3") (== "==") (identifier "lVar2")) () ")")) (compound_statement "{\n        return true;\n      }" ({ "{") (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (expression_statement "cVar3 = param_1[lVar2];" (assignment_expression "cVar3 = param_1[lVar2]" (identifier "cVar3") (= "=") (subscript_expression "param_1[lVar2]" (identifier "param_1") ([ "[") (identifier "lVar2") (] "]"))) (; ";")) (expression_statement "cVar1 = param_2[lVar2];" (assignment_expression "cVar1 = param_2[lVar2]" (identifier "cVar1") (= "=") (subscript_expression "param_2[lVar2]" (identifier "param_2") ([ "[") (identifier "lVar2") (] "]"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";")) (} "}"))) (return_statement "return cVar3 == '\0';" (return "return") (binary_expression "cVar3 == '\0'" (identifier "cVar3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}")))

/* WARNING: Unknown calling convention */

int function_1(char *str1,char *str2,size_t var_1)

{
  char var_2;
  size_t var_4;
  char var_3;
  
  if (var_1 == 0) {
    return 1;
  }
  var_3 = *str1;
  var_2 = *str2;
  if (var_2 != '\0') {
    var_4 = 0;
    do {
      if (var_3 != var_2) {
        if ((byte)(var_3 + 0xbfU) < 0x1a) {
          var_3 = var_3 + ' ';
          if ((byte)(var_2 + 0xbfU) < 0x1a) goto LAB_00111488;
        }
        else {
          if (0x19 < (byte)(var_2 + 0xbfU)) {
            return 0;
          }
LAB_00111488:
          var_2 = var_2 + ' ';
        }
        if (var_2 != var_3) {
          return 0;
        }
      }
      var_4 = var_4 + 1;
      if (var_1 == var_4) {
        return 1;
      }
      var_3 = str1[var_4];
      var_2 = str2[var_4];
    } while (var_2 != '\0');
  }
  return (int)(var_3 == '\0');
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (sized_type_specifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (true)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (char_literal (character))))) (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (return_statement (false)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (char_literal (character))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (return_statement (false)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (return_statement (true)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))))) (return_statement (binary_expression left: (identifier) right: (char_literal (escape_sequence)))))))

bool MASKED(char *param_1,char *param_2,long param_3)

{
  char cVar1;
  long lVar2;
  char cVar3;
  
  if (param_3 == 0) {
    return true;
  }
  cVar3 = *param_1;
  cVar1 = *param_2;
  if (cVar1 != '\0') {
    lVar2 = 0;
    do {
      if (cVar3 != cVar1) {
        if ((byte)(cVar3 + 0xbfU) < 0x1a) {
          cVar3 = cVar3 + ' ';
          if ((byte)(cVar1 + 0xbfU) < 0x1a) goto LAB_00111488;
        }
        else {
          if (0x19 < (byte)(cVar1 + 0xbfU)) {
            return false;
          }
LAB_00111488:
          cVar1 = cVar1 + ' ';
        }
        if (cVar1 != cVar3) {
          return false;
        }
      }
      lVar2 = lVar2 + 1;
      if (param_3 == lVar2) {
        return true;
      }
      cVar3 = param_1[lVar2];
      cVar1 = param_2[lVar2];
    } while (cVar1 != '\0');
  }
  return cVar3 == '\0';
}

