
/* WARNING: Function: __x86.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */

char * get_DW_IDX_name(uint idx)

{
  char *pcVar1;
  
  if (idx == 4) {
    pcVar1 = "DW_IDX_parent";
  }
  else if (idx < 5) {
    pcVar1 = "DW_IDX_type_unit";
    if ((idx != 2) && (pcVar1 = "DW_IDX_die_offset", idx < 3)) {
      pcVar1 = "DW_IDX_compile_unit";
      if (idx != 1) {
        pcVar1 = (char *)0x0;
      }
      return pcVar1;
    }
  }
  else {
    pcVar1 = "DW_IDX_GNU_internal";
    if (idx != 0x2000) {
      if (idx < 0x2001) {
        pcVar1 = "DW_IDX_type_hash";
        if (idx != 5) {
          pcVar1 = (char *)0x0;
        }
        return pcVar1;
      }
      pcVar1 = "DW_IDX_GNU_external";
      if (idx != 0x2001) {
        pcVar1 = "DW_IDX_hi_user";
        if (idx != 0x3fff) {
          pcVar1 = (char *)0x0;
        }
        return pcVar1;
      }
    }
  }
  return pcVar1;
}



/* WARNING: Function: __i686.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */

char * FUN_0006ad50(uint param_1)

{
  char *pcVar1;
  
  if (param_1 == 4) {
    pcVar1 = "DW_IDX_parent";
  }
  else if (param_1 < 5) {
    pcVar1 = "DW_IDX_type_unit";
    if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {
      pcVar1 = "DW_IDX_compile_unit";
      if (param_1 != 1) {
        pcVar1 = (char *)0x0;
      }
      return pcVar1;
    }
  }
  else {
    pcVar1 = "DW_IDX_GNU_internal";
    if (param_1 != 0x2000) {
      if (param_1 < 0x2001) {
        pcVar1 = "DW_IDX_type_hash";
        if (param_1 != 5) {
          pcVar1 = (char *)0x0;
        }
        return pcVar1;
      }
      pcVar1 = "DW_IDX_GNU_external";
      if (param_1 != 0x2001) {
        pcVar1 = "DW_IDX_hi_user";
        if (param_1 != 0x3fff) {
          pcVar1 = (char *)0x0;
        }
        return pcVar1;
      }
    }
  }
  return pcVar1;
}


