
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

uint __regparm3 yytnamerr(char *yyres,char *yystr)

{
  char *pcVar1;
  char cVar2;
  char *pcVar3;
  uint uVar4;
  size_t sVar5;
  
  if (*yystr == '\"') {
    uVar4 = 0;
    pcVar3 = yystr;
    while (cVar2 = pcVar3[1], cVar2 != '\'') {
      if (cVar2 < '(') {
        if (cVar2 == '\"') {
          if (yyres == (char *)0x0) {
            return uVar4;
          }
          yyres[uVar4] = '\0';
          return uVar4;
        }
LAB_001a3b10:
        pcVar3 = pcVar3 + 1;
      }
      else {
        if (cVar2 == ',') break;
        if (cVar2 != '\\') goto LAB_001a3b10;
        pcVar1 = pcVar3 + 2;
        pcVar3 = pcVar3 + 2;
        if (*pcVar1 != '\\') break;
      }
      if (yyres != (char *)0x0) {
        yyres[uVar4] = *pcVar3;
      }
      uVar4 = uVar4 + 1;
    }
  }
  if (yyres != (char *)0x0) {
    pcVar3 = stpcpy(yyres,yystr);
    return (int)pcVar3 - (int)yyres;
  }
  sVar5 = strlen(yystr);
  return sVar5;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

size_t __regparm3 FUN_001a3a80(char *param_1,char *param_2)

{
  char *pcVar1;
  char cVar2;
  char *pcVar3;
  size_t sVar4;
  
  if (*param_2 == '\"') {
    sVar4 = 0;
    pcVar3 = param_2;
    while (cVar2 = pcVar3[1], cVar2 != '\'') {
      if (cVar2 < '(') {
        if (cVar2 == '\"') {
          if (param_1 == (char *)0x0) {
            return sVar4;
          }
          param_1[sVar4] = '\0';
          return sVar4;
        }
LAB_001a3b10:
        pcVar3 = pcVar3 + 1;
      }
      else {
        if (cVar2 == ',') break;
        if (cVar2 != '\\') goto LAB_001a3b10;
        pcVar1 = pcVar3 + 2;
        pcVar3 = pcVar3 + 2;
        if (*pcVar1 != '\\') break;
      }
      if (param_1 != (char *)0x0) {
        param_1[sVar4] = *pcVar3;
      }
      sVar4 = sVar4 + 1;
    }
  }
  if (param_1 != (char *)0x0) {
    pcVar3 = stpcpy(param_1,param_2);
    return (int)pcVar3 - (int)param_1;
  }
  sVar4 = strlen(param_2);
  return sVar4;
}


PUSH EDI
PUSH ESI
MOV ESI,EAX
PUSH EBX
CALL 0x00036db0
ADD EBX,0x206576
CMP byte ptr [EDX],0x22
JZ 0x001a3ab0
TEST ESI,ESI
JZ 0x001a3b00
SUB ESP,0x8
PUSH EDX
PUSH ESI
CALL 0x0002a340
ADD ESP,0x10
SUB EAX,ESI
POP EBX
POP ESI
POP EDI
RET
MOV EDI,EDX
XOR EAX,EAX
MOVZX ECX,byte ptr [EDI + 0x1]
CMP CL,0x27
JZ 0x001a3a95
JLE 0x001a3ae8
CMP CL,0x2c
JZ 0x001a3a95
CMP CL,0x5c
JNZ 0x001a3b10
CMP byte ptr [EDI + 0x2],0x5c
LEA ECX,[EDI + 0x2]
JNZ 0x001a3a95
MOV EDI,ECX
TEST ESI,ESI
JZ 0x001a3ade
MOVZX ECX,byte ptr [EDI]
MOV byte ptr [ESI + EAX*0x1],CL
ADD EAX,0x1
JMP 0x001a3ab4
CMP CL,0x22
JNZ 0x001a3b10
TEST ESI,ESI
JZ 0x001a3aa8
POP EBX
MOV byte ptr [ESI + EAX*0x1],0x0
POP ESI
POP EDI
RET
SUB ESP,0xc
PUSH EDX
CALL 0x0002a5f0
ADD ESP,0x10
POP EBX
POP ESI
POP EDI
RET
ADD EDI,0x1
JMP 0x001a3ad4
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nsize_t __regparm3 FUN_001a3a80(char *param_1,char *param_2)\n\n{\n  char *pcVar1;\n  char cVar2;\n  char *pcVar3;\n  size_t sVar4;\n  \n  if (*param_2 == '\"') {\n    sVar4 = 0;\n    pcVar3 = param_2;\n    while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }\n      sVar4 = sVar4 + 1;\n    }\n  }\n  if (param_1 != (char *)0x0) {\n    pcVar3 = stpcpy(param_1,param_2);\n    return (int)pcVar3 - (int)param_1;\n  }\n  sVar4 = strlen(param_2);\n  return sVar4;\n}\n\n" comment (function_definition "size_t __regparm3 FUN_001a3a80(char *param_1,char *param_2)\n\n{\n  char *pcVar1;\n  char cVar2;\n  char *pcVar3;\n  size_t sVar4;\n  \n  if (*param_2 == '\"') {\n    sVar4 = 0;\n    pcVar3 = param_2;\n    while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }\n      sVar4 = sVar4 + 1;\n    }\n  }\n  if (param_1 != (char *)0x0) {\n    pcVar3 = stpcpy(param_1,param_2);\n    return (int)pcVar3 - (int)param_1;\n  }\n  sVar4 = strlen(param_2);\n  return sVar4;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_001a3a80(char *param_1,char *param_2)" identifier (parameter_list "(char *param_1,char *param_2)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  char *pcVar1;\n  char cVar2;\n  char *pcVar3;\n  size_t sVar4;\n  \n  if (*param_2 == '\"') {\n    sVar4 = 0;\n    pcVar3 = param_2;\n    while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }\n      sVar4 = sVar4 + 1;\n    }\n  }\n  if (param_1 != (char *)0x0) {\n    pcVar3 = stpcpy(param_1,param_2);\n    return (int)pcVar3 - (int)param_1;\n  }\n  sVar4 = strlen(param_2);\n  return sVar4;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "size_t sVar4;" primitive_type identifier ;) (if_statement "if (*param_2 == '\"') {\n    sVar4 = 0;\n    pcVar3 = param_2;\n    while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }\n      sVar4 = sVar4 + 1;\n    }\n  }" if (parenthesized_expression "(*param_2 == '\"')" ( (binary_expression "*param_2 == '\"'" (pointer_expression "*param_2" * identifier) == (char_literal "'\"'" ' escape_sequence ')) )) (compound_statement "{\n    sVar4 = 0;\n    pcVar3 = param_2;\n    while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }\n      sVar4 = sVar4 + 1;\n    }\n  }" { (expression_statement "sVar4 = 0;" (assignment_expression "sVar4 = 0" identifier = number_literal) ;) (expression_statement "pcVar3 = param_2;" (assignment_expression "pcVar3 = param_2" identifier = identifier) ;) (while_statement "while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }\n      sVar4 = sVar4 + 1;\n    }" while (parenthesized_expression "(cVar2 = pcVar3[1], cVar2 != '\'')" ( (comma_expression "cVar2 = pcVar3[1], cVar2 != '\''" (assignment_expression "cVar2 = pcVar3[1]" identifier = (subscript_expression "pcVar3[1]" identifier [ number_literal ])) , (binary_expression "cVar2 != '\''" identifier != (char_literal "'\''" ' escape_sequence '))) )) (compound_statement "{\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }\n      sVar4 = sVar4 + 1;\n    }" { (if_statement "if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }" if (parenthesized_expression "(cVar2 < '(')" ( (binary_expression "cVar2 < '('" identifier < (char_literal "'('" ' character ')) )) (compound_statement "{\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }" { (if_statement "if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }" if (parenthesized_expression "(cVar2 == '\"')" ( (binary_expression "cVar2 == '\"'" identifier == (char_literal "'\"'" ' escape_sequence ')) )) (compound_statement "{\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }" { (if_statement "if (param_1 == (char *)0x0) {\n            return sVar4;\n          }" if (parenthesized_expression "(param_1 == (char *)0x0)" ( (binary_expression "param_1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            return sVar4;\n          }" { (return_statement "return sVar4;" return identifier ;) })) (expression_statement "param_1[sVar4] = '\0';" (assignment_expression "param_1[sVar4] = '\0'" (subscript_expression "param_1[sVar4]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (return_statement "return sVar4;" return identifier ;) })) (labeled_statement "LAB_001a3b10:\n        pcVar3 = pcVar3 + 1;" statement_identifier : (expression_statement "pcVar3 = pcVar3 + 1;" (assignment_expression "pcVar3 = pcVar3 + 1" identifier = (binary_expression "pcVar3 + 1" identifier + number_literal)) ;)) }) (else_clause "else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }" else (compound_statement "{\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }" { (if_statement "if (cVar2 == ',') break;" if (parenthesized_expression "(cVar2 == ',')" ( (binary_expression "cVar2 == ','" identifier == (char_literal "','" ' character ')) )) (break_statement "break;" break ;)) (if_statement "if (cVar2 != '\\') goto LAB_001a3b10;" if (parenthesized_expression "(cVar2 != '\\')" ( (binary_expression "cVar2 != '\\'" identifier != (char_literal "'\\'" ' escape_sequence ')) )) (goto_statement "goto LAB_001a3b10;" goto statement_identifier ;)) (expression_statement "pcVar1 = pcVar3 + 2;" (assignment_expression "pcVar1 = pcVar3 + 2" identifier = (binary_expression "pcVar3 + 2" identifier + number_literal)) ;) (expression_statement "pcVar3 = pcVar3 + 2;" (assignment_expression "pcVar3 = pcVar3 + 2" identifier = (binary_expression "pcVar3 + 2" identifier + number_literal)) ;) (if_statement "if (*pcVar1 != '\\') break;" if (parenthesized_expression "(*pcVar1 != '\\')" ( (binary_expression "*pcVar1 != '\\'" (pointer_expression "*pcVar1" * identifier) != (char_literal "'\\'" ' escape_sequence ')) )) (break_statement "break;" break ;)) }))) (if_statement "if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }" if (parenthesized_expression "(param_1 != (char *)0x0)" ( (binary_expression "param_1 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        param_1[sVar4] = *pcVar3;\n      }" { (expression_statement "param_1[sVar4] = *pcVar3;" (assignment_expression "param_1[sVar4] = *pcVar3" (subscript_expression "param_1[sVar4]" identifier [ identifier ]) = (pointer_expression "*pcVar3" * identifier)) ;) })) (expression_statement "sVar4 = sVar4 + 1;" (assignment_expression "sVar4 = sVar4 + 1" identifier = (binary_expression "sVar4 + 1" identifier + number_literal)) ;) })) })) (if_statement "if (param_1 != (char *)0x0) {\n    pcVar3 = stpcpy(param_1,param_2);\n    return (int)pcVar3 - (int)param_1;\n  }" if (parenthesized_expression "(param_1 != (char *)0x0)" ( (binary_expression "param_1 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar3 = stpcpy(param_1,param_2);\n    return (int)pcVar3 - (int)param_1;\n  }" { (expression_statement "pcVar3 = stpcpy(param_1,param_2);" (assignment_expression "pcVar3 = stpcpy(param_1,param_2)" identifier = (call_expression "stpcpy(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;) (return_statement "return (int)pcVar3 - (int)param_1;" return (binary_expression "(int)pcVar3 - (int)param_1" (cast_expression "(int)pcVar3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (expression_statement "sVar4 = strlen(param_2);" (assignment_expression "sVar4 = strlen(param_2)" identifier = (call_expression "strlen(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (return_statement "return sVar4;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nuint __regparm3 yytnamerr(char *yyres,char *yystr)\n\n{\n  char *pcVar1;\n  char cVar2;\n  char *pcVar3;\n  uint uVar4;\n  size_t sVar5;\n  \n  if (*yystr == '\"') {\n    uVar4 = 0;\n    pcVar3 = yystr;\n    while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (yyres == (char *)0x0) {\n            return uVar4;\n          }\n          yyres[uVar4] = '\0';\n          return uVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (yyres != (char *)0x0) {\n        yyres[uVar4] = *pcVar3;\n      }\n      uVar4 = uVar4 + 1;\n    }\n  }\n  if (yyres != (char *)0x0) {\n    pcVar3 = stpcpy(yyres,yystr);\n    return (int)pcVar3 - (int)yyres;\n  }\n  sVar5 = strlen(yystr);\n  return sVar5;\n}\n\n" comment (function_definition "uint __regparm3 yytnamerr(char *yyres,char *yystr)\n\n{\n  char *pcVar1;\n  char cVar2;\n  char *pcVar3;\n  uint uVar4;\n  size_t sVar5;\n  \n  if (*yystr == '\"') {\n    uVar4 = 0;\n    pcVar3 = yystr;\n    while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (yyres == (char *)0x0) {\n            return uVar4;\n          }\n          yyres[uVar4] = '\0';\n          return uVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (yyres != (char *)0x0) {\n        yyres[uVar4] = *pcVar3;\n      }\n      uVar4 = uVar4 + 1;\n    }\n  }\n  if (yyres != (char *)0x0) {\n    pcVar3 = stpcpy(yyres,yystr);\n    return (int)pcVar3 - (int)yyres;\n  }\n  sVar5 = strlen(yystr);\n  return sVar5;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "yytnamerr(char *yyres,char *yystr)" identifier (parameter_list "(char *yyres,char *yystr)" ( (parameter_declaration "char *yyres" primitive_type (pointer_declarator "*yyres" * identifier)) , (parameter_declaration "char *yystr" primitive_type (pointer_declarator "*yystr" * identifier)) ))) (compound_statement "{\n  char *pcVar1;\n  char cVar2;\n  char *pcVar3;\n  uint uVar4;\n  size_t sVar5;\n  \n  if (*yystr == '\"') {\n    uVar4 = 0;\n    pcVar3 = yystr;\n    while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (yyres == (char *)0x0) {\n            return uVar4;\n          }\n          yyres[uVar4] = '\0';\n          return uVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (yyres != (char *)0x0) {\n        yyres[uVar4] = *pcVar3;\n      }\n      uVar4 = uVar4 + 1;\n    }\n  }\n  if (yyres != (char *)0x0) {\n    pcVar3 = stpcpy(yyres,yystr);\n    return (int)pcVar3 - (int)yyres;\n  }\n  sVar5 = strlen(yystr);\n  return sVar5;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "size_t sVar5;" primitive_type identifier ;) (if_statement "if (*yystr == '\"') {\n    uVar4 = 0;\n    pcVar3 = yystr;\n    while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (yyres == (char *)0x0) {\n            return uVar4;\n          }\n          yyres[uVar4] = '\0';\n          return uVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (yyres != (char *)0x0) {\n        yyres[uVar4] = *pcVar3;\n      }\n      uVar4 = uVar4 + 1;\n    }\n  }" if (parenthesized_expression "(*yystr == '\"')" ( (binary_expression "*yystr == '\"'" (pointer_expression "*yystr" * identifier) == (char_literal "'\"'" ' escape_sequence ')) )) (compound_statement "{\n    uVar4 = 0;\n    pcVar3 = yystr;\n    while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (yyres == (char *)0x0) {\n            return uVar4;\n          }\n          yyres[uVar4] = '\0';\n          return uVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (yyres != (char *)0x0) {\n        yyres[uVar4] = *pcVar3;\n      }\n      uVar4 = uVar4 + 1;\n    }\n  }" { (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (expression_statement "pcVar3 = yystr;" (assignment_expression "pcVar3 = yystr" identifier = identifier) ;) (while_statement "while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (yyres == (char *)0x0) {\n            return uVar4;\n          }\n          yyres[uVar4] = '\0';\n          return uVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (yyres != (char *)0x0) {\n        yyres[uVar4] = *pcVar3;\n      }\n      uVar4 = uVar4 + 1;\n    }" while (parenthesized_expression "(cVar2 = pcVar3[1], cVar2 != '\'')" ( (comma_expression "cVar2 = pcVar3[1], cVar2 != '\''" (assignment_expression "cVar2 = pcVar3[1]" identifier = (subscript_expression "pcVar3[1]" identifier [ number_literal ])) , (binary_expression "cVar2 != '\''" identifier != (char_literal "'\''" ' escape_sequence '))) )) (compound_statement "{\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (yyres == (char *)0x0) {\n            return uVar4;\n          }\n          yyres[uVar4] = '\0';\n          return uVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (yyres != (char *)0x0) {\n        yyres[uVar4] = *pcVar3;\n      }\n      uVar4 = uVar4 + 1;\n    }" { (if_statement "if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (yyres == (char *)0x0) {\n            return uVar4;\n          }\n          yyres[uVar4] = '\0';\n          return uVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }" if (parenthesized_expression "(cVar2 < '(')" ( (binary_expression "cVar2 < '('" identifier < (char_literal "'('" ' character ')) )) (compound_statement "{\n        if (cVar2 == '\"') {\n          if (yyres == (char *)0x0) {\n            return uVar4;\n          }\n          yyres[uVar4] = '\0';\n          return uVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }" { (if_statement "if (cVar2 == '\"') {\n          if (yyres == (char *)0x0) {\n            return uVar4;\n          }\n          yyres[uVar4] = '\0';\n          return uVar4;\n        }" if (parenthesized_expression "(cVar2 == '\"')" ( (binary_expression "cVar2 == '\"'" identifier == (char_literal "'\"'" ' escape_sequence ')) )) (compound_statement "{\n          if (yyres == (char *)0x0) {\n            return uVar4;\n          }\n          yyres[uVar4] = '\0';\n          return uVar4;\n        }" { (if_statement "if (yyres == (char *)0x0) {\n            return uVar4;\n          }" if (parenthesized_expression "(yyres == (char *)0x0)" ( (binary_expression "yyres == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            return uVar4;\n          }" { (return_statement "return uVar4;" return identifier ;) })) (expression_statement "yyres[uVar4] = '\0';" (assignment_expression "yyres[uVar4] = '\0'" (subscript_expression "yyres[uVar4]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (return_statement "return uVar4;" return identifier ;) })) (labeled_statement "LAB_001a3b10:\n        pcVar3 = pcVar3 + 1;" statement_identifier : (expression_statement "pcVar3 = pcVar3 + 1;" (assignment_expression "pcVar3 = pcVar3 + 1" identifier = (binary_expression "pcVar3 + 1" identifier + number_literal)) ;)) }) (else_clause "else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }" else (compound_statement "{\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }" { (if_statement "if (cVar2 == ',') break;" if (parenthesized_expression "(cVar2 == ',')" ( (binary_expression "cVar2 == ','" identifier == (char_literal "','" ' character ')) )) (break_statement "break;" break ;)) (if_statement "if (cVar2 != '\\') goto LAB_001a3b10;" if (parenthesized_expression "(cVar2 != '\\')" ( (binary_expression "cVar2 != '\\'" identifier != (char_literal "'\\'" ' escape_sequence ')) )) (goto_statement "goto LAB_001a3b10;" goto statement_identifier ;)) (expression_statement "pcVar1 = pcVar3 + 2;" (assignment_expression "pcVar1 = pcVar3 + 2" identifier = (binary_expression "pcVar3 + 2" identifier + number_literal)) ;) (expression_statement "pcVar3 = pcVar3 + 2;" (assignment_expression "pcVar3 = pcVar3 + 2" identifier = (binary_expression "pcVar3 + 2" identifier + number_literal)) ;) (if_statement "if (*pcVar1 != '\\') break;" if (parenthesized_expression "(*pcVar1 != '\\')" ( (binary_expression "*pcVar1 != '\\'" (pointer_expression "*pcVar1" * identifier) != (char_literal "'\\'" ' escape_sequence ')) )) (break_statement "break;" break ;)) }))) (if_statement "if (yyres != (char *)0x0) {\n        yyres[uVar4] = *pcVar3;\n      }" if (parenthesized_expression "(yyres != (char *)0x0)" ( (binary_expression "yyres != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        yyres[uVar4] = *pcVar3;\n      }" { (expression_statement "yyres[uVar4] = *pcVar3;" (assignment_expression "yyres[uVar4] = *pcVar3" (subscript_expression "yyres[uVar4]" identifier [ identifier ]) = (pointer_expression "*pcVar3" * identifier)) ;) })) (expression_statement "uVar4 = uVar4 + 1;" (assignment_expression "uVar4 = uVar4 + 1" identifier = (binary_expression "uVar4 + 1" identifier + number_literal)) ;) })) })) (if_statement "if (yyres != (char *)0x0) {\n    pcVar3 = stpcpy(yyres,yystr);\n    return (int)pcVar3 - (int)yyres;\n  }" if (parenthesized_expression "(yyres != (char *)0x0)" ( (binary_expression "yyres != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar3 = stpcpy(yyres,yystr);\n    return (int)pcVar3 - (int)yyres;\n  }" { (expression_statement "pcVar3 = stpcpy(yyres,yystr);" (assignment_expression "pcVar3 = stpcpy(yyres,yystr)" identifier = (call_expression "stpcpy(yyres,yystr)" identifier (argument_list "(yyres,yystr)" ( identifier , identifier )))) ;) (return_statement "return (int)pcVar3 - (int)yyres;" return (binary_expression "(int)pcVar3 - (int)yyres" (cast_expression "(int)pcVar3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)yyres" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (expression_statement "sVar5 = strlen(yystr);" (assignment_expression "sVar5 = strlen(yystr)" identifier = (call_expression "strlen(yystr)" identifier (argument_list "(yystr)" ( identifier )))) ;) (return_statement "return sVar5;" return identifier ;) })))
(translation_unit "size_t __regparm3 FUN_001a3a80(char *param_1,char *param_2)\n\n{\n  char *pcVar1;\n  char cVar2;\n  char *pcVar3;\n  size_t sVar4;\n  \n  if (*param_2 == '\"') {\n    sVar4 = 0;\n    pcVar3 = param_2;\n    while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }\n      sVar4 = sVar4 + 1;\n    }\n  }\n  if (param_1 != (char *)0x0) {\n    pcVar3 = stpcpy(param_1,param_2);\n    return (int)pcVar3 - (int)param_1;\n  }\n  sVar4 = strlen(param_2);\n  return sVar4;\n}\n\n" (function_definition "size_t __regparm3 FUN_001a3a80(char *param_1,char *param_2)\n\n{\n  char *pcVar1;\n  char cVar2;\n  char *pcVar3;\n  size_t sVar4;\n  \n  if (*param_2 == '\"') {\n    sVar4 = 0;\n    pcVar3 = param_2;\n    while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }\n      sVar4 = sVar4 + 1;\n    }\n  }\n  if (param_1 != (char *)0x0) {\n    pcVar3 = stpcpy(param_1,param_2);\n    return (int)pcVar3 - (int)param_1;\n  }\n  sVar4 = strlen(param_2);\n  return sVar4;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_001a3a80(char *param_1,char *param_2)" identifier (parameter_list "(char *param_1,char *param_2)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  char *pcVar1;\n  char cVar2;\n  char *pcVar3;\n  size_t sVar4;\n  \n  if (*param_2 == '\"') {\n    sVar4 = 0;\n    pcVar3 = param_2;\n    while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }\n      sVar4 = sVar4 + 1;\n    }\n  }\n  if (param_1 != (char *)0x0) {\n    pcVar3 = stpcpy(param_1,param_2);\n    return (int)pcVar3 - (int)param_1;\n  }\n  sVar4 = strlen(param_2);\n  return sVar4;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "size_t sVar4;" primitive_type identifier ;) (if_statement "if (*param_2 == '\"') {\n    sVar4 = 0;\n    pcVar3 = param_2;\n    while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }\n      sVar4 = sVar4 + 1;\n    }\n  }" if (parenthesized_expression "(*param_2 == '\"')" ( (binary_expression "*param_2 == '\"'" (pointer_expression "*param_2" * identifier) == (char_literal "'\"'" ' escape_sequence ')) )) (compound_statement "{\n    sVar4 = 0;\n    pcVar3 = param_2;\n    while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }\n      sVar4 = sVar4 + 1;\n    }\n  }" { (expression_statement "sVar4 = 0;" (assignment_expression "sVar4 = 0" identifier = number_literal) ;) (expression_statement "pcVar3 = param_2;" (assignment_expression "pcVar3 = param_2" identifier = identifier) ;) (while_statement "while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }\n      sVar4 = sVar4 + 1;\n    }" while (parenthesized_expression "(cVar2 = pcVar3[1], cVar2 != '\'')" ( (comma_expression "cVar2 = pcVar3[1], cVar2 != '\''" (assignment_expression "cVar2 = pcVar3[1]" identifier = (subscript_expression "pcVar3[1]" identifier [ number_literal ])) , (binary_expression "cVar2 != '\''" identifier != (char_literal "'\''" ' escape_sequence '))) )) (compound_statement "{\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }\n      sVar4 = sVar4 + 1;\n    }" { (if_statement "if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }" if (parenthesized_expression "(cVar2 < '(')" ( (binary_expression "cVar2 < '('" identifier < (char_literal "'('" ' character ')) )) (compound_statement "{\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }" { (if_statement "if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }" if (parenthesized_expression "(cVar2 == '\"')" ( (binary_expression "cVar2 == '\"'" identifier == (char_literal "'\"'" ' escape_sequence ')) )) (compound_statement "{\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }" { (if_statement "if (param_1 == (char *)0x0) {\n            return sVar4;\n          }" if (parenthesized_expression "(param_1 == (char *)0x0)" ( (binary_expression "param_1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            return sVar4;\n          }" { (return_statement "return sVar4;" return identifier ;) })) (expression_statement "param_1[sVar4] = '\0';" (assignment_expression "param_1[sVar4] = '\0'" (subscript_expression "param_1[sVar4]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (return_statement "return sVar4;" return identifier ;) })) (labeled_statement "LAB_001a3b10:\n        pcVar3 = pcVar3 + 1;" statement_identifier : (expression_statement "pcVar3 = pcVar3 + 1;" (assignment_expression "pcVar3 = pcVar3 + 1" identifier = (binary_expression "pcVar3 + 1" identifier + number_literal)) ;)) }) (else_clause "else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }" else (compound_statement "{\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }" { (if_statement "if (cVar2 == ',') break;" if (parenthesized_expression "(cVar2 == ',')" ( (binary_expression "cVar2 == ','" identifier == (char_literal "','" ' character ')) )) (break_statement "break;" break ;)) (if_statement "if (cVar2 != '\\') goto LAB_001a3b10;" if (parenthesized_expression "(cVar2 != '\\')" ( (binary_expression "cVar2 != '\\'" identifier != (char_literal "'\\'" ' escape_sequence ')) )) (goto_statement "goto LAB_001a3b10;" goto statement_identifier ;)) (expression_statement "pcVar1 = pcVar3 + 2;" (assignment_expression "pcVar1 = pcVar3 + 2" identifier = (binary_expression "pcVar3 + 2" identifier + number_literal)) ;) (expression_statement "pcVar3 = pcVar3 + 2;" (assignment_expression "pcVar3 = pcVar3 + 2" identifier = (binary_expression "pcVar3 + 2" identifier + number_literal)) ;) (if_statement "if (*pcVar1 != '\\') break;" if (parenthesized_expression "(*pcVar1 != '\\')" ( (binary_expression "*pcVar1 != '\\'" (pointer_expression "*pcVar1" * identifier) != (char_literal "'\\'" ' escape_sequence ')) )) (break_statement "break;" break ;)) }))) (if_statement "if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }" if (parenthesized_expression "(param_1 != (char *)0x0)" ( (binary_expression "param_1 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        param_1[sVar4] = *pcVar3;\n      }" { (expression_statement "param_1[sVar4] = *pcVar3;" (assignment_expression "param_1[sVar4] = *pcVar3" (subscript_expression "param_1[sVar4]" identifier [ identifier ]) = (pointer_expression "*pcVar3" * identifier)) ;) })) (expression_statement "sVar4 = sVar4 + 1;" (assignment_expression "sVar4 = sVar4 + 1" identifier = (binary_expression "sVar4 + 1" identifier + number_literal)) ;) })) })) (if_statement "if (param_1 != (char *)0x0) {\n    pcVar3 = stpcpy(param_1,param_2);\n    return (int)pcVar3 - (int)param_1;\n  }" if (parenthesized_expression "(param_1 != (char *)0x0)" ( (binary_expression "param_1 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar3 = stpcpy(param_1,param_2);\n    return (int)pcVar3 - (int)param_1;\n  }" { (expression_statement "pcVar3 = stpcpy(param_1,param_2);" (assignment_expression "pcVar3 = stpcpy(param_1,param_2)" identifier = (call_expression "stpcpy(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;) (return_statement "return (int)pcVar3 - (int)param_1;" return (binary_expression "(int)pcVar3 - (int)param_1" (cast_expression "(int)pcVar3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (expression_statement "sVar4 = strlen(param_2);" (assignment_expression "sVar4 = strlen(param_2)" identifier = (call_expression "strlen(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (return_statement "return sVar4;" return identifier ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression IDENT != (char_literal ' escape_sequence '))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (char_literal ' escape_sequence ')) ;) (return_statement return IDENT ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) (break_statement break ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (return_statement return (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (return_statement return IDENT ;) })))
(function_definition "size_t __regparm3 FUN_001a3a80(char *param_1,char *param_2)\n\n{\n  char *pcVar1;\n  char cVar2;\n  char *pcVar3;\n  size_t sVar4;\n  \n  if (*param_2 == '\"') {\n    sVar4 = 0;\n    pcVar3 = param_2;\n    while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }\n      sVar4 = sVar4 + 1;\n    }\n  }\n  if (param_1 != (char *)0x0) {\n    pcVar3 = stpcpy(param_1,param_2);\n    return (int)pcVar3 - (int)param_1;\n  }\n  sVar4 = strlen(param_2);\n  return sVar4;\n}" (primitive_type "size_t") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_001a3a80(char *param_1,char *param_2)" (identifier "FUN_001a3a80") (parameter_list "(char *param_1,char *param_2)" (( "(") (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"))) () ")"))) (compound_statement "{\n  char *pcVar1;\n  char cVar2;\n  char *pcVar3;\n  size_t sVar4;\n  \n  if (*param_2 == '\"') {\n    sVar4 = 0;\n    pcVar3 = param_2;\n    while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }\n      sVar4 = sVar4 + 1;\n    }\n  }\n  if (param_1 != (char *)0x0) {\n    pcVar3 = stpcpy(param_1,param_2);\n    return (int)pcVar3 - (int)param_1;\n  }\n  sVar4 = strlen(param_2);\n  return sVar4;\n}" ({ "{") (declaration "char *pcVar1;" (primitive_type "char") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "char *pcVar3;" (primitive_type "char") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "size_t sVar4;" (primitive_type "size_t") (identifier "sVar4") (; ";")) (if_statement "if (*param_2 == '\"') {\n    sVar4 = 0;\n    pcVar3 = param_2;\n    while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }\n      sVar4 = sVar4 + 1;\n    }\n  }" (if "if") (parenthesized_expression "(*param_2 == '\"')" (( "(") (binary_expression "*param_2 == '\"'" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (== "==") (char_literal "'\"'" (' "'") (escape_sequence "\"") (' "'"))) () ")")) (compound_statement "{\n    sVar4 = 0;\n    pcVar3 = param_2;\n    while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }\n      sVar4 = sVar4 + 1;\n    }\n  }" ({ "{") (expression_statement "sVar4 = 0;" (assignment_expression "sVar4 = 0" (identifier "sVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar3 = param_2;" (assignment_expression "pcVar3 = param_2" (identifier "pcVar3") (= "=") (identifier "param_2")) (; ";")) (while_statement "while (cVar2 = pcVar3[1], cVar2 != '\'') {\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }\n      sVar4 = sVar4 + 1;\n    }" (while "while") (parenthesized_expression "(cVar2 = pcVar3[1], cVar2 != '\'')" (( "(") (comma_expression "cVar2 = pcVar3[1], cVar2 != '\''" (assignment_expression "cVar2 = pcVar3[1]" (identifier "cVar2") (= "=") (subscript_expression "pcVar3[1]" (identifier "pcVar3") ([ "[") (number_literal "1") (] "]"))) (, ",") (binary_expression "cVar2 != '\''" (identifier "cVar2") (!= "!=") (char_literal "'\''" (' "'") (escape_sequence "\'") (' "'")))) () ")")) (compound_statement "{\n      if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }\n      if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }\n      sVar4 = sVar4 + 1;\n    }" ({ "{") (if_statement "if (cVar2 < '(') {\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }\n      else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }" (if "if") (parenthesized_expression "(cVar2 < '(')" (( "(") (binary_expression "cVar2 < '('" (identifier "cVar2") (< "<") (char_literal "'('" (' "'") (character "(") (' "'"))) () ")")) (compound_statement "{\n        if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }\nLAB_001a3b10:\n        pcVar3 = pcVar3 + 1;\n      }" ({ "{") (if_statement "if (cVar2 == '\"') {\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }" (if "if") (parenthesized_expression "(cVar2 == '\"')" (( "(") (binary_expression "cVar2 == '\"'" (identifier "cVar2") (== "==") (char_literal "'\"'" (' "'") (escape_sequence "\"") (' "'"))) () ")")) (compound_statement "{\n          if (param_1 == (char *)0x0) {\n            return sVar4;\n          }\n          param_1[sVar4] = '\0';\n          return sVar4;\n        }" ({ "{") (if_statement "if (param_1 == (char *)0x0) {\n            return sVar4;\n          }" (if "if") (parenthesized_expression "(param_1 == (char *)0x0)" (( "(") (binary_expression "param_1 == (char *)0x0" (identifier "param_1") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            return sVar4;\n          }" ({ "{") (return_statement "return sVar4;" (return "return") (identifier "sVar4") (; ";")) (} "}"))) (expression_statement "param_1[sVar4] = '\0';" (assignment_expression "param_1[sVar4] = '\0'" (subscript_expression "param_1[sVar4]" (identifier "param_1") ([ "[") (identifier "sVar4") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (return_statement "return sVar4;" (return "return") (identifier "sVar4") (; ";")) (} "}"))) (labeled_statement "LAB_001a3b10:\n        pcVar3 = pcVar3 + 1;" (statement_identifier "LAB_001a3b10") (: ":") (expression_statement "pcVar3 = pcVar3 + 1;" (assignment_expression "pcVar3 = pcVar3 + 1" (identifier "pcVar3") (= "=") (binary_expression "pcVar3 + 1" (identifier "pcVar3") (+ "+") (number_literal "1"))) (; ";"))) (} "}")) (else_clause "else {\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }" (else "else") (compound_statement "{\n        if (cVar2 == ',') break;\n        if (cVar2 != '\\') goto LAB_001a3b10;\n        pcVar1 = pcVar3 + 2;\n        pcVar3 = pcVar3 + 2;\n        if (*pcVar1 != '\\') break;\n      }" ({ "{") (if_statement "if (cVar2 == ',') break;" (if "if") (parenthesized_expression "(cVar2 == ',')" (( "(") (binary_expression "cVar2 == ','" (identifier "cVar2") (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (cVar2 != '\\') goto LAB_001a3b10;" (if "if") (parenthesized_expression "(cVar2 != '\\')" (( "(") (binary_expression "cVar2 != '\\'" (identifier "cVar2") (!= "!=") (char_literal "'\\'" (' "'") (escape_sequence "\\") (' "'"))) () ")")) (goto_statement "goto LAB_001a3b10;" (goto "goto") (statement_identifier "LAB_001a3b10") (; ";"))) (expression_statement "pcVar1 = pcVar3 + 2;" (assignment_expression "pcVar1 = pcVar3 + 2" (identifier "pcVar1") (= "=") (binary_expression "pcVar3 + 2" (identifier "pcVar3") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "pcVar3 = pcVar3 + 2;" (assignment_expression "pcVar3 = pcVar3 + 2" (identifier "pcVar3") (= "=") (binary_expression "pcVar3 + 2" (identifier "pcVar3") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if (*pcVar1 != '\\') break;" (if "if") (parenthesized_expression "(*pcVar1 != '\\')" (( "(") (binary_expression "*pcVar1 != '\\'" (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) (!= "!=") (char_literal "'\\'" (' "'") (escape_sequence "\\") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")))) (if_statement "if (param_1 != (char *)0x0) {\n        param_1[sVar4] = *pcVar3;\n      }" (if "if") (parenthesized_expression "(param_1 != (char *)0x0)" (( "(") (binary_expression "param_1 != (char *)0x0" (identifier "param_1") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        param_1[sVar4] = *pcVar3;\n      }" ({ "{") (expression_statement "param_1[sVar4] = *pcVar3;" (assignment_expression "param_1[sVar4] = *pcVar3" (subscript_expression "param_1[sVar4]" (identifier "param_1") ([ "[") (identifier "sVar4") (] "]")) (= "=") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3"))) (; ";")) (} "}"))) (expression_statement "sVar4 = sVar4 + 1;" (assignment_expression "sVar4 = sVar4 + 1" (identifier "sVar4") (= "=") (binary_expression "sVar4 + 1" (identifier "sVar4") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if (param_1 != (char *)0x0) {\n    pcVar3 = stpcpy(param_1,param_2);\n    return (int)pcVar3 - (int)param_1;\n  }" (if "if") (parenthesized_expression "(param_1 != (char *)0x0)" (( "(") (binary_expression "param_1 != (char *)0x0" (identifier "param_1") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pcVar3 = stpcpy(param_1,param_2);\n    return (int)pcVar3 - (int)param_1;\n  }" ({ "{") (expression_statement "pcVar3 = stpcpy(param_1,param_2);" (assignment_expression "pcVar3 = stpcpy(param_1,param_2)" (identifier "pcVar3") (= "=") (call_expression "stpcpy(param_1,param_2)" (identifier "stpcpy") (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")")))) (; ";")) (return_statement "return (int)pcVar3 - (int)param_1;" (return "return") (binary_expression "(int)pcVar3 - (int)param_1" (cast_expression "(int)pcVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar3")) (- "-") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1"))) (; ";")) (} "}"))) (expression_statement "sVar4 = strlen(param_2);" (assignment_expression "sVar4 = strlen(param_2)" (identifier "sVar4") (= "=") (call_expression "strlen(param_2)" (identifier "strlen") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (return_statement "return sVar4;" (return "return") (identifier "sVar4") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

type_1 __regparm3 function_1(char *var_2,char *yystr)

{
  char *pcVar1;
  char var_1;
  char *var_3;
  type_1 var_4;
  size_t sVar5;
  
  if (*yystr == '\"') {
    var_4 = 0;
    var_3 = yystr;
    while (var_1 = var_3[1], var_1 != '\'') {
      if (var_1 < '(') {
        if (var_1 == '\"') {
          if (var_2 == (char *)0x0) {
            return var_4;
          }
          var_2[var_4] = '\0';
          return var_4;
        }
LAB_001a3b10:
        var_3 = var_3 + 1;
      }
      else {
        if (var_1 == ',') break;
        if (var_1 != '\\') goto LAB_001a3b10;
        pcVar1 = var_3 + 2;
        var_3 = var_3 + 2;
        if (*pcVar1 != '\\') break;
      }
      if (var_2 != (char *)0x0) {
        var_2[var_4] = *var_3;
      }
      var_4 = var_4 + 1;
    }
  }
  if (var_2 != (char *)0x0) {
    var_3 = var_5(var_2,yystr);
    return (int)var_3 - (int)var_2;
  }
  sVar5 = var_6(yystr);
  return sVar5;
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) 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))))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (char_literal (escape_sequence)))) (return_statement (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (break_statement)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (break_statement))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (return_statement (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (return_statement (identifier)))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

size_t __regparm3 MASKED(char *param_1,char *param_2)

{
  char *pcVar1;
  char cVar2;
  char *pcVar3;
  size_t sVar4;
  
  if (*param_2 == '\"') {
    sVar4 = 0;
    pcVar3 = param_2;
    while (cVar2 = pcVar3[1], cVar2 != '\'') {
      if (cVar2 < '(') {
        if (cVar2 == '\"') {
          if (param_1 == (char *)0x0) {
            return sVar4;
          }
          param_1[sVar4] = '\0';
          return sVar4;
        }
LAB_001a3b10:
        pcVar3 = pcVar3 + 1;
      }
      else {
        if (cVar2 == ',') break;
        if (cVar2 != '\\') goto LAB_001a3b10;
        pcVar1 = pcVar3 + 2;
        pcVar3 = pcVar3 + 2;
        if (*pcVar1 != '\\') break;
      }
      if (param_1 != (char *)0x0) {
        param_1[sVar4] = *pcVar3;
      }
      sVar4 = sVar4 + 1;
    }
  }
  if (param_1 != (char *)0x0) {
    pcVar3 = stpcpy(param_1,param_2);
    return (int)pcVar3 - (int)param_1;
  }
  sVar4 = strlen(param_2);
  return sVar4;
}

