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

int exportcmd(int argc,char **argv)

{
}



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

undefined4 __regparm3 FUN_0005a3ba(undefined4 param_1,undefined4 *param_2)

{
  int iVar1;
  char cVar2;
  char *pcVar3;
  int *piVar4;
  char *__s;
  int *piVar5;
  uint uVar6;
  uint local_28;
  
  local_28 = 0;
  while (cVar2 = FUN_0005728c(), cVar2 != '\0') {
    if (cVar2 == 'n') {
      local_28 = 1;
    }
  }
  if (*(char *)*param_2 == 'r') {
    local_28 = 0xffffffff;
    uVar6 = 2;
  }
  else {
    local_28 = ~local_28;
    uVar6 = 1;
  }
  __s = (char *)*DAT_000dc298;
  piVar5 = DAT_000dc298;
  if (__s == (char *)0x0) {
    FUN_0005a2af();
    return 0;
  }
  do {
    pcVar3 = strchr(__s,0x3d);
    if (pcVar3 == (char *)0x0) {
      cVar2 = *__s;
      while ((cVar2 != '\0' && (cVar2 != '='))) {
        __s = __s + 1;
        cVar2 = *__s;
      }
      piVar4 = (int *)FUN_0005592b();
      iVar1 = *piVar4;
      if (iVar1 == 0) goto LAB_0005a439;
      *(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;
    }
    else {
LAB_0005a439:
      FUN_00056e71();
    }
    __s = (char *)piVar5[1];
    piVar5 = piVar5 + 1;
    if (__s == (char *)0x0) {
      return 0;
    }
  } while( true );
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x1c
CALL 0x00017650
ADD EBX,0x8165a
MOV EBP,EDX
XOR ESI,ESI
LEA EDI,[EBX + 0xffff814d]
MOV EAX,EDI
CALL 0x0005728c
TEST AL,AL
JZ 0x0005a3ec
CMP AL,0x6e
JNZ 0x0005a3d6
MOV ESI,0x1
JMP 0x0005a3d6
MOV EAX,dword ptr [EBP]
CMP byte ptr [EAX],0x72
JZ 0x0005a4bb
NOT ESI
MOV dword ptr [ESP + 0x4],ESI
MOV EDI,0x1
MOV EBP,dword ptr [EBX + 0x878]
MOV ESI,dword ptr [EBP]
TEST ESI,ESI
JZ 0x0005a458
MOV EAX,dword ptr [ESP + 0x4]
AND EAX,EDI
MOV dword ptr [ESP + 0x8],EAX
LEA EAX,[EBX + 0xcec]
MOV dword ptr [ESP + 0xc],EAX
SUB ESP,0x8
PUSH 0x3d
PUSH ESI
CALL 0x00016ad0
ADD ESP,0x10
LEA EDX,[EAX + 0x1]
TEST EAX,EAX
JZ 0x0005a46b
MOV ECX,dword ptr [ESP + 0x8]
MOV EAX,ESI
CALL 0x00056e71
ADD EBP,0x4
MOV ESI,dword ptr [EBP]
TEST ESI,ESI
JNZ 0x0005a424
XOR EAX,EAX
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
XOR ECX,ECX
MOV EDX,EDI
CALL 0x0005a2af
XOR EAX,EAX
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOVZX ECX,byte ptr [ESI]
MOV EAX,ECX
SHL EAX,0x4
TEST CL,CL
JZ 0x0005a48d
CMP CL,0x3d
JZ 0x0005a48d
MOV EDX,ESI
INC EDX
ADD EAX,ECX
MOVZX ECX,byte ptr [EDX]
TEST CL,CL
JZ 0x0005a48d
CMP CL,0x3d
JNZ 0x0005a47e
MOV ECX,0x27
XOR EDX,EDX
DIV ECX
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX]
LEA EAX,[EAX + EDX*0x4 + 0x1c]
MOV EDX,ESI
CALL 0x0005592b
MOV EDX,dword ptr [EAX]
TEST EDX,EDX
JZ 0x0005a439
MOV EAX,dword ptr [EDX + 0x4]
OR EAX,EDI
AND EAX,dword ptr [ESP + 0x4]
MOV dword ptr [EDX + 0x4],EAX
JMP 0x0005a444
MOV dword ptr [ESP + 0x4],0xffffffff
MOV EDI,0x2
JMP 0x0005a403
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 __regparm3 FUN_0005a3ba(undefined4 param_1,undefined4 *param_2)\n\n{\n  int iVar1;\n  char cVar2;\n  char *pcVar3;\n  int *piVar4;\n  char *__s;\n  int *piVar5;\n  uint uVar6;\n  uint local_28;\n  \n  local_28 = 0;\n  while (cVar2 = FUN_0005728c(), cVar2 != '\0') {\n    if (cVar2 == 'n') {\n      local_28 = 1;\n    }\n  }\n  if (*(char *)*param_2 == 'r') {\n    local_28 = 0xffffffff;\n    uVar6 = 2;\n  }\n  else {\n    local_28 = ~local_28;\n    uVar6 = 1;\n  }\n  __s = (char *)*DAT_000dc298;\n  piVar5 = DAT_000dc298;\n  if (__s == (char *)0x0) {\n    FUN_0005a2af();\n    return 0;\n  }\n  do {\n    pcVar3 = strchr(__s,0x3d);\n    if (pcVar3 == (char *)0x0) {\n      cVar2 = *__s;\n      while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }\n      piVar4 = (int *)FUN_0005592b();\n      iVar1 = *piVar4;\n      if (iVar1 == 0) goto LAB_0005a439;\n      *(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;\n    }\n    else {\nLAB_0005a439:\n      FUN_00056e71();\n    }\n    __s = (char *)piVar5[1];\n    piVar5 = piVar5 + 1;\n    if (__s == (char *)0x0) {\n      return 0;\n    }\n  } while( true );\n}\n\n" comment (function_definition "undefined4 __regparm3 FUN_0005a3ba(undefined4 param_1,undefined4 *param_2)\n\n{\n  int iVar1;\n  char cVar2;\n  char *pcVar3;\n  int *piVar4;\n  char *__s;\n  int *piVar5;\n  uint uVar6;\n  uint local_28;\n  \n  local_28 = 0;\n  while (cVar2 = FUN_0005728c(), cVar2 != '\0') {\n    if (cVar2 == 'n') {\n      local_28 = 1;\n    }\n  }\n  if (*(char *)*param_2 == 'r') {\n    local_28 = 0xffffffff;\n    uVar6 = 2;\n  }\n  else {\n    local_28 = ~local_28;\n    uVar6 = 1;\n  }\n  __s = (char *)*DAT_000dc298;\n  piVar5 = DAT_000dc298;\n  if (__s == (char *)0x0) {\n    FUN_0005a2af();\n    return 0;\n  }\n  do {\n    pcVar3 = strchr(__s,0x3d);\n    if (pcVar3 == (char *)0x0) {\n      cVar2 = *__s;\n      while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }\n      piVar4 = (int *)FUN_0005592b();\n      iVar1 = *piVar4;\n      if (iVar1 == 0) goto LAB_0005a439;\n      *(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;\n    }\n    else {\nLAB_0005a439:\n      FUN_00056e71();\n    }\n    __s = (char *)piVar5[1];\n    piVar5 = piVar5 + 1;\n    if (__s == (char *)0x0) {\n      return 0;\n    }\n  } while( true );\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_0005a3ba(undefined4 param_1,undefined4 *param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 *param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  char cVar2;\n  char *pcVar3;\n  int *piVar4;\n  char *__s;\n  int *piVar5;\n  uint uVar6;\n  uint local_28;\n  \n  local_28 = 0;\n  while (cVar2 = FUN_0005728c(), cVar2 != '\0') {\n    if (cVar2 == 'n') {\n      local_28 = 1;\n    }\n  }\n  if (*(char *)*param_2 == 'r') {\n    local_28 = 0xffffffff;\n    uVar6 = 2;\n  }\n  else {\n    local_28 = ~local_28;\n    uVar6 = 1;\n  }\n  __s = (char *)*DAT_000dc298;\n  piVar5 = DAT_000dc298;\n  if (__s == (char *)0x0) {\n    FUN_0005a2af();\n    return 0;\n  }\n  do {\n    pcVar3 = strchr(__s,0x3d);\n    if (pcVar3 == (char *)0x0) {\n      cVar2 = *__s;\n      while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }\n      piVar4 = (int *)FUN_0005592b();\n      iVar1 = *piVar4;\n      if (iVar1 == 0) goto LAB_0005a439;\n      *(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;\n    }\n    else {\nLAB_0005a439:\n      FUN_00056e71();\n    }\n    __s = (char *)piVar5[1];\n    piVar5 = piVar5 + 1;\n    if (__s == (char *)0x0) {\n      return 0;\n    }\n  } while( true );\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (while_statement "while (cVar2 = FUN_0005728c(), cVar2 != '\0') {\n    if (cVar2 == 'n') {\n      local_28 = 1;\n    }\n  }" while (parenthesized_expression "(cVar2 = FUN_0005728c(), cVar2 != '\0')" ( (comma_expression "cVar2 = FUN_0005728c(), cVar2 != '\0'" (assignment_expression "cVar2 = FUN_0005728c()" identifier = (call_expression "FUN_0005728c()" identifier (argument_list "()" ( )))) , (binary_expression "cVar2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) )) (compound_statement "{\n    if (cVar2 == 'n') {\n      local_28 = 1;\n    }\n  }" { (if_statement "if (cVar2 == 'n') {\n      local_28 = 1;\n    }" if (parenthesized_expression "(cVar2 == 'n')" ( (binary_expression "cVar2 == 'n'" identifier == (char_literal "'n'" ' character ')) )) (compound_statement "{\n      local_28 = 1;\n    }" { (expression_statement "local_28 = 1;" (assignment_expression "local_28 = 1" identifier = number_literal) ;) })) })) (if_statement "if (*(char *)*param_2 == 'r') {\n    local_28 = 0xffffffff;\n    uVar6 = 2;\n  }\n  else {\n    local_28 = ~local_28;\n    uVar6 = 1;\n  }" if (parenthesized_expression "(*(char *)*param_2 == 'r')" ( (binary_expression "*(char *)*param_2 == 'r'" (pointer_expression "*(char *)*param_2" * (cast_expression "(char *)*param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) == (char_literal "'r'" ' character ')) )) (compound_statement "{\n    local_28 = 0xffffffff;\n    uVar6 = 2;\n  }" { (expression_statement "local_28 = 0xffffffff;" (assignment_expression "local_28 = 0xffffffff" identifier = number_literal) ;) (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) }) (else_clause "else {\n    local_28 = ~local_28;\n    uVar6 = 1;\n  }" else (compound_statement "{\n    local_28 = ~local_28;\n    uVar6 = 1;\n  }" { (expression_statement "local_28 = ~local_28;" (assignment_expression "local_28 = ~local_28" identifier = (unary_expression "~local_28" ~ identifier)) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) }))) (expression_statement "__s = (char *)*DAT_000dc298;" (assignment_expression "__s = (char *)*DAT_000dc298" identifier = (cast_expression "(char *)*DAT_000dc298" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_000dc298" * identifier))) ;) (expression_statement "piVar5 = DAT_000dc298;" (assignment_expression "piVar5 = DAT_000dc298" identifier = identifier) ;) (if_statement "if (__s == (char *)0x0) {\n    FUN_0005a2af();\n    return 0;\n  }" if (parenthesized_expression "(__s == (char *)0x0)" ( (binary_expression "__s == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    FUN_0005a2af();\n    return 0;\n  }" { (expression_statement "FUN_0005a2af();" (call_expression "FUN_0005a2af()" identifier (argument_list "()" ( ))) ;) (return_statement "return 0;" return number_literal ;) })) (do_statement "do {\n    pcVar3 = strchr(__s,0x3d);\n    if (pcVar3 == (char *)0x0) {\n      cVar2 = *__s;\n      while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }\n      piVar4 = (int *)FUN_0005592b();\n      iVar1 = *piVar4;\n      if (iVar1 == 0) goto LAB_0005a439;\n      *(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;\n    }\n    else {\nLAB_0005a439:\n      FUN_00056e71();\n    }\n    __s = (char *)piVar5[1];\n    piVar5 = piVar5 + 1;\n    if (__s == (char *)0x0) {\n      return 0;\n    }\n  } while( true );" do (compound_statement "{\n    pcVar3 = strchr(__s,0x3d);\n    if (pcVar3 == (char *)0x0) {\n      cVar2 = *__s;\n      while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }\n      piVar4 = (int *)FUN_0005592b();\n      iVar1 = *piVar4;\n      if (iVar1 == 0) goto LAB_0005a439;\n      *(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;\n    }\n    else {\nLAB_0005a439:\n      FUN_00056e71();\n    }\n    __s = (char *)piVar5[1];\n    piVar5 = piVar5 + 1;\n    if (__s == (char *)0x0) {\n      return 0;\n    }\n  }" { (expression_statement "pcVar3 = strchr(__s,0x3d);" (assignment_expression "pcVar3 = strchr(__s,0x3d)" identifier = (call_expression "strchr(__s,0x3d)" identifier (argument_list "(__s,0x3d)" ( identifier , number_literal )))) ;) (if_statement "if (pcVar3 == (char *)0x0) {\n      cVar2 = *__s;\n      while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }\n      piVar4 = (int *)FUN_0005592b();\n      iVar1 = *piVar4;\n      if (iVar1 == 0) goto LAB_0005a439;\n      *(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;\n    }\n    else {\nLAB_0005a439:\n      FUN_00056e71();\n    }" if (parenthesized_expression "(pcVar3 == (char *)0x0)" ( (binary_expression "pcVar3 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      cVar2 = *__s;\n      while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }\n      piVar4 = (int *)FUN_0005592b();\n      iVar1 = *piVar4;\n      if (iVar1 == 0) goto LAB_0005a439;\n      *(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;\n    }" { (expression_statement "cVar2 = *__s;" (assignment_expression "cVar2 = *__s" identifier = (pointer_expression "*__s" * identifier)) ;) (while_statement "while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }" while (parenthesized_expression "((cVar2 != '\0' && (cVar2 != '=')))" ( (parenthesized_expression "(cVar2 != '\0' && (cVar2 != '='))" ( (binary_expression "cVar2 != '\0' && (cVar2 != '=')" (binary_expression "cVar2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(cVar2 != '=')" ( (binary_expression "cVar2 != '='" identifier != (char_literal "'='" ' character ')) ))) )) )) (compound_statement "{\n        __s = __s + 1;\n        cVar2 = *__s;\n      }" { (expression_statement "__s = __s + 1;" (assignment_expression "__s = __s + 1" identifier = (binary_expression "__s + 1" identifier + number_literal)) ;) (expression_statement "cVar2 = *__s;" (assignment_expression "cVar2 = *__s" identifier = (pointer_expression "*__s" * identifier)) ;) })) (expression_statement "piVar4 = (int *)FUN_0005592b();" (assignment_expression "piVar4 = (int *)FUN_0005592b()" identifier = (cast_expression "(int *)FUN_0005592b()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0005592b()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar1 = *piVar4;" (assignment_expression "iVar1 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (if_statement "if (iVar1 == 0) goto LAB_0005a439;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0005a439;" goto statement_identifier ;)) (expression_statement "*(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;" (assignment_expression "*(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28" (pointer_expression "*(uint *)(iVar1 + 4)" * (cast_expression "(uint *)(iVar1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 4)" ( (binary_expression "iVar1 + 4" identifier + number_literal) )))) = (binary_expression "(*(uint *)(iVar1 + 4) | uVar6) & local_28" (parenthesized_expression "(*(uint *)(iVar1 + 4) | uVar6)" ( (binary_expression "*(uint *)(iVar1 + 4) | uVar6" (pointer_expression "*(uint *)(iVar1 + 4)" * (cast_expression "(uint *)(iVar1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 4)" ( (binary_expression "iVar1 + 4" identifier + number_literal) )))) | identifier) )) & identifier)) ;) }) (else_clause "else {\nLAB_0005a439:\n      FUN_00056e71();\n    }" else (compound_statement "{\nLAB_0005a439:\n      FUN_00056e71();\n    }" { (labeled_statement "LAB_0005a439:\n      FUN_00056e71();" statement_identifier : (expression_statement "FUN_00056e71();" (call_expression "FUN_00056e71()" identifier (argument_list "()" ( ))) ;)) }))) (expression_statement "__s = (char *)piVar5[1];" (assignment_expression "__s = (char *)piVar5[1]" identifier = (cast_expression "(char *)piVar5[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) ;) (expression_statement "piVar5 = piVar5 + 1;" (assignment_expression "piVar5 = piVar5 + 1" identifier = (binary_expression "piVar5 + 1" identifier + number_literal)) ;) (if_statement "if (__s == (char *)0x0) {\n      return 0;\n    }" if (parenthesized_expression "(__s == (char *)0x0)" ( (binary_expression "__s == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint exportcmd(int argc,char **argv)\n\n{\n}\n\n" comment (function_definition "int exportcmd(int argc,char **argv)\n\n{\n}" primitive_type (function_declarator "exportcmd(int argc,char **argv)" identifier (parameter_list "(int argc,char **argv)" ( (parameter_declaration "int argc" primitive_type identifier) , (parameter_declaration "char **argv" primitive_type (pointer_declarator "**argv" * (pointer_declarator "*argv" * identifier))) ))) (compound_statement "{\n}" { })))
(translation_unit "undefined4 __regparm3 FUN_0005a3ba(undefined4 param_1,undefined4 *param_2)\n\n{\n  int iVar1;\n  char cVar2;\n  char *pcVar3;\n  int *piVar4;\n  char *__s;\n  int *piVar5;\n  uint uVar6;\n  uint local_28;\n  \n  local_28 = 0;\n  while (cVar2 = FUN_0005728c(), cVar2 != '\0') {\n    if (cVar2 == 'n') {\n      local_28 = 1;\n    }\n  }\n  if (*(char *)*param_2 == 'r') {\n    local_28 = 0xffffffff;\n    uVar6 = 2;\n  }\n  else {\n    local_28 = ~local_28;\n    uVar6 = 1;\n  }\n  __s = (char *)*DAT_000dc298;\n  piVar5 = DAT_000dc298;\n  if (__s == (char *)0x0) {\n    FUN_0005a2af();\n    return 0;\n  }\n  do {\n    pcVar3 = strchr(__s,0x3d);\n    if (pcVar3 == (char *)0x0) {\n      cVar2 = *__s;\n      while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }\n      piVar4 = (int *)FUN_0005592b();\n      iVar1 = *piVar4;\n      if (iVar1 == 0) goto LAB_0005a439;\n      *(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;\n    }\n    else {\nLAB_0005a439:\n      FUN_00056e71();\n    }\n    __s = (char *)piVar5[1];\n    piVar5 = piVar5 + 1;\n    if (__s == (char *)0x0) {\n      return 0;\n    }\n  } while( true );\n}\n\n" (function_definition "undefined4 __regparm3 FUN_0005a3ba(undefined4 param_1,undefined4 *param_2)\n\n{\n  int iVar1;\n  char cVar2;\n  char *pcVar3;\n  int *piVar4;\n  char *__s;\n  int *piVar5;\n  uint uVar6;\n  uint local_28;\n  \n  local_28 = 0;\n  while (cVar2 = FUN_0005728c(), cVar2 != '\0') {\n    if (cVar2 == 'n') {\n      local_28 = 1;\n    }\n  }\n  if (*(char *)*param_2 == 'r') {\n    local_28 = 0xffffffff;\n    uVar6 = 2;\n  }\n  else {\n    local_28 = ~local_28;\n    uVar6 = 1;\n  }\n  __s = (char *)*DAT_000dc298;\n  piVar5 = DAT_000dc298;\n  if (__s == (char *)0x0) {\n    FUN_0005a2af();\n    return 0;\n  }\n  do {\n    pcVar3 = strchr(__s,0x3d);\n    if (pcVar3 == (char *)0x0) {\n      cVar2 = *__s;\n      while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }\n      piVar4 = (int *)FUN_0005592b();\n      iVar1 = *piVar4;\n      if (iVar1 == 0) goto LAB_0005a439;\n      *(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;\n    }\n    else {\nLAB_0005a439:\n      FUN_00056e71();\n    }\n    __s = (char *)piVar5[1];\n    piVar5 = piVar5 + 1;\n    if (__s == (char *)0x0) {\n      return 0;\n    }\n  } while( true );\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_0005a3ba(undefined4 param_1,undefined4 *param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 *param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  char cVar2;\n  char *pcVar3;\n  int *piVar4;\n  char *__s;\n  int *piVar5;\n  uint uVar6;\n  uint local_28;\n  \n  local_28 = 0;\n  while (cVar2 = FUN_0005728c(), cVar2 != '\0') {\n    if (cVar2 == 'n') {\n      local_28 = 1;\n    }\n  }\n  if (*(char *)*param_2 == 'r') {\n    local_28 = 0xffffffff;\n    uVar6 = 2;\n  }\n  else {\n    local_28 = ~local_28;\n    uVar6 = 1;\n  }\n  __s = (char *)*DAT_000dc298;\n  piVar5 = DAT_000dc298;\n  if (__s == (char *)0x0) {\n    FUN_0005a2af();\n    return 0;\n  }\n  do {\n    pcVar3 = strchr(__s,0x3d);\n    if (pcVar3 == (char *)0x0) {\n      cVar2 = *__s;\n      while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }\n      piVar4 = (int *)FUN_0005592b();\n      iVar1 = *piVar4;\n      if (iVar1 == 0) goto LAB_0005a439;\n      *(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;\n    }\n    else {\nLAB_0005a439:\n      FUN_00056e71();\n    }\n    __s = (char *)piVar5[1];\n    piVar5 = piVar5 + 1;\n    if (__s == (char *)0x0) {\n      return 0;\n    }\n  } while( true );\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (while_statement "while (cVar2 = FUN_0005728c(), cVar2 != '\0') {\n    if (cVar2 == 'n') {\n      local_28 = 1;\n    }\n  }" while (parenthesized_expression "(cVar2 = FUN_0005728c(), cVar2 != '\0')" ( (comma_expression "cVar2 = FUN_0005728c(), cVar2 != '\0'" (assignment_expression "cVar2 = FUN_0005728c()" identifier = (call_expression "FUN_0005728c()" identifier (argument_list "()" ( )))) , (binary_expression "cVar2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) )) (compound_statement "{\n    if (cVar2 == 'n') {\n      local_28 = 1;\n    }\n  }" { (if_statement "if (cVar2 == 'n') {\n      local_28 = 1;\n    }" if (parenthesized_expression "(cVar2 == 'n')" ( (binary_expression "cVar2 == 'n'" identifier == (char_literal "'n'" ' character ')) )) (compound_statement "{\n      local_28 = 1;\n    }" { (expression_statement "local_28 = 1;" (assignment_expression "local_28 = 1" identifier = number_literal) ;) })) })) (if_statement "if (*(char *)*param_2 == 'r') {\n    local_28 = 0xffffffff;\n    uVar6 = 2;\n  }\n  else {\n    local_28 = ~local_28;\n    uVar6 = 1;\n  }" if (parenthesized_expression "(*(char *)*param_2 == 'r')" ( (binary_expression "*(char *)*param_2 == 'r'" (pointer_expression "*(char *)*param_2" * (cast_expression "(char *)*param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) == (char_literal "'r'" ' character ')) )) (compound_statement "{\n    local_28 = 0xffffffff;\n    uVar6 = 2;\n  }" { (expression_statement "local_28 = 0xffffffff;" (assignment_expression "local_28 = 0xffffffff" identifier = number_literal) ;) (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) }) (else_clause "else {\n    local_28 = ~local_28;\n    uVar6 = 1;\n  }" else (compound_statement "{\n    local_28 = ~local_28;\n    uVar6 = 1;\n  }" { (expression_statement "local_28 = ~local_28;" (assignment_expression "local_28 = ~local_28" identifier = (unary_expression "~local_28" ~ identifier)) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) }))) (expression_statement "__s = (char *)*DAT_000dc298;" (assignment_expression "__s = (char *)*DAT_000dc298" identifier = (cast_expression "(char *)*DAT_000dc298" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_000dc298" * identifier))) ;) (expression_statement "piVar5 = DAT_000dc298;" (assignment_expression "piVar5 = DAT_000dc298" identifier = identifier) ;) (if_statement "if (__s == (char *)0x0) {\n    FUN_0005a2af();\n    return 0;\n  }" if (parenthesized_expression "(__s == (char *)0x0)" ( (binary_expression "__s == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    FUN_0005a2af();\n    return 0;\n  }" { (expression_statement "FUN_0005a2af();" (call_expression "FUN_0005a2af()" identifier (argument_list "()" ( ))) ;) (return_statement "return 0;" return number_literal ;) })) (do_statement "do {\n    pcVar3 = strchr(__s,0x3d);\n    if (pcVar3 == (char *)0x0) {\n      cVar2 = *__s;\n      while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }\n      piVar4 = (int *)FUN_0005592b();\n      iVar1 = *piVar4;\n      if (iVar1 == 0) goto LAB_0005a439;\n      *(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;\n    }\n    else {\nLAB_0005a439:\n      FUN_00056e71();\n    }\n    __s = (char *)piVar5[1];\n    piVar5 = piVar5 + 1;\n    if (__s == (char *)0x0) {\n      return 0;\n    }\n  } while( true );" do (compound_statement "{\n    pcVar3 = strchr(__s,0x3d);\n    if (pcVar3 == (char *)0x0) {\n      cVar2 = *__s;\n      while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }\n      piVar4 = (int *)FUN_0005592b();\n      iVar1 = *piVar4;\n      if (iVar1 == 0) goto LAB_0005a439;\n      *(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;\n    }\n    else {\nLAB_0005a439:\n      FUN_00056e71();\n    }\n    __s = (char *)piVar5[1];\n    piVar5 = piVar5 + 1;\n    if (__s == (char *)0x0) {\n      return 0;\n    }\n  }" { (expression_statement "pcVar3 = strchr(__s,0x3d);" (assignment_expression "pcVar3 = strchr(__s,0x3d)" identifier = (call_expression "strchr(__s,0x3d)" identifier (argument_list "(__s,0x3d)" ( identifier , number_literal )))) ;) (if_statement "if (pcVar3 == (char *)0x0) {\n      cVar2 = *__s;\n      while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }\n      piVar4 = (int *)FUN_0005592b();\n      iVar1 = *piVar4;\n      if (iVar1 == 0) goto LAB_0005a439;\n      *(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;\n    }\n    else {\nLAB_0005a439:\n      FUN_00056e71();\n    }" if (parenthesized_expression "(pcVar3 == (char *)0x0)" ( (binary_expression "pcVar3 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      cVar2 = *__s;\n      while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }\n      piVar4 = (int *)FUN_0005592b();\n      iVar1 = *piVar4;\n      if (iVar1 == 0) goto LAB_0005a439;\n      *(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;\n    }" { (expression_statement "cVar2 = *__s;" (assignment_expression "cVar2 = *__s" identifier = (pointer_expression "*__s" * identifier)) ;) (while_statement "while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }" while (parenthesized_expression "((cVar2 != '\0' && (cVar2 != '=')))" ( (parenthesized_expression "(cVar2 != '\0' && (cVar2 != '='))" ( (binary_expression "cVar2 != '\0' && (cVar2 != '=')" (binary_expression "cVar2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(cVar2 != '=')" ( (binary_expression "cVar2 != '='" identifier != (char_literal "'='" ' character ')) ))) )) )) (compound_statement "{\n        __s = __s + 1;\n        cVar2 = *__s;\n      }" { (expression_statement "__s = __s + 1;" (assignment_expression "__s = __s + 1" identifier = (binary_expression "__s + 1" identifier + number_literal)) ;) (expression_statement "cVar2 = *__s;" (assignment_expression "cVar2 = *__s" identifier = (pointer_expression "*__s" * identifier)) ;) })) (expression_statement "piVar4 = (int *)FUN_0005592b();" (assignment_expression "piVar4 = (int *)FUN_0005592b()" identifier = (cast_expression "(int *)FUN_0005592b()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0005592b()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar1 = *piVar4;" (assignment_expression "iVar1 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (if_statement "if (iVar1 == 0) goto LAB_0005a439;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0005a439;" goto statement_identifier ;)) (expression_statement "*(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;" (assignment_expression "*(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28" (pointer_expression "*(uint *)(iVar1 + 4)" * (cast_expression "(uint *)(iVar1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 4)" ( (binary_expression "iVar1 + 4" identifier + number_literal) )))) = (binary_expression "(*(uint *)(iVar1 + 4) | uVar6) & local_28" (parenthesized_expression "(*(uint *)(iVar1 + 4) | uVar6)" ( (binary_expression "*(uint *)(iVar1 + 4) | uVar6" (pointer_expression "*(uint *)(iVar1 + 4)" * (cast_expression "(uint *)(iVar1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 4)" ( (binary_expression "iVar1 + 4" identifier + number_literal) )))) | identifier) )) & identifier)) ;) }) (else_clause "else {\nLAB_0005a439:\n      FUN_00056e71();\n    }" else (compound_statement "{\nLAB_0005a439:\n      FUN_00056e71();\n    }" { (labeled_statement "LAB_0005a439:\n      FUN_00056e71();" statement_identifier : (expression_statement "FUN_00056e71();" (call_expression "FUN_00056e71()" identifier (argument_list "()" ( ))) ;)) }))) (expression_statement "__s = (char *)piVar5[1];" (assignment_expression "__s = (char *)piVar5[1]" identifier = (cast_expression "(char *)piVar5[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) ;) (expression_statement "piVar5 = piVar5 + 1;" (assignment_expression "piVar5 = piVar5 + 1" identifier = (binary_expression "piVar5 + 1" identifier + number_literal)) ;) (if_statement "if (__s == (char *)0x0) {\n      return 0;\n    }" if (parenthesized_expression "(__s == (char *)0x0)" ( (binary_expression "__s == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT != (char_literal ' escape_sequence '))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (unary_expression ~ IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return LIT ;) })) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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 = (pointer_expression * IDENT)) ;) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != (char_literal ' escape_sequence ')) && (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) ))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | IDENT) )) & IDENT)) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (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 { (return_statement return LIT ;) })) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "undefined4 __regparm3 FUN_0005a3ba(undefined4 param_1,undefined4 *param_2)\n\n{\n  int iVar1;\n  char cVar2;\n  char *pcVar3;\n  int *piVar4;\n  char *__s;\n  int *piVar5;\n  uint uVar6;\n  uint local_28;\n  \n  local_28 = 0;\n  while (cVar2 = FUN_0005728c(), cVar2 != '\0') {\n    if (cVar2 == 'n') {\n      local_28 = 1;\n    }\n  }\n  if (*(char *)*param_2 == 'r') {\n    local_28 = 0xffffffff;\n    uVar6 = 2;\n  }\n  else {\n    local_28 = ~local_28;\n    uVar6 = 1;\n  }\n  __s = (char *)*DAT_000dc298;\n  piVar5 = DAT_000dc298;\n  if (__s == (char *)0x0) {\n    FUN_0005a2af();\n    return 0;\n  }\n  do {\n    pcVar3 = strchr(__s,0x3d);\n    if (pcVar3 == (char *)0x0) {\n      cVar2 = *__s;\n      while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }\n      piVar4 = (int *)FUN_0005592b();\n      iVar1 = *piVar4;\n      if (iVar1 == 0) goto LAB_0005a439;\n      *(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;\n    }\n    else {\nLAB_0005a439:\n      FUN_00056e71();\n    }\n    __s = (char *)piVar5[1];\n    piVar5 = piVar5 + 1;\n    if (__s == (char *)0x0) {\n      return 0;\n    }\n  } while( true );\n}" (type_identifier "undefined4") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_0005a3ba(undefined4 param_1,undefined4 *param_2)" (identifier "FUN_0005a3ba") (parameter_list "(undefined4 param_1,undefined4 *param_2)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  int iVar1;\n  char cVar2;\n  char *pcVar3;\n  int *piVar4;\n  char *__s;\n  int *piVar5;\n  uint uVar6;\n  uint local_28;\n  \n  local_28 = 0;\n  while (cVar2 = FUN_0005728c(), cVar2 != '\0') {\n    if (cVar2 == 'n') {\n      local_28 = 1;\n    }\n  }\n  if (*(char *)*param_2 == 'r') {\n    local_28 = 0xffffffff;\n    uVar6 = 2;\n  }\n  else {\n    local_28 = ~local_28;\n    uVar6 = 1;\n  }\n  __s = (char *)*DAT_000dc298;\n  piVar5 = DAT_000dc298;\n  if (__s == (char *)0x0) {\n    FUN_0005a2af();\n    return 0;\n  }\n  do {\n    pcVar3 = strchr(__s,0x3d);\n    if (pcVar3 == (char *)0x0) {\n      cVar2 = *__s;\n      while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }\n      piVar4 = (int *)FUN_0005592b();\n      iVar1 = *piVar4;\n      if (iVar1 == 0) goto LAB_0005a439;\n      *(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;\n    }\n    else {\nLAB_0005a439:\n      FUN_00056e71();\n    }\n    __s = (char *)piVar5[1];\n    piVar5 = piVar5 + 1;\n    if (__s == (char *)0x0) {\n      return 0;\n    }\n  } while( true );\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "char *pcVar3;" (primitive_type "char") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "char *__s;" (primitive_type "char") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "uint local_28;" (type_identifier "uint") (identifier "local_28") (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (while_statement "while (cVar2 = FUN_0005728c(), cVar2 != '\0') {\n    if (cVar2 == 'n') {\n      local_28 = 1;\n    }\n  }" (while "while") (parenthesized_expression "(cVar2 = FUN_0005728c(), cVar2 != '\0')" (( "(") (comma_expression "cVar2 = FUN_0005728c(), cVar2 != '\0'" (assignment_expression "cVar2 = FUN_0005728c()" (identifier "cVar2") (= "=") (call_expression "FUN_0005728c()" (identifier "FUN_0005728c") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "cVar2 != '\0'" (identifier "cVar2") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")")) (compound_statement "{\n    if (cVar2 == 'n') {\n      local_28 = 1;\n    }\n  }" ({ "{") (if_statement "if (cVar2 == 'n') {\n      local_28 = 1;\n    }" (if "if") (parenthesized_expression "(cVar2 == 'n')" (( "(") (binary_expression "cVar2 == 'n'" (identifier "cVar2") (== "==") (char_literal "'n'" (' "'") (character "n") (' "'"))) () ")")) (compound_statement "{\n      local_28 = 1;\n    }" ({ "{") (expression_statement "local_28 = 1;" (assignment_expression "local_28 = 1" (identifier "local_28") (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}"))) (if_statement "if (*(char *)*param_2 == 'r') {\n    local_28 = 0xffffffff;\n    uVar6 = 2;\n  }\n  else {\n    local_28 = ~local_28;\n    uVar6 = 1;\n  }" (if "if") (parenthesized_expression "(*(char *)*param_2 == 'r')" (( "(") (binary_expression "*(char *)*param_2 == 'r'" (pointer_expression "*(char *)*param_2" (* "*") (cast_expression "(char *)*param_2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2")))) (== "==") (char_literal "'r'" (' "'") (character "r") (' "'"))) () ")")) (compound_statement "{\n    local_28 = 0xffffffff;\n    uVar6 = 2;\n  }" ({ "{") (expression_statement "local_28 = 0xffffffff;" (assignment_expression "local_28 = 0xffffffff" (identifier "local_28") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (} "}")) (else_clause "else {\n    local_28 = ~local_28;\n    uVar6 = 1;\n  }" (else "else") (compound_statement "{\n    local_28 = ~local_28;\n    uVar6 = 1;\n  }" ({ "{") (expression_statement "local_28 = ~local_28;" (assignment_expression "local_28 = ~local_28" (identifier "local_28") (= "=") (unary_expression "~local_28" (~ "~") (identifier "local_28"))) (; ";")) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (} "}")))) (expression_statement "__s = (char *)*DAT_000dc298;" (assignment_expression "__s = (char *)*DAT_000dc298" (identifier "__s") (= "=") (cast_expression "(char *)*DAT_000dc298" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*DAT_000dc298" (* "*") (identifier "DAT_000dc298")))) (; ";")) (expression_statement "piVar5 = DAT_000dc298;" (assignment_expression "piVar5 = DAT_000dc298" (identifier "piVar5") (= "=") (identifier "DAT_000dc298")) (; ";")) (if_statement "if (__s == (char *)0x0) {\n    FUN_0005a2af();\n    return 0;\n  }" (if "if") (parenthesized_expression "(__s == (char *)0x0)" (( "(") (binary_expression "__s == (char *)0x0" (identifier "__s") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    FUN_0005a2af();\n    return 0;\n  }" ({ "{") (expression_statement "FUN_0005a2af();" (call_expression "FUN_0005a2af()" (identifier "FUN_0005a2af") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (do_statement "do {\n    pcVar3 = strchr(__s,0x3d);\n    if (pcVar3 == (char *)0x0) {\n      cVar2 = *__s;\n      while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }\n      piVar4 = (int *)FUN_0005592b();\n      iVar1 = *piVar4;\n      if (iVar1 == 0) goto LAB_0005a439;\n      *(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;\n    }\n    else {\nLAB_0005a439:\n      FUN_00056e71();\n    }\n    __s = (char *)piVar5[1];\n    piVar5 = piVar5 + 1;\n    if (__s == (char *)0x0) {\n      return 0;\n    }\n  } while( true );" (do "do") (compound_statement "{\n    pcVar3 = strchr(__s,0x3d);\n    if (pcVar3 == (char *)0x0) {\n      cVar2 = *__s;\n      while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }\n      piVar4 = (int *)FUN_0005592b();\n      iVar1 = *piVar4;\n      if (iVar1 == 0) goto LAB_0005a439;\n      *(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;\n    }\n    else {\nLAB_0005a439:\n      FUN_00056e71();\n    }\n    __s = (char *)piVar5[1];\n    piVar5 = piVar5 + 1;\n    if (__s == (char *)0x0) {\n      return 0;\n    }\n  }" ({ "{") (expression_statement "pcVar3 = strchr(__s,0x3d);" (assignment_expression "pcVar3 = strchr(__s,0x3d)" (identifier "pcVar3") (= "=") (call_expression "strchr(__s,0x3d)" (identifier "strchr") (argument_list "(__s,0x3d)" (( "(") (identifier "__s") (, ",") (number_literal "0x3d") () ")")))) (; ";")) (if_statement "if (pcVar3 == (char *)0x0) {\n      cVar2 = *__s;\n      while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }\n      piVar4 = (int *)FUN_0005592b();\n      iVar1 = *piVar4;\n      if (iVar1 == 0) goto LAB_0005a439;\n      *(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;\n    }\n    else {\nLAB_0005a439:\n      FUN_00056e71();\n    }" (if "if") (parenthesized_expression "(pcVar3 == (char *)0x0)" (( "(") (binary_expression "pcVar3 == (char *)0x0" (identifier "pcVar3") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      cVar2 = *__s;\n      while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }\n      piVar4 = (int *)FUN_0005592b();\n      iVar1 = *piVar4;\n      if (iVar1 == 0) goto LAB_0005a439;\n      *(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;\n    }" ({ "{") (expression_statement "cVar2 = *__s;" (assignment_expression "cVar2 = *__s" (identifier "cVar2") (= "=") (pointer_expression "*__s" (* "*") (identifier "__s"))) (; ";")) (while_statement "while ((cVar2 != '\0' && (cVar2 != '='))) {\n        __s = __s + 1;\n        cVar2 = *__s;\n      }" (while "while") (parenthesized_expression "((cVar2 != '\0' && (cVar2 != '=')))" (( "(") (parenthesized_expression "(cVar2 != '\0' && (cVar2 != '='))" (( "(") (binary_expression "cVar2 != '\0' && (cVar2 != '=')" (binary_expression "cVar2 != '\0'" (identifier "cVar2") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (&& "&&") (parenthesized_expression "(cVar2 != '=')" (( "(") (binary_expression "cVar2 != '='" (identifier "cVar2") (!= "!=") (char_literal "'='" (' "'") (character "=") (' "'"))) () ")"))) () ")")) () ")")) (compound_statement "{\n        __s = __s + 1;\n        cVar2 = *__s;\n      }" ({ "{") (expression_statement "__s = __s + 1;" (assignment_expression "__s = __s + 1" (identifier "__s") (= "=") (binary_expression "__s + 1" (identifier "__s") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar2 = *__s;" (assignment_expression "cVar2 = *__s" (identifier "cVar2") (= "=") (pointer_expression "*__s" (* "*") (identifier "__s"))) (; ";")) (} "}"))) (expression_statement "piVar4 = (int *)FUN_0005592b();" (assignment_expression "piVar4 = (int *)FUN_0005592b()" (identifier "piVar4") (= "=") (cast_expression "(int *)FUN_0005592b()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0005592b()" (identifier "FUN_0005592b") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar1 = *piVar4;" (assignment_expression "iVar1 = *piVar4" (identifier "iVar1") (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (if_statement "if (iVar1 == 0) goto LAB_0005a439;" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0005a439;" (goto "goto") (statement_identifier "LAB_0005a439") (; ";"))) (expression_statement "*(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;" (assignment_expression "*(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28" (pointer_expression "*(uint *)(iVar1 + 4)" (* "*") (cast_expression "(uint *)(iVar1 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 4)" (( "(") (binary_expression "iVar1 + 4" (identifier "iVar1") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "(*(uint *)(iVar1 + 4) | uVar6) & local_28" (parenthesized_expression "(*(uint *)(iVar1 + 4) | uVar6)" (( "(") (binary_expression "*(uint *)(iVar1 + 4) | uVar6" (pointer_expression "*(uint *)(iVar1 + 4)" (* "*") (cast_expression "(uint *)(iVar1 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 4)" (( "(") (binary_expression "iVar1 + 4" (identifier "iVar1") (+ "+") (number_literal "4")) () ")")))) (| "|") (identifier "uVar6")) () ")")) (& "&") (identifier "local_28"))) (; ";")) (} "}")) (else_clause "else {\nLAB_0005a439:\n      FUN_00056e71();\n    }" (else "else") (compound_statement "{\nLAB_0005a439:\n      FUN_00056e71();\n    }" ({ "{") (labeled_statement "LAB_0005a439:\n      FUN_00056e71();" (statement_identifier "LAB_0005a439") (: ":") (expression_statement "FUN_00056e71();" (call_expression "FUN_00056e71()" (identifier "FUN_00056e71") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}")))) (expression_statement "__s = (char *)piVar5[1];" (assignment_expression "__s = (char *)piVar5[1]" (identifier "__s") (= "=") (cast_expression "(char *)piVar5[1]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "piVar5 = piVar5 + 1;" (assignment_expression "piVar5 = piVar5 + 1" (identifier "piVar5") (= "=") (binary_expression "piVar5 + 1" (identifier "piVar5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (__s == (char *)0x0) {\n      return 0;\n    }" (if "if") (parenthesized_expression "(__s == (char *)0x0)" (( "(") (binary_expression "__s == (char *)0x0" (identifier "__s") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))

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

int function_1(int argc,char **argv)

{
}


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

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

undefined4 __regparm3 MASKED(undefined4 param_1,undefined4 *param_2)

{
  int iVar1;
  char cVar2;
  char *pcVar3;
  int *piVar4;
  char *__s;
  int *piVar5;
  uint uVar6;
  uint local_28;
  
  local_28 = 0;
  while (cVar2 = FUN_0005728c(), cVar2 != '\0') {
    if (cVar2 == 'n') {
      local_28 = 1;
    }
  }
  if (*(char *)*param_2 == 'r') {
    local_28 = 0xffffffff;
    uVar6 = 2;
  }
  else {
    local_28 = ~local_28;
    uVar6 = 1;
  }
  __s = (char *)*DAT_000dc298;
  piVar5 = DAT_000dc298;
  if (__s == (char *)0x0) {
    FUN_0005a2af();
    return 0;
  }
  do {
    pcVar3 = strchr(__s,0x3d);
    if (pcVar3 == (char *)0x0) {
      cVar2 = *__s;
      while ((cVar2 != '\0' && (cVar2 != '='))) {
        __s = __s + 1;
        cVar2 = *__s;
      }
      piVar4 = (int *)FUN_0005592b();
      iVar1 = *piVar4;
      if (iVar1 == 0) goto LAB_0005a439;
      *(uint *)(iVar1 + 4) = (*(uint *)(iVar1 + 4) | uVar6) & local_28;
    }
    else {
LAB_0005a439:
      FUN_00056e71();
    }
    __s = (char *)piVar5[1];
    piVar5 = piVar5 + 1;
    if (__s == (char *)0x0) {
      return 0;
    }
  } while( true );
}