CALL 0x000140a5
ADD EDX,0x492ab
MOV ECX,dword ptr [ESP + 0x4]
CMP ECX,0x4
JZ 0x0006ade0
JBE 0x0006ada0
LEA EAX,[EDX + 0xfffe4817]
CMP ECX,0x2000
JZ 0x0006ade6
JBE 0x0006adc8
LEA EAX,[EDX + 0xfffe482b]
CMP ECX,0x2001
JZ 0x0006ade6
CMP ECX,0x3fff
LEA EAX,[EDX + 0xfffe4808]
MOV EDX,0x0
CMOVNZ EAX,EDX
RET
LEA EAX,[EDX + 0xfffe483f]
CMP ECX,0x2
JZ 0x0006ade6
LEA EAX,[EDX + 0xfffe47d7]
JA 0x0006ade6
CMP ECX,0x1
LEA EAX,[EDX + 0xfffe47c3]
MOV EDX,0x0
CMOVNZ EAX,EDX
RET
CMP ECX,0x5
LEA EAX,[EDX + 0xfffe47f7]
MOV EDX,0x0
CMOVNZ EAX,EDX
RET
LEA EAX,[EDX + 0xfffe47e9]
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */\n\nchar * FUN_0006ad50(uint param_1)\n\n{\n  char *pcVar1;\n  \n  if (param_1 == 4) {\n    pcVar1 = "DW_IDX_parent";\n  }\n  else if (param_1 < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }\n  return pcVar1;\n}\n\n" comment (function_definition "char * FUN_0006ad50(uint param_1)\n\n{\n  char *pcVar1;\n  \n  if (param_1 == 4) {\n    pcVar1 = "DW_IDX_parent";\n  }\n  else if (param_1 < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }\n  return pcVar1;\n}" primitive_type (pointer_declarator "* FUN_0006ad50(uint param_1)" * (function_declarator "FUN_0006ad50(uint param_1)" identifier (parameter_list "(uint param_1)" ( (parameter_declaration "uint param_1" type_identifier identifier) )))) (compound_statement "{\n  char *pcVar1;\n  \n  if (param_1 == 4) {\n    pcVar1 = "DW_IDX_parent";\n  }\n  else if (param_1 < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }\n  return pcVar1;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (if_statement "if (param_1 == 4) {\n    pcVar1 = "DW_IDX_parent";\n  }\n  else if (param_1 < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }" if (parenthesized_expression "(param_1 == 4)" ( (binary_expression "param_1 == 4" identifier == number_literal) )) (compound_statement "{\n    pcVar1 = "DW_IDX_parent";\n  }" { (expression_statement "pcVar1 = "DW_IDX_parent";" (assignment_expression "pcVar1 = "DW_IDX_parent"" identifier = (string_literal ""DW_IDX_parent"" " string_content ")) ;) }) (else_clause "else if (param_1 < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }" else (if_statement "if (param_1 < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }" if (parenthesized_expression "(param_1 < 5)" ( (binary_expression "param_1 < 5" identifier < number_literal) )) (compound_statement "{\n    pcVar1 = "DW_IDX_type_unit";\n    if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }" { (expression_statement "pcVar1 = "DW_IDX_type_unit";" (assignment_expression "pcVar1 = "DW_IDX_type_unit"" identifier = (string_literal ""DW_IDX_type_unit"" " string_content ")) ;) (if_statement "if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }" if (parenthesized_expression "((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3))" ( (binary_expression "(param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)" (parenthesized_expression "(param_1 != 2)" ( (binary_expression "param_1 != 2" identifier != number_literal) )) && (parenthesized_expression "(pcVar1 = "DW_IDX_die_offset", param_1 < 3)" ( (comma_expression "pcVar1 = "DW_IDX_die_offset", param_1 < 3" (assignment_expression "pcVar1 = "DW_IDX_die_offset"" identifier = (string_literal ""DW_IDX_die_offset"" " string_content ")) , (binary_expression "param_1 < 3" identifier < number_literal)) ))) )) (compound_statement "{\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }" { (expression_statement "pcVar1 = "DW_IDX_compile_unit";" (assignment_expression "pcVar1 = "DW_IDX_compile_unit"" identifier = (string_literal ""DW_IDX_compile_unit"" " string_content ")) ;) (if_statement "if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }" if (parenthesized_expression "(param_1 != 1)" ( (binary_expression "param_1 != 1" identifier != number_literal) )) (compound_statement "{\n        pcVar1 = (char *)0x0;\n      }" { (expression_statement "pcVar1 = (char *)0x0;" (assignment_expression "pcVar1 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (return_statement "return pcVar1;" return identifier ;) })) }) (else_clause "else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }" else (compound_statement "{\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }" { (expression_statement "pcVar1 = "DW_IDX_GNU_internal";" (assignment_expression "pcVar1 = "DW_IDX_GNU_internal"" identifier = (string_literal ""DW_IDX_GNU_internal"" " string_content ")) ;) (if_statement "if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }" if (parenthesized_expression "(param_1 != 0x2000)" ( (binary_expression "param_1 != 0x2000" identifier != number_literal) )) (compound_statement "{\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }" { (if_statement "if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }" if (parenthesized_expression "(param_1 < 0x2001)" ( (binary_expression "param_1 < 0x2001" identifier < number_literal) )) (compound_statement "{\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }" { (expression_statement "pcVar1 = "DW_IDX_type_hash";" (assignment_expression "pcVar1 = "DW_IDX_type_hash"" identifier = (string_literal ""DW_IDX_type_hash"" " string_content ")) ;) (if_statement "if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }" if (parenthesized_expression "(param_1 != 5)" ( (binary_expression "param_1 != 5" identifier != number_literal) )) (compound_statement "{\n          pcVar1 = (char *)0x0;\n        }" { (expression_statement "pcVar1 = (char *)0x0;" (assignment_expression "pcVar1 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (return_statement "return pcVar1;" return identifier ;) })) (expression_statement "pcVar1 = "DW_IDX_GNU_external";" (assignment_expression "pcVar1 = "DW_IDX_GNU_external"" identifier = (string_literal ""DW_IDX_GNU_external"" " string_content ")) ;) (if_statement "if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }" if (parenthesized_expression "(param_1 != 0x2001)" ( (binary_expression "param_1 != 0x2001" identifier != number_literal) )) (compound_statement "{\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }" { (expression_statement "pcVar1 = "DW_IDX_hi_user";" (assignment_expression "pcVar1 = "DW_IDX_hi_user"" identifier = (string_literal ""DW_IDX_hi_user"" " string_content ")) ;) (if_statement "if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }" if (parenthesized_expression "(param_1 != 0x3fff)" ( (binary_expression "param_1 != 0x3fff" identifier != number_literal) )) (compound_statement "{\n          pcVar1 = (char *)0x0;\n        }" { (expression_statement "pcVar1 = (char *)0x0;" (assignment_expression "pcVar1 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (return_statement "return pcVar1;" return identifier ;) })) })) }))))) (return_statement "return pcVar1;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */\n\nchar * get_DW_IDX_name(uint idx)\n\n{\n  char *pcVar1;\n  \n  if (idx == 4) {\n    pcVar1 = "DW_IDX_parent";\n  }\n  else if (idx < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((idx != 2) && (pcVar1 = "DW_IDX_die_offset", idx < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (idx != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (idx != 0x2000) {\n      if (idx < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (idx != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (idx != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (idx != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }\n  return pcVar1;\n}\n\n" comment (function_definition "char * get_DW_IDX_name(uint idx)\n\n{\n  char *pcVar1;\n  \n  if (idx == 4) {\n    pcVar1 = "DW_IDX_parent";\n  }\n  else if (idx < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((idx != 2) && (pcVar1 = "DW_IDX_die_offset", idx < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (idx != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (idx != 0x2000) {\n      if (idx < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (idx != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (idx != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (idx != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }\n  return pcVar1;\n}" primitive_type (pointer_declarator "* get_DW_IDX_name(uint idx)" * (function_declarator "get_DW_IDX_name(uint idx)" identifier (parameter_list "(uint idx)" ( (parameter_declaration "uint idx" type_identifier identifier) )))) (compound_statement "{\n  char *pcVar1;\n  \n  if (idx == 4) {\n    pcVar1 = "DW_IDX_parent";\n  }\n  else if (idx < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((idx != 2) && (pcVar1 = "DW_IDX_die_offset", idx < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (idx != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (idx != 0x2000) {\n      if (idx < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (idx != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (idx != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (idx != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }\n  return pcVar1;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (if_statement "if (idx == 4) {\n    pcVar1 = "DW_IDX_parent";\n  }\n  else if (idx < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((idx != 2) && (pcVar1 = "DW_IDX_die_offset", idx < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (idx != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (idx != 0x2000) {\n      if (idx < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (idx != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (idx != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (idx != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }" if (parenthesized_expression "(idx == 4)" ( (binary_expression "idx == 4" identifier == number_literal) )) (compound_statement "{\n    pcVar1 = "DW_IDX_parent";\n  }" { (expression_statement "pcVar1 = "DW_IDX_parent";" (assignment_expression "pcVar1 = "DW_IDX_parent"" identifier = (string_literal ""DW_IDX_parent"" " string_content ")) ;) }) (else_clause "else if (idx < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((idx != 2) && (pcVar1 = "DW_IDX_die_offset", idx < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (idx != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (idx != 0x2000) {\n      if (idx < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (idx != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (idx != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (idx != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }" else (if_statement "if (idx < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((idx != 2) && (pcVar1 = "DW_IDX_die_offset", idx < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (idx != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (idx != 0x2000) {\n      if (idx < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (idx != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (idx != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (idx != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }" if (parenthesized_expression "(idx < 5)" ( (binary_expression "idx < 5" identifier < number_literal) )) (compound_statement "{\n    pcVar1 = "DW_IDX_type_unit";\n    if ((idx != 2) && (pcVar1 = "DW_IDX_die_offset", idx < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (idx != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }" { (expression_statement "pcVar1 = "DW_IDX_type_unit";" (assignment_expression "pcVar1 = "DW_IDX_type_unit"" identifier = (string_literal ""DW_IDX_type_unit"" " string_content ")) ;) (if_statement "if ((idx != 2) && (pcVar1 = "DW_IDX_die_offset", idx < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (idx != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }" if (parenthesized_expression "((idx != 2) && (pcVar1 = "DW_IDX_die_offset", idx < 3))" ( (binary_expression "(idx != 2) && (pcVar1 = "DW_IDX_die_offset", idx < 3)" (parenthesized_expression "(idx != 2)" ( (binary_expression "idx != 2" identifier != number_literal) )) && (parenthesized_expression "(pcVar1 = "DW_IDX_die_offset", idx < 3)" ( (comma_expression "pcVar1 = "DW_IDX_die_offset", idx < 3" (assignment_expression "pcVar1 = "DW_IDX_die_offset"" identifier = (string_literal ""DW_IDX_die_offset"" " string_content ")) , (binary_expression "idx < 3" identifier < number_literal)) ))) )) (compound_statement "{\n      pcVar1 = "DW_IDX_compile_unit";\n      if (idx != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }" { (expression_statement "pcVar1 = "DW_IDX_compile_unit";" (assignment_expression "pcVar1 = "DW_IDX_compile_unit"" identifier = (string_literal ""DW_IDX_compile_unit"" " string_content ")) ;) (if_statement "if (idx != 1) {\n        pcVar1 = (char *)0x0;\n      }" if (parenthesized_expression "(idx != 1)" ( (binary_expression "idx != 1" identifier != number_literal) )) (compound_statement "{\n        pcVar1 = (char *)0x0;\n      }" { (expression_statement "pcVar1 = (char *)0x0;" (assignment_expression "pcVar1 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (return_statement "return pcVar1;" return identifier ;) })) }) (else_clause "else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (idx != 0x2000) {\n      if (idx < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (idx != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (idx != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (idx != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }" else (compound_statement "{\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (idx != 0x2000) {\n      if (idx < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (idx != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (idx != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (idx != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }" { (expression_statement "pcVar1 = "DW_IDX_GNU_internal";" (assignment_expression "pcVar1 = "DW_IDX_GNU_internal"" identifier = (string_literal ""DW_IDX_GNU_internal"" " string_content ")) ;) (if_statement "if (idx != 0x2000) {\n      if (idx < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (idx != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (idx != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (idx != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }" if (parenthesized_expression "(idx != 0x2000)" ( (binary_expression "idx != 0x2000" identifier != number_literal) )) (compound_statement "{\n      if (idx < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (idx != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (idx != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (idx != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }" { (if_statement "if (idx < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (idx != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }" if (parenthesized_expression "(idx < 0x2001)" ( (binary_expression "idx < 0x2001" identifier < number_literal) )) (compound_statement "{\n        pcVar1 = "DW_IDX_type_hash";\n        if (idx != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }" { (expression_statement "pcVar1 = "DW_IDX_type_hash";" (assignment_expression "pcVar1 = "DW_IDX_type_hash"" identifier = (string_literal ""DW_IDX_type_hash"" " string_content ")) ;) (if_statement "if (idx != 5) {\n          pcVar1 = (char *)0x0;\n        }" if (parenthesized_expression "(idx != 5)" ( (binary_expression "idx != 5" identifier != number_literal) )) (compound_statement "{\n          pcVar1 = (char *)0x0;\n        }" { (expression_statement "pcVar1 = (char *)0x0;" (assignment_expression "pcVar1 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (return_statement "return pcVar1;" return identifier ;) })) (expression_statement "pcVar1 = "DW_IDX_GNU_external";" (assignment_expression "pcVar1 = "DW_IDX_GNU_external"" identifier = (string_literal ""DW_IDX_GNU_external"" " string_content ")) ;) (if_statement "if (idx != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (idx != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }" if (parenthesized_expression "(idx != 0x2001)" ( (binary_expression "idx != 0x2001" identifier != number_literal) )) (compound_statement "{\n        pcVar1 = "DW_IDX_hi_user";\n        if (idx != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }" { (expression_statement "pcVar1 = "DW_IDX_hi_user";" (assignment_expression "pcVar1 = "DW_IDX_hi_user"" identifier = (string_literal ""DW_IDX_hi_user"" " string_content ")) ;) (if_statement "if (idx != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }" if (parenthesized_expression "(idx != 0x3fff)" ( (binary_expression "idx != 0x3fff" identifier != number_literal) )) (compound_statement "{\n          pcVar1 = (char *)0x0;\n        }" { (expression_statement "pcVar1 = (char *)0x0;" (assignment_expression "pcVar1 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (return_statement "return pcVar1;" return identifier ;) })) })) }))))) (return_statement "return pcVar1;" return identifier ;) })))
(translation_unit "char * FUN_0006ad50(uint param_1)\n\n{\n  char *pcVar1;\n  \n  if (param_1 == 4) {\n    pcVar1 = "DW_IDX_parent";\n  }\n  else if (param_1 < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }\n  return pcVar1;\n}\n\n" (function_definition "char * FUN_0006ad50(uint param_1)\n\n{\n  char *pcVar1;\n  \n  if (param_1 == 4) {\n    pcVar1 = "DW_IDX_parent";\n  }\n  else if (param_1 < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }\n  return pcVar1;\n}" primitive_type (pointer_declarator "* FUN_0006ad50(uint param_1)" * (function_declarator "FUN_0006ad50(uint param_1)" identifier (parameter_list "(uint param_1)" ( (parameter_declaration "uint param_1" type_identifier identifier) )))) (compound_statement "{\n  char *pcVar1;\n  \n  if (param_1 == 4) {\n    pcVar1 = "DW_IDX_parent";\n  }\n  else if (param_1 < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }\n  return pcVar1;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (if_statement "if (param_1 == 4) {\n    pcVar1 = "DW_IDX_parent";\n  }\n  else if (param_1 < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }" if (parenthesized_expression "(param_1 == 4)" ( (binary_expression "param_1 == 4" identifier == number_literal) )) (compound_statement "{\n    pcVar1 = "DW_IDX_parent";\n  }" { (expression_statement "pcVar1 = "DW_IDX_parent";" (assignment_expression "pcVar1 = "DW_IDX_parent"" identifier = (string_literal ""DW_IDX_parent"" " string_content ")) ;) }) (else_clause "else if (param_1 < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }" else (if_statement "if (param_1 < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }" if (parenthesized_expression "(param_1 < 5)" ( (binary_expression "param_1 < 5" identifier < number_literal) )) (compound_statement "{\n    pcVar1 = "DW_IDX_type_unit";\n    if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }" { (expression_statement "pcVar1 = "DW_IDX_type_unit";" (assignment_expression "pcVar1 = "DW_IDX_type_unit"" identifier = (string_literal ""DW_IDX_type_unit"" " string_content ")) ;) (if_statement "if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }" if (parenthesized_expression "((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3))" ( (binary_expression "(param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)" (parenthesized_expression "(param_1 != 2)" ( (binary_expression "param_1 != 2" identifier != number_literal) )) && (parenthesized_expression "(pcVar1 = "DW_IDX_die_offset", param_1 < 3)" ( (comma_expression "pcVar1 = "DW_IDX_die_offset", param_1 < 3" (assignment_expression "pcVar1 = "DW_IDX_die_offset"" identifier = (string_literal ""DW_IDX_die_offset"" " string_content ")) , (binary_expression "param_1 < 3" identifier < number_literal)) ))) )) (compound_statement "{\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }" { (expression_statement "pcVar1 = "DW_IDX_compile_unit";" (assignment_expression "pcVar1 = "DW_IDX_compile_unit"" identifier = (string_literal ""DW_IDX_compile_unit"" " string_content ")) ;) (if_statement "if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }" if (parenthesized_expression "(param_1 != 1)" ( (binary_expression "param_1 != 1" identifier != number_literal) )) (compound_statement "{\n        pcVar1 = (char *)0x0;\n      }" { (expression_statement "pcVar1 = (char *)0x0;" (assignment_expression "pcVar1 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (return_statement "return pcVar1;" return identifier ;) })) }) (else_clause "else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }" else (compound_statement "{\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }" { (expression_statement "pcVar1 = "DW_IDX_GNU_internal";" (assignment_expression "pcVar1 = "DW_IDX_GNU_internal"" identifier = (string_literal ""DW_IDX_GNU_internal"" " string_content ")) ;) (if_statement "if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }" if (parenthesized_expression "(param_1 != 0x2000)" ( (binary_expression "param_1 != 0x2000" identifier != number_literal) )) (compound_statement "{\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }" { (if_statement "if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }" if (parenthesized_expression "(param_1 < 0x2001)" ( (binary_expression "param_1 < 0x2001" identifier < number_literal) )) (compound_statement "{\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }" { (expression_statement "pcVar1 = "DW_IDX_type_hash";" (assignment_expression "pcVar1 = "DW_IDX_type_hash"" identifier = (string_literal ""DW_IDX_type_hash"" " string_content ")) ;) (if_statement "if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }" if (parenthesized_expression "(param_1 != 5)" ( (binary_expression "param_1 != 5" identifier != number_literal) )) (compound_statement "{\n          pcVar1 = (char *)0x0;\n        }" { (expression_statement "pcVar1 = (char *)0x0;" (assignment_expression "pcVar1 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (return_statement "return pcVar1;" return identifier ;) })) (expression_statement "pcVar1 = "DW_IDX_GNU_external";" (assignment_expression "pcVar1 = "DW_IDX_GNU_external"" identifier = (string_literal ""DW_IDX_GNU_external"" " string_content ")) ;) (if_statement "if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }" if (parenthesized_expression "(param_1 != 0x2001)" ( (binary_expression "param_1 != 0x2001" identifier != number_literal) )) (compound_statement "{\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }" { (expression_statement "pcVar1 = "DW_IDX_hi_user";" (assignment_expression "pcVar1 = "DW_IDX_hi_user"" identifier = (string_literal ""DW_IDX_hi_user"" " string_content ")) ;) (if_statement "if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }" if (parenthesized_expression "(param_1 != 0x3fff)" ( (binary_expression "param_1 != 0x3fff" identifier != number_literal) )) (compound_statement "{\n          pcVar1 = (char *)0x0;\n        }" { (expression_statement "pcVar1 = (char *)0x0;" (assignment_expression "pcVar1 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (return_statement "return pcVar1;" return identifier ;) })) })) }))))) (return_statement "return pcVar1;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (string_literal " string_content ")) , (binary_expression IDENT < LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) (return_statement return IDENT ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) (return_statement return IDENT ;) })) })) }))))) (return_statement return IDENT ;) })))
(function_definition "char * FUN_0006ad50(uint param_1)\n\n{\n  char *pcVar1;\n  \n  if (param_1 == 4) {\n    pcVar1 = "DW_IDX_parent";\n  }\n  else if (param_1 < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }\n  return pcVar1;\n}" (primitive_type "char") (pointer_declarator "* FUN_0006ad50(uint param_1)" (* "*") (function_declarator "FUN_0006ad50(uint param_1)" (identifier "FUN_0006ad50") (parameter_list "(uint param_1)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) () ")")))) (compound_statement "{\n  char *pcVar1;\n  \n  if (param_1 == 4) {\n    pcVar1 = "DW_IDX_parent";\n  }\n  else if (param_1 < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }\n  return pcVar1;\n}" ({ "{") (declaration "char *pcVar1;" (primitive_type "char") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (if_statement "if (param_1 == 4) {\n    pcVar1 = "DW_IDX_parent";\n  }\n  else if (param_1 < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(param_1 == 4)" (( "(") (binary_expression "param_1 == 4" (identifier "param_1") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n    pcVar1 = "DW_IDX_parent";\n  }" ({ "{") (expression_statement "pcVar1 = "DW_IDX_parent";" (assignment_expression "pcVar1 = "DW_IDX_parent"" (identifier "pcVar1") (= "=") (string_literal ""DW_IDX_parent"" (" """) (string_content "DW_IDX_parent") (" """))) (; ";")) (} "}")) (else_clause "else if (param_1 < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }" (else "else") (if_statement "if (param_1 < 5) {\n    pcVar1 = "DW_IDX_type_unit";\n    if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }\n  else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(param_1 < 5)" (( "(") (binary_expression "param_1 < 5" (identifier "param_1") (< "<") (number_literal "5")) () ")")) (compound_statement "{\n    pcVar1 = "DW_IDX_type_unit";\n    if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }\n  }" ({ "{") (expression_statement "pcVar1 = "DW_IDX_type_unit";" (assignment_expression "pcVar1 = "DW_IDX_type_unit"" (identifier "pcVar1") (= "=") (string_literal ""DW_IDX_type_unit"" (" """) (string_content "DW_IDX_type_unit") (" """))) (; ";")) (if_statement "if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }" (if "if") (parenthesized_expression "((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3))" (( "(") (binary_expression "(param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)" (parenthesized_expression "(param_1 != 2)" (( "(") (binary_expression "param_1 != 2" (identifier "param_1") (!= "!=") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(pcVar1 = "DW_IDX_die_offset", param_1 < 3)" (( "(") (comma_expression "pcVar1 = "DW_IDX_die_offset", param_1 < 3" (assignment_expression "pcVar1 = "DW_IDX_die_offset"" (identifier "pcVar1") (= "=") (string_literal ""DW_IDX_die_offset"" (" """) (string_content "DW_IDX_die_offset") (" """))) (, ",") (binary_expression "param_1 < 3" (identifier "param_1") (< "<") (number_literal "3"))) () ")"))) () ")")) (compound_statement "{\n      pcVar1 = "DW_IDX_compile_unit";\n      if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }\n      return pcVar1;\n    }" ({ "{") (expression_statement "pcVar1 = "DW_IDX_compile_unit";" (assignment_expression "pcVar1 = "DW_IDX_compile_unit"" (identifier "pcVar1") (= "=") (string_literal ""DW_IDX_compile_unit"" (" """) (string_content "DW_IDX_compile_unit") (" """))) (; ";")) (if_statement "if (param_1 != 1) {\n        pcVar1 = (char *)0x0;\n      }" (if "if") (parenthesized_expression "(param_1 != 1)" (( "(") (binary_expression "param_1 != 1" (identifier "param_1") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n        pcVar1 = (char *)0x0;\n      }" ({ "{") (expression_statement "pcVar1 = (char *)0x0;" (assignment_expression "pcVar1 = (char *)0x0" (identifier "pcVar1") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (return_statement "return pcVar1;" (return "return") (identifier "pcVar1") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    pcVar1 = "DW_IDX_GNU_internal";\n    if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }\n  }" ({ "{") (expression_statement "pcVar1 = "DW_IDX_GNU_internal";" (assignment_expression "pcVar1 = "DW_IDX_GNU_internal"" (identifier "pcVar1") (= "=") (string_literal ""DW_IDX_GNU_internal"" (" """) (string_content "DW_IDX_GNU_internal") (" """))) (; ";")) (if_statement "if (param_1 != 0x2000) {\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }" (if "if") (parenthesized_expression "(param_1 != 0x2000)" (( "(") (binary_expression "param_1 != 0x2000" (identifier "param_1") (!= "!=") (number_literal "0x2000")) () ")")) (compound_statement "{\n      if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n      pcVar1 = "DW_IDX_GNU_external";\n      if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }\n    }" ({ "{") (if_statement "if (param_1 < 0x2001) {\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }" (if "if") (parenthesized_expression "(param_1 < 0x2001)" (( "(") (binary_expression "param_1 < 0x2001" (identifier "param_1") (< "<") (number_literal "0x2001")) () ")")) (compound_statement "{\n        pcVar1 = "DW_IDX_type_hash";\n        if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }" ({ "{") (expression_statement "pcVar1 = "DW_IDX_type_hash";" (assignment_expression "pcVar1 = "DW_IDX_type_hash"" (identifier "pcVar1") (= "=") (string_literal ""DW_IDX_type_hash"" (" """) (string_content "DW_IDX_type_hash") (" """))) (; ";")) (if_statement "if (param_1 != 5) {\n          pcVar1 = (char *)0x0;\n        }" (if "if") (parenthesized_expression "(param_1 != 5)" (( "(") (binary_expression "param_1 != 5" (identifier "param_1") (!= "!=") (number_literal "5")) () ")")) (compound_statement "{\n          pcVar1 = (char *)0x0;\n        }" ({ "{") (expression_statement "pcVar1 = (char *)0x0;" (assignment_expression "pcVar1 = (char *)0x0" (identifier "pcVar1") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (return_statement "return pcVar1;" (return "return") (identifier "pcVar1") (; ";")) (} "}"))) (expression_statement "pcVar1 = "DW_IDX_GNU_external";" (assignment_expression "pcVar1 = "DW_IDX_GNU_external"" (identifier "pcVar1") (= "=") (string_literal ""DW_IDX_GNU_external"" (" """) (string_content "DW_IDX_GNU_external") (" """))) (; ";")) (if_statement "if (param_1 != 0x2001) {\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }" (if "if") (parenthesized_expression "(param_1 != 0x2001)" (( "(") (binary_expression "param_1 != 0x2001" (identifier "param_1") (!= "!=") (number_literal "0x2001")) () ")")) (compound_statement "{\n        pcVar1 = "DW_IDX_hi_user";\n        if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }\n        return pcVar1;\n      }" ({ "{") (expression_statement "pcVar1 = "DW_IDX_hi_user";" (assignment_expression "pcVar1 = "DW_IDX_hi_user"" (identifier "pcVar1") (= "=") (string_literal ""DW_IDX_hi_user"" (" """) (string_content "DW_IDX_hi_user") (" """))) (; ";")) (if_statement "if (param_1 != 0x3fff) {\n          pcVar1 = (char *)0x0;\n        }" (if "if") (parenthesized_expression "(param_1 != 0x3fff)" (( "(") (binary_expression "param_1 != 0x3fff" (identifier "param_1") (!= "!=") (number_literal "0x3fff")) () ")")) (compound_statement "{\n          pcVar1 = (char *)0x0;\n        }" ({ "{") (expression_statement "pcVar1 = (char *)0x0;" (assignment_expression "pcVar1 = (char *)0x0" (identifier "pcVar1") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (return_statement "return pcVar1;" (return "return") (identifier "pcVar1") (; ";")) (} "}"))) (} "}"))) (} "}")))))) (return_statement "return pcVar1;" (return "return") (identifier "pcVar1") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */

char * function_1(type_1 var_1)

{
  char *pcVar1;
  
  if (var_1 == 4) {
    pcVar1 = "DW_IDX_parent";
  }
  else if (var_1 < 5) {
    pcVar1 = "DW_IDX_type_unit";
    if ((var_1 != 2) && (pcVar1 = "DW_IDX_die_offset", var_1 < 3)) {
      pcVar1 = "DW_IDX_compile_unit";
      if (var_1 != 1) {
        pcVar1 = (char *)0x0;
      }
      return pcVar1;
    }
  }
  else {
    pcVar1 = "DW_IDX_GNU_internal";
    if (var_1 != 0x2000) {
      if (var_1 < 0x2001) {
        pcVar1 = "DW_IDX_type_hash";
        if (var_1 != 5) {
          pcVar1 = (char *)0x0;
        }
        return pcVar1;
      }
      pcVar1 = "DW_IDX_GNU_external";
      if (var_1 != 0x2001) {
        pcVar1 = "DW_IDX_hi_user";
        if (var_1 != 0x3fff) {
          pcVar1 = (char *)0x0;
        }
        return pcVar1;
      }
    }
  }
  return pcVar1;
}


(translation_unit (function_definition type: (primitive_type) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (string_literal (string_content))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) (return_statement (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) (return_statement (identifier))))))))))) (return_statement (identifier)))))

/* WARNING: Function: __i686.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */

char * MASKED(uint param_1)

{
  char *pcVar1;
  
  if (param_1 == 4) {
    pcVar1 = "DW_IDX_parent";
  }
  else if (param_1 < 5) {
    pcVar1 = "DW_IDX_type_unit";
    if ((param_1 != 2) && (pcVar1 = "DW_IDX_die_offset", param_1 < 3)) {
      pcVar1 = "DW_IDX_compile_unit";
      if (param_1 != 1) {
        pcVar1 = (char *)0x0;
      }
      return pcVar1;
    }
  }
  else {
    pcVar1 = "DW_IDX_GNU_internal";
    if (param_1 != 0x2000) {
      if (param_1 < 0x2001) {
        pcVar1 = "DW_IDX_type_hash";
        if (param_1 != 5) {
          pcVar1 = (char *)0x0;
        }
        return pcVar1;
      }
      pcVar1 = "DW_IDX_GNU_external";
      if (param_1 != 0x2001) {
        pcVar1 = "DW_IDX_hi_user";
        if (param_1 != 0x3fff) {
          pcVar1 = (char *)0x0;
        }
        return pcVar1;
      }
    }
  }
  return pcVar1;
}

