
bfd_boolean tg_class_static_member(void *p,char *name,char *physname,debug_visibility visibility)

{
  bfd_boolean bVar1;
  size_t sVar2;
  size_t sVar3;
  char *__s;
  char *__ptr;
  char *pcVar4;
  
  sVar2 = strlen(name);
  sVar3 = strlen(*(char **)(**(long **)((long)p + 0x10) + 8));
  __s = (char *)xmalloc((long)((int)sVar2 + 3 + (int)sVar3));
  sprintf(__s,"%s::%s",*(undefined8 *)(**(long **)((long)p + 0x10) + 8),name);
  bVar1 = substitute_type((pr_handle *)p,__s);
  if (bVar1 != 0) {
    bVar1 = prepend_type((pr_handle *)((long)p + 0x10),"static ");
    if (bVar1 != 0) {
      __ptr = pop_type((pr_handle *)((long)p + 0x10));
      if (__ptr == (char *)0x0) {
        free(__s);
        return 0;
      }
      bVar1 = tg_fix_visibility(*(pr_handle **)((long)p + 0x10),visibility);
      if (bVar1 == 0) {
        free(__ptr);
        free(__s);
        return 0;
      }
      pcVar4 = visibility_name(visibility);
                    /* WARNING: Load size is inaccurate */
      fprintf(*p,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",name,
              *(undefined8 *)((long)p + 0x20),__ptr,*(undefined8 *)(*(long *)((long)p + 0x10) + 8),
              pcVar4);
      free(__ptr);
      free(__s);
      return 1;
    }
  }
  free(__s);
  return bVar1;
}



undefined1  [16]
FUN_001272c0(undefined8 *param_1,char *param_2,undefined8 param_3,undefined4 param_4)

{
  undefined1 auVar1 [16];
  uint uVar2;
  int iVar3;
  size_t sVar4;
  size_t sVar5;
  char *__s;
  void *__ptr;
  undefined8 uVar6;
  ulong uVar7;
  undefined8 extraout_RDX;
  ulong extraout_RDX_00;
  undefined8 extraout_RDX_01;
  undefined1 auVar8 [16];
  undefined1 auVar9 [16];
  
  sVar4 = strlen(param_2);
  sVar5 = strlen(*(char **)(*(long *)param_1[2] + 8));
  __s = (char *)xmalloc((long)((int)sVar4 + 3 + (int)sVar5));
  sprintf(__s,"%s::%s",*(undefined8 *)(*(long *)param_1[2] + 8),param_2);
  uVar2 = FUN_00127110(param_1,__s);
  if (uVar2 != 0) {
    uVar2 = FUN_00126fe0(param_1 + 2,"static ");
    if (uVar2 != 0) {
      __ptr = (void *)FUN_00126930(param_1 + 2);
      if (__ptr != (void *)0x0) {
        iVar3 = FUN_00126d60(param_1[2],param_4);
        if (iVar3 != 0) {
          uVar6 = FUN_00126820(param_4);
          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,
                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);
          free(__ptr);
          free(__s);
          auVar8._8_8_ = 0x127375;
          auVar8._0_8_ = 1;
          return auVar8;
        }
        free(__ptr);
        free(__s);
        auVar1._8_8_ = 0;
        auVar1._0_8_ = extraout_RDX_00;
        return auVar1 << 0x40;
      }
      free(__s);
      uVar7 = 0;
      uVar6 = extraout_RDX_01;
      goto LAB_001273d8;
    }
  }
  free(__s);
  uVar7 = (ulong)uVar2;
  uVar6 = extraout_RDX;
LAB_001273d8:
  auVar9._8_8_ = uVar6;
  auVar9._0_8_ = uVar7;
  return auVar9;
}


PUSH R14
PUSH R13
PUSH R12
MOV R12D,ECX
PUSH RBP
MOV RBP,RSI
PUSH RBX
MOV RBX,RDI
MOV RDI,RSI
SUB RSP,0x10
CALL 0x00107250
MOV R13,RAX
MOV RAX,qword ptr [RBX + 0x10]
MOV RAX,qword ptr [RAX]
MOV RDI,qword ptr [RAX + 0x8]
CALL 0x00107250
LEA EDI,[R13 + RAX*0x1 + 0x3]
MOVSXD RDI,EDI
CALL 0x00107350
LEA RSI,[0x145847]
MOV RCX,RBP
MOV R13,RAX
MOV RAX,qword ptr [RBX + 0x10]
MOV RDI,R13
MOV RAX,qword ptr [RAX]
MOV RDX,qword ptr [RAX + 0x8]
XOR EAX,EAX
CALL 0x00107760
MOV RSI,R13
MOV RDI,RBX
CALL 0x00127110
TEST EAX,EAX
JZ 0x001273c8
LEA R14,[RBX + 0x10]
LEA RSI,[0x14584e]
MOV RDI,R14
CALL 0x00126fe0
TEST EAX,EAX
JZ 0x001273c8
MOV RDI,R14
CALL 0x00126930
MOV R14,RAX
TEST RAX,RAX
JZ 0x00127410
MOV RDI,qword ptr [RBX + 0x10]
MOV ESI,R12D
CALL 0x00126d60
TEST EAX,EAX
JZ 0x001273e8
MOV EDI,R12D
CALL 0x00126820
MOV RDX,qword ptr [RBX + 0x10]
SUB RSP,0x8
MOV RDI,qword ptr [RBX]
MOV RCX,qword ptr [RBX + 0x20]
MOV R8,R14
LEA RSI,[0x145bc8]
MOV R9,qword ptr [RDX + 0x8]
PUSH RAX
MOV RDX,RBP
XOR EAX,EAX
CALL 0x00107850
MOV RDI,R14
CALL 0x00107070
MOV RDI,R13
CALL 0x00107070
POP RAX
POP RDX
MOV EAX,0x1
ADD RSP,0x10
POP RBX
POP RBP
POP R12
POP R13
POP R14
RET
MOV RDI,R13
MOV dword ptr [RSP + 0xc],EAX
CALL 0x00107070
MOV EAX,dword ptr [RSP + 0xc]
ADD RSP,0x10
POP RBX
POP RBP
POP R12
POP R13
POP R14
RET
MOV RDI,R14
MOV dword ptr [RSP + 0xc],EAX
CALL 0x00107070
MOV RDI,R13
CALL 0x00107070
MOV EAX,dword ptr [RSP + 0xc]
ADD RSP,0x10
POP RBX
POP RBP
POP R12
POP R13
POP R14
RET
MOV RDI,R13
CALL 0x00107070
XOR EAX,EAX
JMP 0x001273d8
(translation_unit "undefined1  [16]\nFUN_001272c0(undefined8 *param_1,char *param_2,undefined8 param_3,undefined4 param_4)\n\n{\n  undefined1 auVar1 [16];\n  uint uVar2;\n  int iVar3;\n  size_t sVar4;\n  size_t sVar5;\n  char *__s;\n  void *__ptr;\n  undefined8 uVar6;\n  ulong uVar7;\n  undefined8 extraout_RDX;\n  ulong extraout_RDX_00;\n  undefined8 extraout_RDX_01;\n  undefined1 auVar8 [16];\n  undefined1 auVar9 [16];\n  \n  sVar4 = strlen(param_2);\n  sVar5 = strlen(*(char **)(*(long *)param_1[2] + 8));\n  __s = (char *)xmalloc((long)((int)sVar4 + 3 + (int)sVar5));\n  sprintf(__s,"%s::%s",*(undefined8 *)(*(long *)param_1[2] + 8),param_2);\n  uVar2 = FUN_00127110(param_1,__s);\n  if (uVar2 != 0) {\n    uVar2 = FUN_00126fe0(param_1 + 2,"static ");\n    if (uVar2 != 0) {\n      __ptr = (void *)FUN_00126930(param_1 + 2);\n      if (__ptr != (void *)0x0) {\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }\n      free(__s);\n      uVar7 = 0;\n      uVar6 = extraout_RDX_01;\n      goto LAB_001273d8;\n    }\n  }\n  free(__s);\n  uVar7 = (ulong)uVar2;\n  uVar6 = extraout_RDX;\nLAB_001273d8:\n  auVar9._8_8_ = uVar6;\n  auVar9._0_8_ = uVar7;\n  return auVar9;\n}\n\n" (expression_statement "undefined1  [16]" (subscript_expression "undefined1  [16]" identifier [ number_literal ]) ;) (expression_statement "FUN_001272c0(undefined8 *param_1,char *param_2,undefined8 param_3,undefined4 param_4)" (call_expression "FUN_001272c0(undefined8 *param_1,char *param_2,undefined8 param_3,undefined4 param_4)" identifier (argument_list "(undefined8 *param_1,char *param_2,undefined8 param_3,undefined4 param_4)" ( (binary_expression "undefined8 *param_1" identifier * identifier) , (binary_expression "char *param_2" identifier * identifier) , identifier (ERROR "param_3" identifier) , identifier (ERROR "param_4" identifier) ))) ;) (compound_statement "{\n  undefined1 auVar1 [16];\n  uint uVar2;\n  int iVar3;\n  size_t sVar4;\n  size_t sVar5;\n  char *__s;\n  void *__ptr;\n  undefined8 uVar6;\n  ulong uVar7;\n  undefined8 extraout_RDX;\n  ulong extraout_RDX_00;\n  undefined8 extraout_RDX_01;\n  undefined1 auVar8 [16];\n  undefined1 auVar9 [16];\n  \n  sVar4 = strlen(param_2);\n  sVar5 = strlen(*(char **)(*(long *)param_1[2] + 8));\n  __s = (char *)xmalloc((long)((int)sVar4 + 3 + (int)sVar5));\n  sprintf(__s,"%s::%s",*(undefined8 *)(*(long *)param_1[2] + 8),param_2);\n  uVar2 = FUN_00127110(param_1,__s);\n  if (uVar2 != 0) {\n    uVar2 = FUN_00126fe0(param_1 + 2,"static ");\n    if (uVar2 != 0) {\n      __ptr = (void *)FUN_00126930(param_1 + 2);\n      if (__ptr != (void *)0x0) {\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }\n      free(__s);\n      uVar7 = 0;\n      uVar6 = extraout_RDX_01;\n      goto LAB_001273d8;\n    }\n  }\n  free(__s);\n  uVar7 = (ulong)uVar2;\n  uVar6 = extraout_RDX;\nLAB_001273d8:\n  auVar9._8_8_ = uVar6;\n  auVar9._0_8_ = uVar7;\n  return auVar9;\n}" { (declaration "undefined1 auVar1 [16];" type_identifier (array_declarator "auVar1 [16]" identifier [ number_literal ]) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "size_t sVar4;" primitive_type identifier ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "void *__ptr;" primitive_type (pointer_declarator "*__ptr" * identifier) ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "ulong uVar7;" type_identifier identifier ;) (declaration "undefined8 extraout_RDX;" type_identifier identifier ;) (declaration "ulong extraout_RDX_00;" type_identifier identifier ;) (declaration "undefined8 extraout_RDX_01;" type_identifier identifier ;) (declaration "undefined1 auVar8 [16];" type_identifier (array_declarator "auVar8 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar9 [16];" type_identifier (array_declarator "auVar9 [16]" identifier [ number_literal ]) ;) (expression_statement "sVar4 = strlen(param_2);" (assignment_expression "sVar4 = strlen(param_2)" identifier = (call_expression "strlen(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "sVar5 = strlen(*(char **)(*(long *)param_1[2] + 8));" (assignment_expression "sVar5 = strlen(*(char **)(*(long *)param_1[2] + 8))" identifier = (call_expression "strlen(*(char **)(*(long *)param_1[2] + 8))" identifier (argument_list "(*(char **)(*(long *)param_1[2] + 8))" ( (pointer_expression "*(char **)(*(long *)param_1[2] + 8)" * (cast_expression "(char **)(*(long *)param_1[2] + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_1[2] + 8)" ( (binary_expression "*(long *)param_1[2] + 8" (pointer_expression "*(long *)param_1[2]" * (cast_expression "(long *)param_1[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) + number_literal) )))) )))) ;) (expression_statement "__s = (char *)xmalloc((long)((int)sVar4 + 3 + (int)sVar5));" (assignment_expression "__s = (char *)xmalloc((long)((int)sVar4 + 3 + (int)sVar5))" identifier = (cast_expression "(char *)xmalloc((long)((int)sVar4 + 3 + (int)sVar5))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc((long)((int)sVar4 + 3 + (int)sVar5))" identifier (argument_list "((long)((int)sVar4 + 3 + (int)sVar5))" ( (cast_expression "(long)((int)sVar4 + 3 + (int)sVar5)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((int)sVar4 + 3 + (int)sVar5)" ( (binary_expression "(int)sVar4 + 3 + (int)sVar5" (binary_expression "(int)sVar4 + 3" (cast_expression "(int)sVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) + (cast_expression "(int)sVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))))) ;) (expression_statement "sprintf(__s,"%s::%s",*(undefined8 *)(*(long *)param_1[2] + 8),param_2);" (call_expression "sprintf(__s,"%s::%s",*(undefined8 *)(*(long *)param_1[2] + 8),param_2)" identifier (argument_list "(__s,"%s::%s",*(undefined8 *)(*(long *)param_1[2] + 8),param_2)" ( identifier , (string_literal ""%s::%s"" " string_content ") , (pointer_expression "*(undefined8 *)(*(long *)param_1[2] + 8)" * (cast_expression "(undefined8 *)(*(long *)param_1[2] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)param_1[2] + 8)" ( (binary_expression "*(long *)param_1[2] + 8" (pointer_expression "*(long *)param_1[2]" * (cast_expression "(long *)param_1[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) + number_literal) )))) , identifier ))) ;) (expression_statement "uVar2 = FUN_00127110(param_1,__s);" (assignment_expression "uVar2 = FUN_00127110(param_1,__s)" identifier = (call_expression "FUN_00127110(param_1,__s)" identifier (argument_list "(param_1,__s)" ( identifier , identifier )))) ;) (if_statement "if (uVar2 != 0) {\n    uVar2 = FUN_00126fe0(param_1 + 2,"static ");\n    if (uVar2 != 0) {\n      __ptr = (void *)FUN_00126930(param_1 + 2);\n      if (__ptr != (void *)0x0) {\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }\n      free(__s);\n      uVar7 = 0;\n      uVar6 = extraout_RDX_01;\n      goto LAB_001273d8;\n    }\n  }" if (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar2 = FUN_00126fe0(param_1 + 2,"static ");\n    if (uVar2 != 0) {\n      __ptr = (void *)FUN_00126930(param_1 + 2);\n      if (__ptr != (void *)0x0) {\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }\n      free(__s);\n      uVar7 = 0;\n      uVar6 = extraout_RDX_01;\n      goto LAB_001273d8;\n    }\n  }" { (expression_statement "uVar2 = FUN_00126fe0(param_1 + 2,"static ");" (assignment_expression "uVar2 = FUN_00126fe0(param_1 + 2,"static ")" identifier = (call_expression "FUN_00126fe0(param_1 + 2,"static ")" identifier (argument_list "(param_1 + 2,"static ")" ( (binary_expression "param_1 + 2" identifier + number_literal) , (string_literal ""static "" " string_content ") )))) ;) (if_statement "if (uVar2 != 0) {\n      __ptr = (void *)FUN_00126930(param_1 + 2);\n      if (__ptr != (void *)0x0) {\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }\n      free(__s);\n      uVar7 = 0;\n      uVar6 = extraout_RDX_01;\n      goto LAB_001273d8;\n    }" if (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      __ptr = (void *)FUN_00126930(param_1 + 2);\n      if (__ptr != (void *)0x0) {\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }\n      free(__s);\n      uVar7 = 0;\n      uVar6 = extraout_RDX_01;\n      goto LAB_001273d8;\n    }" { (expression_statement "__ptr = (void *)FUN_00126930(param_1 + 2);" (assignment_expression "__ptr = (void *)FUN_00126930(param_1 + 2)" identifier = (cast_expression "(void *)FUN_00126930(param_1 + 2)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00126930(param_1 + 2)" identifier (argument_list "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) ))))) ;) (if_statement "if (__ptr != (void *)0x0) {\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }" if (parenthesized_expression "(__ptr != (void *)0x0)" ( (binary_expression "__ptr != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }" { (expression_statement "iVar3 = FUN_00126d60(param_1[2],param_4);" (assignment_expression "iVar3 = FUN_00126d60(param_1[2],param_4)" identifier = (call_expression "FUN_00126d60(param_1[2],param_4)" identifier (argument_list "(param_1[2],param_4)" ( (subscript_expression "param_1[2]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }" { (expression_statement "uVar6 = FUN_00126820(param_4);" (assignment_expression "uVar6 = FUN_00126820(param_4)" identifier = (call_expression "FUN_00126820(param_4)" identifier (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);" (call_expression "fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6)" identifier (argument_list "((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6)" ( (cast_expression "(FILE *)*param_1" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier)) , (string_literal ""%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , (subscript_expression "param_1[4]" identifier [ number_literal ]) , identifier , (pointer_expression "*(undefined8 *)(param_1[2] + 8)" * (cast_expression "(undefined8 *)(param_1[2] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[2] + 8)" ( (binary_expression "param_1[2] + 8" (subscript_expression "param_1[2]" identifier [ number_literal ]) + number_literal) )))) , identifier ))) ;) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "free(__s);" (call_expression "free(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (expression_statement "auVar8._8_8_ = 0x127375;" (assignment_expression "auVar8._8_8_ = 0x127375" (field_expression "auVar8._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar8._0_8_ = 1;" (assignment_expression "auVar8._0_8_ = 1" (field_expression "auVar8._0_8_" identifier . field_identifier) = number_literal) ;) (return_statement "return auVar8;" return identifier ;) })) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "free(__s);" (call_expression "free(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (expression_statement "auVar1._8_8_ = 0;" (assignment_expression "auVar1._8_8_ = 0" (field_expression "auVar1._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar1._0_8_ = extraout_RDX_00;" (assignment_expression "auVar1._0_8_ = extraout_RDX_00" (field_expression "auVar1._0_8_" identifier . field_identifier) = identifier) ;) (return_statement "return auVar1 << 0x40;" return (binary_expression "auVar1 << 0x40" identifier << number_literal) ;) })) (expression_statement "free(__s);" (call_expression "free(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (expression_statement "uVar6 = extraout_RDX_01;" (assignment_expression "uVar6 = extraout_RDX_01" identifier = identifier) ;) (goto_statement "goto LAB_001273d8;" goto statement_identifier ;) })) })) (expression_statement "free(__s);" (call_expression "free(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (expression_statement "uVar7 = (ulong)uVar2;" (assignment_expression "uVar7 = (ulong)uVar2" identifier = (cast_expression "(ulong)uVar2" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar6 = extraout_RDX;" (assignment_expression "uVar6 = extraout_RDX" identifier = identifier) ;) (labeled_statement "LAB_001273d8:\n  auVar9._8_8_ = uVar6;" statement_identifier : (expression_statement "auVar9._8_8_ = uVar6;" (assignment_expression "auVar9._8_8_ = uVar6" (field_expression "auVar9._8_8_" identifier . field_identifier) = identifier) ;)) (expression_statement "auVar9._0_8_ = uVar7;" (assignment_expression "auVar9._0_8_ = uVar7" (field_expression "auVar9._0_8_" identifier . field_identifier) = identifier) ;) (return_statement "return auVar9;" return identifier ;) }))
(translation_unit "bfd_boolean tg_class_static_member(void *p,char *name,char *physname,debug_visibility visibility)\n\n{\n  bfd_boolean bVar1;\n  size_t sVar2;\n  size_t sVar3;\n  char *__s;\n  char *__ptr;\n  char *pcVar4;\n  \n  sVar2 = strlen(name);\n  sVar3 = strlen(*(char **)(**(long **)((long)p + 0x10) + 8));\n  __s = (char *)xmalloc((long)((int)sVar2 + 3 + (int)sVar3));\n  sprintf(__s,"%s::%s",*(undefined8 *)(**(long **)((long)p + 0x10) + 8),name);\n  bVar1 = substitute_type((pr_handle *)p,__s);\n  if (bVar1 != 0) {\n    bVar1 = prepend_type((pr_handle *)((long)p + 0x10),"static ");\n    if (bVar1 != 0) {\n      __ptr = pop_type((pr_handle *)((long)p + 0x10));\n      if (__ptr == (char *)0x0) {\n        free(__s);\n        return 0;\n      }\n      bVar1 = tg_fix_visibility(*(pr_handle **)((long)p + 0x10),visibility);\n      if (bVar1 == 0) {\n        free(__ptr);\n        free(__s);\n        return 0;\n      }\n      pcVar4 = visibility_name(visibility);\n                    /* WARNING: Load size is inaccurate */\n      fprintf(*p,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",name,\n              *(undefined8 *)((long)p + 0x20),__ptr,*(undefined8 *)(*(long *)((long)p + 0x10) + 8),\n              pcVar4);\n      free(__ptr);\n      free(__s);\n      return 1;\n    }\n  }\n  free(__s);\n  return bVar1;\n}\n\n" (function_definition "bfd_boolean tg_class_static_member(void *p,char *name,char *physname,debug_visibility visibility)\n\n{\n  bfd_boolean bVar1;\n  size_t sVar2;\n  size_t sVar3;\n  char *__s;\n  char *__ptr;\n  char *pcVar4;\n  \n  sVar2 = strlen(name);\n  sVar3 = strlen(*(char **)(**(long **)((long)p + 0x10) + 8));\n  __s = (char *)xmalloc((long)((int)sVar2 + 3 + (int)sVar3));\n  sprintf(__s,"%s::%s",*(undefined8 *)(**(long **)((long)p + 0x10) + 8),name);\n  bVar1 = substitute_type((pr_handle *)p,__s);\n  if (bVar1 != 0) {\n    bVar1 = prepend_type((pr_handle *)((long)p + 0x10),"static ");\n    if (bVar1 != 0) {\n      __ptr = pop_type((pr_handle *)((long)p + 0x10));\n      if (__ptr == (char *)0x0) {\n        free(__s);\n        return 0;\n      }\n      bVar1 = tg_fix_visibility(*(pr_handle **)((long)p + 0x10),visibility);\n      if (bVar1 == 0) {\n        free(__ptr);\n        free(__s);\n        return 0;\n      }\n      pcVar4 = visibility_name(visibility);\n                    /* WARNING: Load size is inaccurate */\n      fprintf(*p,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",name,\n              *(undefined8 *)((long)p + 0x20),__ptr,*(undefined8 *)(*(long *)((long)p + 0x10) + 8),\n              pcVar4);\n      free(__ptr);\n      free(__s);\n      return 1;\n    }\n  }\n  free(__s);\n  return bVar1;\n}" type_identifier (function_declarator "tg_class_static_member(void *p,char *name,char *physname,debug_visibility visibility)" identifier (parameter_list "(void *p,char *name,char *physname,debug_visibility visibility)" ( (parameter_declaration "void *p" primitive_type (pointer_declarator "*p" * identifier)) , (parameter_declaration "char *name" primitive_type (pointer_declarator "*name" * identifier)) , (parameter_declaration "char *physname" primitive_type (pointer_declarator "*physname" * identifier)) , (parameter_declaration "debug_visibility visibility" type_identifier identifier) ))) (compound_statement "{\n  bfd_boolean bVar1;\n  size_t sVar2;\n  size_t sVar3;\n  char *__s;\n  char *__ptr;\n  char *pcVar4;\n  \n  sVar2 = strlen(name);\n  sVar3 = strlen(*(char **)(**(long **)((long)p + 0x10) + 8));\n  __s = (char *)xmalloc((long)((int)sVar2 + 3 + (int)sVar3));\n  sprintf(__s,"%s::%s",*(undefined8 *)(**(long **)((long)p + 0x10) + 8),name);\n  bVar1 = substitute_type((pr_handle *)p,__s);\n  if (bVar1 != 0) {\n    bVar1 = prepend_type((pr_handle *)((long)p + 0x10),"static ");\n    if (bVar1 != 0) {\n      __ptr = pop_type((pr_handle *)((long)p + 0x10));\n      if (__ptr == (char *)0x0) {\n        free(__s);\n        return 0;\n      }\n      bVar1 = tg_fix_visibility(*(pr_handle **)((long)p + 0x10),visibility);\n      if (bVar1 == 0) {\n        free(__ptr);\n        free(__s);\n        return 0;\n      }\n      pcVar4 = visibility_name(visibility);\n                    /* WARNING: Load size is inaccurate */\n      fprintf(*p,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",name,\n              *(undefined8 *)((long)p + 0x20),__ptr,*(undefined8 *)(*(long *)((long)p + 0x10) + 8),\n              pcVar4);\n      free(__ptr);\n      free(__s);\n      return 1;\n    }\n  }\n  free(__s);\n  return bVar1;\n}" { (declaration "bfd_boolean bVar1;" type_identifier identifier ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "char *__ptr;" primitive_type (pointer_declarator "*__ptr" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (expression_statement "sVar2 = strlen(name);" (assignment_expression "sVar2 = strlen(name)" identifier = (call_expression "strlen(name)" identifier (argument_list "(name)" ( identifier )))) ;) (expression_statement "sVar3 = strlen(*(char **)(**(long **)((long)p + 0x10) + 8));" (assignment_expression "sVar3 = strlen(*(char **)(**(long **)((long)p + 0x10) + 8))" identifier = (call_expression "strlen(*(char **)(**(long **)((long)p + 0x10) + 8))" identifier (argument_list "(*(char **)(**(long **)((long)p + 0x10) + 8))" ( (pointer_expression "*(char **)(**(long **)((long)p + 0x10) + 8)" * (cast_expression "(char **)(**(long **)((long)p + 0x10) + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(long **)((long)p + 0x10) + 8)" ( (binary_expression "**(long **)((long)p + 0x10) + 8" (pointer_expression "**(long **)((long)p + 0x10)" * (pointer_expression "*(long **)((long)p + 0x10)" * (cast_expression "(long **)((long)p + 0x10)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)p + 0x10)" ( (binary_expression "(long)p + 0x10" (cast_expression "(long)p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) + number_literal) )))) )))) ;) (expression_statement "__s = (char *)xmalloc((long)((int)sVar2 + 3 + (int)sVar3));" (assignment_expression "__s = (char *)xmalloc((long)((int)sVar2 + 3 + (int)sVar3))" identifier = (cast_expression "(char *)xmalloc((long)((int)sVar2 + 3 + (int)sVar3))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc((long)((int)sVar2 + 3 + (int)sVar3))" identifier (argument_list "((long)((int)sVar2 + 3 + (int)sVar3))" ( (cast_expression "(long)((int)sVar2 + 3 + (int)sVar3)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((int)sVar2 + 3 + (int)sVar3)" ( (binary_expression "(int)sVar2 + 3 + (int)sVar3" (binary_expression "(int)sVar2 + 3" (cast_expression "(int)sVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) + (cast_expression "(int)sVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))))) ;) (expression_statement "sprintf(__s,"%s::%s",*(undefined8 *)(**(long **)((long)p + 0x10) + 8),name);" (call_expression "sprintf(__s,"%s::%s",*(undefined8 *)(**(long **)((long)p + 0x10) + 8),name)" identifier (argument_list "(__s,"%s::%s",*(undefined8 *)(**(long **)((long)p + 0x10) + 8),name)" ( identifier , (string_literal ""%s::%s"" " string_content ") , (pointer_expression "*(undefined8 *)(**(long **)((long)p + 0x10) + 8)" * (cast_expression "(undefined8 *)(**(long **)((long)p + 0x10) + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(long **)((long)p + 0x10) + 8)" ( (binary_expression "**(long **)((long)p + 0x10) + 8" (pointer_expression "**(long **)((long)p + 0x10)" * (pointer_expression "*(long **)((long)p + 0x10)" * (cast_expression "(long **)((long)p + 0x10)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)p + 0x10)" ( (binary_expression "(long)p + 0x10" (cast_expression "(long)p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) + number_literal) )))) , identifier ))) ;) (expression_statement "bVar1 = substitute_type((pr_handle *)p,__s);" (assignment_expression "bVar1 = substitute_type((pr_handle *)p,__s)" identifier = (call_expression "substitute_type((pr_handle *)p,__s)" identifier (argument_list "((pr_handle *)p,__s)" ( (cast_expression "(pr_handle *)p" ( (type_descriptor "pr_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (if_statement "if (bVar1 != 0) {\n    bVar1 = prepend_type((pr_handle *)((long)p + 0x10),"static ");\n    if (bVar1 != 0) {\n      __ptr = pop_type((pr_handle *)((long)p + 0x10));\n      if (__ptr == (char *)0x0) {\n        free(__s);\n        return 0;\n      }\n      bVar1 = tg_fix_visibility(*(pr_handle **)((long)p + 0x10),visibility);\n      if (bVar1 == 0) {\n        free(__ptr);\n        free(__s);\n        return 0;\n      }\n      pcVar4 = visibility_name(visibility);\n                    /* WARNING: Load size is inaccurate */\n      fprintf(*p,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",name,\n              *(undefined8 *)((long)p + 0x20),__ptr,*(undefined8 *)(*(long *)((long)p + 0x10) + 8),\n              pcVar4);\n      free(__ptr);\n      free(__s);\n      return 1;\n    }\n  }" if (parenthesized_expression "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    bVar1 = prepend_type((pr_handle *)((long)p + 0x10),"static ");\n    if (bVar1 != 0) {\n      __ptr = pop_type((pr_handle *)((long)p + 0x10));\n      if (__ptr == (char *)0x0) {\n        free(__s);\n        return 0;\n      }\n      bVar1 = tg_fix_visibility(*(pr_handle **)((long)p + 0x10),visibility);\n      if (bVar1 == 0) {\n        free(__ptr);\n        free(__s);\n        return 0;\n      }\n      pcVar4 = visibility_name(visibility);\n                    /* WARNING: Load size is inaccurate */\n      fprintf(*p,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",name,\n              *(undefined8 *)((long)p + 0x20),__ptr,*(undefined8 *)(*(long *)((long)p + 0x10) + 8),\n              pcVar4);\n      free(__ptr);\n      free(__s);\n      return 1;\n    }\n  }" { (expression_statement "bVar1 = prepend_type((pr_handle *)((long)p + 0x10),"static ");" (assignment_expression "bVar1 = prepend_type((pr_handle *)((long)p + 0x10),"static ")" identifier = (call_expression "prepend_type((pr_handle *)((long)p + 0x10),"static ")" identifier (argument_list "((pr_handle *)((long)p + 0x10),"static ")" ( (cast_expression "(pr_handle *)((long)p + 0x10)" ( (type_descriptor "pr_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)p + 0x10)" ( (binary_expression "(long)p + 0x10" (cast_expression "(long)p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) , (string_literal ""static "" " string_content ") )))) ;) (if_statement "if (bVar1 != 0) {\n      __ptr = pop_type((pr_handle *)((long)p + 0x10));\n      if (__ptr == (char *)0x0) {\n        free(__s);\n        return 0;\n      }\n      bVar1 = tg_fix_visibility(*(pr_handle **)((long)p + 0x10),visibility);\n      if (bVar1 == 0) {\n        free(__ptr);\n        free(__s);\n        return 0;\n      }\n      pcVar4 = visibility_name(visibility);\n                    /* WARNING: Load size is inaccurate */\n      fprintf(*p,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",name,\n              *(undefined8 *)((long)p + 0x20),__ptr,*(undefined8 *)(*(long *)((long)p + 0x10) + 8),\n              pcVar4);\n      free(__ptr);\n      free(__s);\n      return 1;\n    }" if (parenthesized_expression "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      __ptr = pop_type((pr_handle *)((long)p + 0x10));\n      if (__ptr == (char *)0x0) {\n        free(__s);\n        return 0;\n      }\n      bVar1 = tg_fix_visibility(*(pr_handle **)((long)p + 0x10),visibility);\n      if (bVar1 == 0) {\n        free(__ptr);\n        free(__s);\n        return 0;\n      }\n      pcVar4 = visibility_name(visibility);\n                    /* WARNING: Load size is inaccurate */\n      fprintf(*p,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",name,\n              *(undefined8 *)((long)p + 0x20),__ptr,*(undefined8 *)(*(long *)((long)p + 0x10) + 8),\n              pcVar4);\n      free(__ptr);\n      free(__s);\n      return 1;\n    }" { (expression_statement "__ptr = pop_type((pr_handle *)((long)p + 0x10));" (assignment_expression "__ptr = pop_type((pr_handle *)((long)p + 0x10))" identifier = (call_expression "pop_type((pr_handle *)((long)p + 0x10))" identifier (argument_list "((pr_handle *)((long)p + 0x10))" ( (cast_expression "(pr_handle *)((long)p + 0x10)" ( (type_descriptor "pr_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)p + 0x10)" ( (binary_expression "(long)p + 0x10" (cast_expression "(long)p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) )))) ;) (if_statement "if (__ptr == (char *)0x0) {\n        free(__s);\n        return 0;\n      }" if (parenthesized_expression "(__ptr == (char *)0x0)" ( (binary_expression "__ptr == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        free(__s);\n        return 0;\n      }" { (expression_statement "free(__s);" (call_expression "free(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "bVar1 = tg_fix_visibility(*(pr_handle **)((long)p + 0x10),visibility);" (assignment_expression "bVar1 = tg_fix_visibility(*(pr_handle **)((long)p + 0x10),visibility)" identifier = (call_expression "tg_fix_visibility(*(pr_handle **)((long)p + 0x10),visibility)" identifier (argument_list "(*(pr_handle **)((long)p + 0x10),visibility)" ( (pointer_expression "*(pr_handle **)((long)p + 0x10)" * (cast_expression "(pr_handle **)((long)p + 0x10)" ( (type_descriptor "pr_handle **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)p + 0x10)" ( (binary_expression "(long)p + 0x10" (cast_expression "(long)p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) , identifier )))) ;) (if_statement "if (bVar1 == 0) {\n        free(__ptr);\n        free(__s);\n        return 0;\n      }" if (parenthesized_expression "(bVar1 == 0)" ( (binary_expression "bVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        free(__ptr);\n        free(__s);\n        return 0;\n      }" { (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "free(__s);" (call_expression "free(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "pcVar4 = visibility_name(visibility);" (assignment_expression "pcVar4 = visibility_name(visibility)" identifier = (call_expression "visibility_name(visibility)" identifier (argument_list "(visibility)" ( identifier )))) ;) comment (expression_statement "fprintf(*p,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",name,\n              *(undefined8 *)((long)p + 0x20),__ptr,*(undefined8 *)(*(long *)((long)p + 0x10) + 8),\n              pcVar4);" (call_expression "fprintf(*p,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",name,\n              *(undefined8 *)((long)p + 0x20),__ptr,*(undefined8 *)(*(long *)((long)p + 0x10) + 8),\n              pcVar4)" identifier (argument_list "(*p,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",name,\n              *(undefined8 *)((long)p + 0x20),__ptr,*(undefined8 *)(*(long *)((long)p + 0x10) + 8),\n              pcVar4)" ( (pointer_expression "*p" * identifier) , (string_literal ""%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , (pointer_expression "*(undefined8 *)((long)p + 0x20)" * (cast_expression "(undefined8 *)((long)p + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)p + 0x20)" ( (binary_expression "(long)p + 0x20" (cast_expression "(long)p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) , identifier , (pointer_expression "*(undefined8 *)(*(long *)((long)p + 0x10) + 8)" * (cast_expression "(undefined8 *)(*(long *)((long)p + 0x10) + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)((long)p + 0x10) + 8)" ( (binary_expression "*(long *)((long)p + 0x10) + 8" (pointer_expression "*(long *)((long)p + 0x10)" * (cast_expression "(long *)((long)p + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)p + 0x10)" ( (binary_expression "(long)p + 0x10" (cast_expression "(long)p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) + number_literal) )))) , identifier ))) ;) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "free(__s);" (call_expression "free(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (return_statement "return 1;" return number_literal ;) })) })) (expression_statement "free(__s);" (call_expression "free(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (return_statement "return bVar1;" return identifier ;) })))
(translation_unit "undefined1  [16]\nFUN_001272c0(undefined8 *param_1,char *param_2,undefined8 param_3,undefined4 param_4)\n\n{\n  undefined1 auVar1 [16];\n  uint uVar2;\n  int iVar3;\n  size_t sVar4;\n  size_t sVar5;\n  char *__s;\n  void *__ptr;\n  undefined8 uVar6;\n  ulong uVar7;\n  undefined8 extraout_RDX;\n  ulong extraout_RDX_00;\n  undefined8 extraout_RDX_01;\n  undefined1 auVar8 [16];\n  undefined1 auVar9 [16];\n  \n  sVar4 = strlen(param_2);\n  sVar5 = strlen(*(char **)(*(long *)param_1[2] + 8));\n  __s = (char *)xmalloc((long)((int)sVar4 + 3 + (int)sVar5));\n  sprintf(__s,"%s::%s",*(undefined8 *)(*(long *)param_1[2] + 8),param_2);\n  uVar2 = FUN_00127110(param_1,__s);\n  if (uVar2 != 0) {\n    uVar2 = FUN_00126fe0(param_1 + 2,"static ");\n    if (uVar2 != 0) {\n      __ptr = (void *)FUN_00126930(param_1 + 2);\n      if (__ptr != (void *)0x0) {\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }\n      free(__s);\n      uVar7 = 0;\n      uVar6 = extraout_RDX_01;\n      goto LAB_001273d8;\n    }\n  }\n  free(__s);\n  uVar7 = (ulong)uVar2;\n  uVar6 = extraout_RDX;\nLAB_001273d8:\n  auVar9._8_8_ = uVar6;\n  auVar9._0_8_ = uVar7;\n  return auVar9;\n}\n\n" (expression_statement "undefined1  [16]" (subscript_expression "undefined1  [16]" identifier [ number_literal ]) ;) (expression_statement "FUN_001272c0(undefined8 *param_1,char *param_2,undefined8 param_3,undefined4 param_4)" (call_expression "FUN_001272c0(undefined8 *param_1,char *param_2,undefined8 param_3,undefined4 param_4)" identifier (argument_list "(undefined8 *param_1,char *param_2,undefined8 param_3,undefined4 param_4)" ( (binary_expression "undefined8 *param_1" identifier * identifier) , (binary_expression "char *param_2" identifier * identifier) , identifier (ERROR "param_3" identifier) , identifier (ERROR "param_4" identifier) ))) ;) (compound_statement "{\n  undefined1 auVar1 [16];\n  uint uVar2;\n  int iVar3;\n  size_t sVar4;\n  size_t sVar5;\n  char *__s;\n  void *__ptr;\n  undefined8 uVar6;\n  ulong uVar7;\n  undefined8 extraout_RDX;\n  ulong extraout_RDX_00;\n  undefined8 extraout_RDX_01;\n  undefined1 auVar8 [16];\n  undefined1 auVar9 [16];\n  \n  sVar4 = strlen(param_2);\n  sVar5 = strlen(*(char **)(*(long *)param_1[2] + 8));\n  __s = (char *)xmalloc((long)((int)sVar4 + 3 + (int)sVar5));\n  sprintf(__s,"%s::%s",*(undefined8 *)(*(long *)param_1[2] + 8),param_2);\n  uVar2 = FUN_00127110(param_1,__s);\n  if (uVar2 != 0) {\n    uVar2 = FUN_00126fe0(param_1 + 2,"static ");\n    if (uVar2 != 0) {\n      __ptr = (void *)FUN_00126930(param_1 + 2);\n      if (__ptr != (void *)0x0) {\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }\n      free(__s);\n      uVar7 = 0;\n      uVar6 = extraout_RDX_01;\n      goto LAB_001273d8;\n    }\n  }\n  free(__s);\n  uVar7 = (ulong)uVar2;\n  uVar6 = extraout_RDX;\nLAB_001273d8:\n  auVar9._8_8_ = uVar6;\n  auVar9._0_8_ = uVar7;\n  return auVar9;\n}" { (declaration "undefined1 auVar1 [16];" type_identifier (array_declarator "auVar1 [16]" identifier [ number_literal ]) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "size_t sVar4;" primitive_type identifier ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "void *__ptr;" primitive_type (pointer_declarator "*__ptr" * identifier) ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "ulong uVar7;" type_identifier identifier ;) (declaration "undefined8 extraout_RDX;" type_identifier identifier ;) (declaration "ulong extraout_RDX_00;" type_identifier identifier ;) (declaration "undefined8 extraout_RDX_01;" type_identifier identifier ;) (declaration "undefined1 auVar8 [16];" type_identifier (array_declarator "auVar8 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar9 [16];" type_identifier (array_declarator "auVar9 [16]" identifier [ number_literal ]) ;) (expression_statement "sVar4 = strlen(param_2);" (assignment_expression "sVar4 = strlen(param_2)" identifier = (call_expression "strlen(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "sVar5 = strlen(*(char **)(*(long *)param_1[2] + 8));" (assignment_expression "sVar5 = strlen(*(char **)(*(long *)param_1[2] + 8))" identifier = (call_expression "strlen(*(char **)(*(long *)param_1[2] + 8))" identifier (argument_list "(*(char **)(*(long *)param_1[2] + 8))" ( (pointer_expression "*(char **)(*(long *)param_1[2] + 8)" * (cast_expression "(char **)(*(long *)param_1[2] + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_1[2] + 8)" ( (binary_expression "*(long *)param_1[2] + 8" (pointer_expression "*(long *)param_1[2]" * (cast_expression "(long *)param_1[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) + number_literal) )))) )))) ;) (expression_statement "__s = (char *)xmalloc((long)((int)sVar4 + 3 + (int)sVar5));" (assignment_expression "__s = (char *)xmalloc((long)((int)sVar4 + 3 + (int)sVar5))" identifier = (cast_expression "(char *)xmalloc((long)((int)sVar4 + 3 + (int)sVar5))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc((long)((int)sVar4 + 3 + (int)sVar5))" identifier (argument_list "((long)((int)sVar4 + 3 + (int)sVar5))" ( (cast_expression "(long)((int)sVar4 + 3 + (int)sVar5)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((int)sVar4 + 3 + (int)sVar5)" ( (binary_expression "(int)sVar4 + 3 + (int)sVar5" (binary_expression "(int)sVar4 + 3" (cast_expression "(int)sVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) + (cast_expression "(int)sVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))))) ;) (expression_statement "sprintf(__s,"%s::%s",*(undefined8 *)(*(long *)param_1[2] + 8),param_2);" (call_expression "sprintf(__s,"%s::%s",*(undefined8 *)(*(long *)param_1[2] + 8),param_2)" identifier (argument_list "(__s,"%s::%s",*(undefined8 *)(*(long *)param_1[2] + 8),param_2)" ( identifier , (string_literal ""%s::%s"" " string_content ") , (pointer_expression "*(undefined8 *)(*(long *)param_1[2] + 8)" * (cast_expression "(undefined8 *)(*(long *)param_1[2] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)param_1[2] + 8)" ( (binary_expression "*(long *)param_1[2] + 8" (pointer_expression "*(long *)param_1[2]" * (cast_expression "(long *)param_1[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) + number_literal) )))) , identifier ))) ;) (expression_statement "uVar2 = FUN_00127110(param_1,__s);" (assignment_expression "uVar2 = FUN_00127110(param_1,__s)" identifier = (call_expression "FUN_00127110(param_1,__s)" identifier (argument_list "(param_1,__s)" ( identifier , identifier )))) ;) (if_statement "if (uVar2 != 0) {\n    uVar2 = FUN_00126fe0(param_1 + 2,"static ");\n    if (uVar2 != 0) {\n      __ptr = (void *)FUN_00126930(param_1 + 2);\n      if (__ptr != (void *)0x0) {\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }\n      free(__s);\n      uVar7 = 0;\n      uVar6 = extraout_RDX_01;\n      goto LAB_001273d8;\n    }\n  }" if (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar2 = FUN_00126fe0(param_1 + 2,"static ");\n    if (uVar2 != 0) {\n      __ptr = (void *)FUN_00126930(param_1 + 2);\n      if (__ptr != (void *)0x0) {\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }\n      free(__s);\n      uVar7 = 0;\n      uVar6 = extraout_RDX_01;\n      goto LAB_001273d8;\n    }\n  }" { (expression_statement "uVar2 = FUN_00126fe0(param_1 + 2,"static ");" (assignment_expression "uVar2 = FUN_00126fe0(param_1 + 2,"static ")" identifier = (call_expression "FUN_00126fe0(param_1 + 2,"static ")" identifier (argument_list "(param_1 + 2,"static ")" ( (binary_expression "param_1 + 2" identifier + number_literal) , (string_literal ""static "" " string_content ") )))) ;) (if_statement "if (uVar2 != 0) {\n      __ptr = (void *)FUN_00126930(param_1 + 2);\n      if (__ptr != (void *)0x0) {\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }\n      free(__s);\n      uVar7 = 0;\n      uVar6 = extraout_RDX_01;\n      goto LAB_001273d8;\n    }" if (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      __ptr = (void *)FUN_00126930(param_1 + 2);\n      if (__ptr != (void *)0x0) {\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }\n      free(__s);\n      uVar7 = 0;\n      uVar6 = extraout_RDX_01;\n      goto LAB_001273d8;\n    }" { (expression_statement "__ptr = (void *)FUN_00126930(param_1 + 2);" (assignment_expression "__ptr = (void *)FUN_00126930(param_1 + 2)" identifier = (cast_expression "(void *)FUN_00126930(param_1 + 2)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00126930(param_1 + 2)" identifier (argument_list "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) ))))) ;) (if_statement "if (__ptr != (void *)0x0) {\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }" if (parenthesized_expression "(__ptr != (void *)0x0)" ( (binary_expression "__ptr != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }" { (expression_statement "iVar3 = FUN_00126d60(param_1[2],param_4);" (assignment_expression "iVar3 = FUN_00126d60(param_1[2],param_4)" identifier = (call_expression "FUN_00126d60(param_1[2],param_4)" identifier (argument_list "(param_1[2],param_4)" ( (subscript_expression "param_1[2]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }" { (expression_statement "uVar6 = FUN_00126820(param_4);" (assignment_expression "uVar6 = FUN_00126820(param_4)" identifier = (call_expression "FUN_00126820(param_4)" identifier (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);" (call_expression "fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6)" identifier (argument_list "((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6)" ( (cast_expression "(FILE *)*param_1" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier)) , (string_literal ""%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , (subscript_expression "param_1[4]" identifier [ number_literal ]) , identifier , (pointer_expression "*(undefined8 *)(param_1[2] + 8)" * (cast_expression "(undefined8 *)(param_1[2] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[2] + 8)" ( (binary_expression "param_1[2] + 8" (subscript_expression "param_1[2]" identifier [ number_literal ]) + number_literal) )))) , identifier ))) ;) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "free(__s);" (call_expression "free(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (expression_statement "auVar8._8_8_ = 0x127375;" (assignment_expression "auVar8._8_8_ = 0x127375" (field_expression "auVar8._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar8._0_8_ = 1;" (assignment_expression "auVar8._0_8_ = 1" (field_expression "auVar8._0_8_" identifier . field_identifier) = number_literal) ;) (return_statement "return auVar8;" return identifier ;) })) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "free(__s);" (call_expression "free(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (expression_statement "auVar1._8_8_ = 0;" (assignment_expression "auVar1._8_8_ = 0" (field_expression "auVar1._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar1._0_8_ = extraout_RDX_00;" (assignment_expression "auVar1._0_8_ = extraout_RDX_00" (field_expression "auVar1._0_8_" identifier . field_identifier) = identifier) ;) (return_statement "return auVar1 << 0x40;" return (binary_expression "auVar1 << 0x40" identifier << number_literal) ;) })) (expression_statement "free(__s);" (call_expression "free(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (expression_statement "uVar6 = extraout_RDX_01;" (assignment_expression "uVar6 = extraout_RDX_01" identifier = identifier) ;) (goto_statement "goto LAB_001273d8;" goto statement_identifier ;) })) })) (expression_statement "free(__s);" (call_expression "free(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (expression_statement "uVar7 = (ulong)uVar2;" (assignment_expression "uVar7 = (ulong)uVar2" identifier = (cast_expression "(ulong)uVar2" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar6 = extraout_RDX;" (assignment_expression "uVar6 = extraout_RDX" identifier = identifier) ;) (labeled_statement "LAB_001273d8:\n  auVar9._8_8_ = uVar6;" statement_identifier : (expression_statement "auVar9._8_8_ = uVar6;" (assignment_expression "auVar9._8_8_ = uVar6" (field_expression "auVar9._8_8_" identifier . field_identifier) = identifier) ;)) (expression_statement "auVar9._0_8_ = uVar7;" (assignment_expression "auVar9._0_8_ = uVar7" (field_expression "auVar9._0_8_" identifier . field_identifier) = identifier) ;) (return_statement "return auVar9;" return identifier ;) }))
(translation_unit (expression_statement (subscript_expression IDENT [ LIT ]) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) , (binary_expression IDENT * IDENT) , IDENT (ERROR IDENT) , IDENT (ERROR IDENT) ))) ;) (compound_statement { (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) + LIT) )))) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (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 *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , IDENT , (subscript_expression IDENT [ LIT ]) , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (return_statement return IDENT ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (return_statement return (binary_expression IDENT << LIT) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (return_statement return IDENT ;) }))
(expression_statement "undefined1  [16]" (subscript_expression "undefined1  [16]" (identifier "undefined1") ([ "[") (number_literal "16") (] "]")) (; "")) (expression_statement "FUN_001272c0(undefined8 *param_1,char *param_2,undefined8 param_3,undefined4 param_4)" (call_expression "FUN_001272c0(undefined8 *param_1,char *param_2,undefined8 param_3,undefined4 param_4)" (identifier "FUN_001272c0") (argument_list "(undefined8 *param_1,char *param_2,undefined8 param_3,undefined4 param_4)" (( "(") (binary_expression "undefined8 *param_1" (identifier "undefined8") (* "*") (identifier "param_1")) (, ",") (binary_expression "char *param_2" (identifier "char") (* "*") (identifier "param_2")) (, ",") (identifier "undefined8") (ERROR "param_3" (identifier "param_3")) (, ",") (identifier "undefined4") (ERROR "param_4" (identifier "param_4")) () ")"))) (; "")) (compound_statement "{\n  undefined1 auVar1 [16];\n  uint uVar2;\n  int iVar3;\n  size_t sVar4;\n  size_t sVar5;\n  char *__s;\n  void *__ptr;\n  undefined8 uVar6;\n  ulong uVar7;\n  undefined8 extraout_RDX;\n  ulong extraout_RDX_00;\n  undefined8 extraout_RDX_01;\n  undefined1 auVar8 [16];\n  undefined1 auVar9 [16];\n  \n  sVar4 = strlen(param_2);\n  sVar5 = strlen(*(char **)(*(long *)param_1[2] + 8));\n  __s = (char *)xmalloc((long)((int)sVar4 + 3 + (int)sVar5));\n  sprintf(__s,"%s::%s",*(undefined8 *)(*(long *)param_1[2] + 8),param_2);\n  uVar2 = FUN_00127110(param_1,__s);\n  if (uVar2 != 0) {\n    uVar2 = FUN_00126fe0(param_1 + 2,"static ");\n    if (uVar2 != 0) {\n      __ptr = (void *)FUN_00126930(param_1 + 2);\n      if (__ptr != (void *)0x0) {\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }\n      free(__s);\n      uVar7 = 0;\n      uVar6 = extraout_RDX_01;\n      goto LAB_001273d8;\n    }\n  }\n  free(__s);\n  uVar7 = (ulong)uVar2;\n  uVar6 = extraout_RDX;\nLAB_001273d8:\n  auVar9._8_8_ = uVar6;\n  auVar9._0_8_ = uVar7;\n  return auVar9;\n}" ({ "{") (declaration "undefined1 auVar1 [16];" (type_identifier "undefined1") (array_declarator "auVar1 [16]" (identifier "auVar1") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "size_t sVar4;" (primitive_type "size_t") (identifier "sVar4") (; ";")) (declaration "size_t sVar5;" (primitive_type "size_t") (identifier "sVar5") (; ";")) (declaration "char *__s;" (primitive_type "char") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "void *__ptr;" (primitive_type "void") (pointer_declarator "*__ptr" (* "*") (identifier "__ptr")) (; ";")) (declaration "undefined8 uVar6;" (type_identifier "undefined8") (identifier "uVar6") (; ";")) (declaration "ulong uVar7;" (type_identifier "ulong") (identifier "uVar7") (; ";")) (declaration "undefined8 extraout_RDX;" (type_identifier "undefined8") (identifier "extraout_RDX") (; ";")) (declaration "ulong extraout_RDX_00;" (type_identifier "ulong") (identifier "extraout_RDX_00") (; ";")) (declaration "undefined8 extraout_RDX_01;" (type_identifier "undefined8") (identifier "extraout_RDX_01") (; ";")) (declaration "undefined1 auVar8 [16];" (type_identifier "undefined1") (array_declarator "auVar8 [16]" (identifier "auVar8") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar9 [16];" (type_identifier "undefined1") (array_declarator "auVar9 [16]" (identifier "auVar9") ([ "[") (number_literal "16") (] "]")) (; ";")) (expression_statement "sVar4 = strlen(param_2);" (assignment_expression "sVar4 = strlen(param_2)" (identifier "sVar4") (= "=") (call_expression "strlen(param_2)" (identifier "strlen") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "sVar5 = strlen(*(char **)(*(long *)param_1[2] + 8));" (assignment_expression "sVar5 = strlen(*(char **)(*(long *)param_1[2] + 8))" (identifier "sVar5") (= "=") (call_expression "strlen(*(char **)(*(long *)param_1[2] + 8))" (identifier "strlen") (argument_list "(*(char **)(*(long *)param_1[2] + 8))" (( "(") (pointer_expression "*(char **)(*(long *)param_1[2] + 8)" (* "*") (cast_expression "(char **)(*(long *)param_1[2] + 8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)param_1[2] + 8)" (( "(") (binary_expression "*(long *)param_1[2] + 8" (pointer_expression "*(long *)param_1[2]" (* "*") (cast_expression "(long *)param_1[2]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")))) (+ "+") (number_literal "8")) () ")")))) () ")")))) (; ";")) (expression_statement "__s = (char *)xmalloc((long)((int)sVar4 + 3 + (int)sVar5));" (assignment_expression "__s = (char *)xmalloc((long)((int)sVar4 + 3 + (int)sVar5))" (identifier "__s") (= "=") (cast_expression "(char *)xmalloc((long)((int)sVar4 + 3 + (int)sVar5))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc((long)((int)sVar4 + 3 + (int)sVar5))" (identifier "xmalloc") (argument_list "((long)((int)sVar4 + 3 + (int)sVar5))" (( "(") (cast_expression "(long)((int)sVar4 + 3 + (int)sVar5)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "((int)sVar4 + 3 + (int)sVar5)" (( "(") (binary_expression "(int)sVar4 + 3 + (int)sVar5" (binary_expression "(int)sVar4 + 3" (cast_expression "(int)sVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar4")) (+ "+") (number_literal "3")) (+ "+") (cast_expression "(int)sVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar5"))) () ")"))) () ")"))))) (; ";")) (expression_statement "sprintf(__s,"%s::%s",*(undefined8 *)(*(long *)param_1[2] + 8),param_2);" (call_expression "sprintf(__s,"%s::%s",*(undefined8 *)(*(long *)param_1[2] + 8),param_2)" (identifier "sprintf") (argument_list "(__s,"%s::%s",*(undefined8 *)(*(long *)param_1[2] + 8),param_2)" (( "(") (identifier "__s") (, ",") (string_literal ""%s::%s"" (" """) (string_content "%s::%s") (" """)) (, ",") (pointer_expression "*(undefined8 *)(*(long *)param_1[2] + 8)" (* "*") (cast_expression "(undefined8 *)(*(long *)param_1[2] + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)param_1[2] + 8)" (( "(") (binary_expression "*(long *)param_1[2] + 8" (pointer_expression "*(long *)param_1[2]" (* "*") (cast_expression "(long *)param_1[2]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")))) (+ "+") (number_literal "8")) () ")")))) (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "uVar2 = FUN_00127110(param_1,__s);" (assignment_expression "uVar2 = FUN_00127110(param_1,__s)" (identifier "uVar2") (= "=") (call_expression "FUN_00127110(param_1,__s)" (identifier "FUN_00127110") (argument_list "(param_1,__s)" (( "(") (identifier "param_1") (, ",") (identifier "__s") () ")")))) (; ";")) (if_statement "if (uVar2 != 0) {\n    uVar2 = FUN_00126fe0(param_1 + 2,"static ");\n    if (uVar2 != 0) {\n      __ptr = (void *)FUN_00126930(param_1 + 2);\n      if (__ptr != (void *)0x0) {\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }\n      free(__s);\n      uVar7 = 0;\n      uVar6 = extraout_RDX_01;\n      goto LAB_001273d8;\n    }\n  }" (if "if") (parenthesized_expression "(uVar2 != 0)" (( "(") (binary_expression "uVar2 != 0" (identifier "uVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar2 = FUN_00126fe0(param_1 + 2,"static ");\n    if (uVar2 != 0) {\n      __ptr = (void *)FUN_00126930(param_1 + 2);\n      if (__ptr != (void *)0x0) {\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }\n      free(__s);\n      uVar7 = 0;\n      uVar6 = extraout_RDX_01;\n      goto LAB_001273d8;\n    }\n  }" ({ "{") (expression_statement "uVar2 = FUN_00126fe0(param_1 + 2,"static ");" (assignment_expression "uVar2 = FUN_00126fe0(param_1 + 2,"static ")" (identifier "uVar2") (= "=") (call_expression "FUN_00126fe0(param_1 + 2,"static ")" (identifier "FUN_00126fe0") (argument_list "(param_1 + 2,"static ")" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) (, ",") (string_literal ""static "" (" """) (string_content "static ") (" """)) () ")")))) (; ";")) (if_statement "if (uVar2 != 0) {\n      __ptr = (void *)FUN_00126930(param_1 + 2);\n      if (__ptr != (void *)0x0) {\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }\n      free(__s);\n      uVar7 = 0;\n      uVar6 = extraout_RDX_01;\n      goto LAB_001273d8;\n    }" (if "if") (parenthesized_expression "(uVar2 != 0)" (( "(") (binary_expression "uVar2 != 0" (identifier "uVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      __ptr = (void *)FUN_00126930(param_1 + 2);\n      if (__ptr != (void *)0x0) {\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }\n      free(__s);\n      uVar7 = 0;\n      uVar6 = extraout_RDX_01;\n      goto LAB_001273d8;\n    }" ({ "{") (expression_statement "__ptr = (void *)FUN_00126930(param_1 + 2);" (assignment_expression "__ptr = (void *)FUN_00126930(param_1 + 2)" (identifier "__ptr") (= "=") (cast_expression "(void *)FUN_00126930(param_1 + 2)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00126930(param_1 + 2)" (identifier "FUN_00126930") (argument_list "(param_1 + 2)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (if_statement "if (__ptr != (void *)0x0) {\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }" (if "if") (parenthesized_expression "(__ptr != (void *)0x0)" (( "(") (binary_expression "__ptr != (void *)0x0" (identifier "__ptr") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        iVar3 = FUN_00126d60(param_1[2],param_4);\n        if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }\n        free(__ptr);\n        free(__s);\n        auVar1._8_8_ = 0;\n        auVar1._0_8_ = extraout_RDX_00;\n        return auVar1 << 0x40;\n      }" ({ "{") (expression_statement "iVar3 = FUN_00126d60(param_1[2],param_4);" (assignment_expression "iVar3 = FUN_00126d60(param_1[2],param_4)" (identifier "iVar3") (= "=") (call_expression "FUN_00126d60(param_1[2],param_4)" (identifier "FUN_00126d60") (argument_list "(param_1[2],param_4)" (( "(") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (, ",") (identifier "param_4") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar6 = FUN_00126820(param_4);\n          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);\n          free(__ptr);\n          free(__s);\n          auVar8._8_8_ = 0x127375;\n          auVar8._0_8_ = 1;\n          return auVar8;\n        }" ({ "{") (expression_statement "uVar6 = FUN_00126820(param_4);" (assignment_expression "uVar6 = FUN_00126820(param_4)" (identifier "uVar6") (= "=") (call_expression "FUN_00126820(param_4)" (identifier "FUN_00126820") (argument_list "(param_4)" (( "(") (identifier "param_4") () ")")))) (; ";")) (expression_statement "fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);" (call_expression "fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6)" (identifier "fprintf") (argument_list "((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,\n                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6)" (( "(") (cast_expression "(FILE *)*param_1" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (, ",") (string_literal ""%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n"" (" """) (string_content "%s") (escape_sequence "\t") (string_content "%s") (escape_sequence "\t") (string_content "0;") (escape_sequence "\"") (escape_sequence "\t") (string_content "kind:x") (escape_sequence "\t") (string_content "type:%s") (escape_sequence "\t") (string_content "class:%s") (escape_sequence "\t") (string_content "access:%s") (escape_sequence "\n") (" """)) (, ",") (identifier "param_2") (, ",") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (, ",") (identifier "__ptr") (, ",") (pointer_expression "*(undefined8 *)(param_1[2] + 8)" (* "*") (cast_expression "(undefined8 *)(param_1[2] + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[2] + 8)" (( "(") (binary_expression "param_1[2] + 8" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "8")) () ")")))) (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" (identifier "free") (argument_list "(__ptr)" (( "(") (identifier "__ptr") () ")"))) (; ";")) (expression_statement "free(__s);" (call_expression "free(__s)" (identifier "free") (argument_list "(__s)" (( "(") (identifier "__s") () ")"))) (; ";")) (expression_statement "auVar8._8_8_ = 0x127375;" (assignment_expression "auVar8._8_8_ = 0x127375" (field_expression "auVar8._8_8_" (identifier "auVar8") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0x127375")) (; ";")) (expression_statement "auVar8._0_8_ = 1;" (assignment_expression "auVar8._0_8_ = 1" (field_expression "auVar8._0_8_" (identifier "auVar8") (. ".") (field_identifier "_0_8_")) (= "=") (number_literal "1")) (; ";")) (return_statement "return auVar8;" (return "return") (identifier "auVar8") (; ";")) (} "}"))) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" (identifier "free") (argument_list "(__ptr)" (( "(") (identifier "__ptr") () ")"))) (; ";")) (expression_statement "free(__s);" (call_expression "free(__s)" (identifier "free") (argument_list "(__s)" (( "(") (identifier "__s") () ")"))) (; ";")) (expression_statement "auVar1._8_8_ = 0;" (assignment_expression "auVar1._8_8_ = 0" (field_expression "auVar1._8_8_" (identifier "auVar1") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar1._0_8_ = extraout_RDX_00;" (assignment_expression "auVar1._0_8_ = extraout_RDX_00" (field_expression "auVar1._0_8_" (identifier "auVar1") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "extraout_RDX_00")) (; ";")) (return_statement "return auVar1 << 0x40;" (return "return") (binary_expression "auVar1 << 0x40" (identifier "auVar1") (<< "<<") (number_literal "0x40")) (; ";")) (} "}"))) (expression_statement "free(__s);" (call_expression "free(__s)" (identifier "free") (argument_list "(__s)" (( "(") (identifier "__s") () ")"))) (; ";")) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar6 = extraout_RDX_01;" (assignment_expression "uVar6 = extraout_RDX_01" (identifier "uVar6") (= "=") (identifier "extraout_RDX_01")) (; ";")) (goto_statement "goto LAB_001273d8;" (goto "goto") (statement_identifier "LAB_001273d8") (; ";")) (} "}"))) (} "}"))) (expression_statement "free(__s);" (call_expression "free(__s)" (identifier "free") (argument_list "(__s)" (( "(") (identifier "__s") () ")"))) (; ";")) (expression_statement "uVar7 = (ulong)uVar2;" (assignment_expression "uVar7 = (ulong)uVar2" (identifier "uVar7") (= "=") (cast_expression "(ulong)uVar2" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar2"))) (; ";")) (expression_statement "uVar6 = extraout_RDX;" (assignment_expression "uVar6 = extraout_RDX" (identifier "uVar6") (= "=") (identifier "extraout_RDX")) (; ";")) (labeled_statement "LAB_001273d8:\n  auVar9._8_8_ = uVar6;" (statement_identifier "LAB_001273d8") (: ":") (expression_statement "auVar9._8_8_ = uVar6;" (assignment_expression "auVar9._8_8_ = uVar6" (field_expression "auVar9._8_8_" (identifier "auVar9") (. ".") (field_identifier "_8_8_")) (= "=") (identifier "uVar6")) (; ";"))) (expression_statement "auVar9._0_8_ = uVar7;" (assignment_expression "auVar9._0_8_ = uVar7" (field_expression "auVar9._0_8_" (identifier "auVar9") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar7")) (; ";")) (return_statement "return auVar9;" (return "return") (identifier "auVar9") (; ";")) (} "}"))

type_1 function_1(void *p,char *name,char *physname,type_2 visibility)

{
  type_1 var_5;
  size_t sVar2;
  size_t sVar3;
  char *__s;
  char *var_8;
  char *pcVar4;
  
  sVar2 = var_1(name);
  sVar3 = var_1(*(char **)(**(long **)((long)p + 0x10) + 8));
  __s = (char *)var_2((long)((int)sVar2 + 3 + (int)sVar3));
  var_3(__s,"%s::%s",*(type_3 *)(**(long **)((long)p + 0x10) + 8),name);
  var_5 = var_4((type_4 *)p,__s);
  if (var_5 != 0) {
    var_5 = var_6((type_4 *)((long)p + 0x10),"static ");
    if (var_5 != 0) {
      var_8 = var_7((type_4 *)((long)p + 0x10));
      if (var_8 == (char *)0x0) {
        var_9(__s);
        return 0;
      }
      var_5 = var_10(*(type_4 **)((long)p + 0x10),visibility);
      if (var_5 == 0) {
        var_9(var_8);
        var_9(__s);
        return 0;
      }
      pcVar4 = var_11(visibility);
                    /* WARNING: Load size is inaccurate */
      var_12(*p,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",name,
              *(type_3 *)((long)p + 0x20),var_8,*(type_3 *)(*(long *)((long)p + 0x10) + 8),
              pcVar4);
      var_9(var_8);
      var_9(__s);
      return 1;
    }
  }
  var_9(__s);
  return var_5;
}


(translation_unit (expression_statement (subscript_expression argument: (identifier) index: (number_literal)) (MISSING ";")) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (identifier) (ERROR (identifier)) (identifier) (ERROR (identifier)))) (MISSING ";")) (compound_statement (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (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: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (number_literal))))))))) (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 (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (number_literal))))) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (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: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence)) (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (return_statement (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (return_statement (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (return_statement (identifier))))

undefined1  [16]
MASKED(undefined8 *param_1,char *param_2,undefined8 param_3,undefined4 param_4)

{
  undefined1 auVar1 [16];
  uint uVar2;
  int iVar3;
  size_t sVar4;
  size_t sVar5;
  char *__s;
  void *__ptr;
  undefined8 uVar6;
  ulong uVar7;
  undefined8 extraout_RDX;
  ulong extraout_RDX_00;
  undefined8 extraout_RDX_01;
  undefined1 auVar8 [16];
  undefined1 auVar9 [16];
  
  sVar4 = strlen(param_2);
  sVar5 = strlen(*(char **)(*(long *)param_1[2] + 8));
  __s = (char *)xmalloc((long)((int)sVar4 + 3 + (int)sVar5));
  sprintf(__s,"%s::%s",*(undefined8 *)(*(long *)param_1[2] + 8),param_2);
  uVar2 = FUN_00127110(param_1,__s);
  if (uVar2 != 0) {
    uVar2 = FUN_00126fe0(param_1 + 2,"static ");
    if (uVar2 != 0) {
      __ptr = (void *)FUN_00126930(param_1 + 2);
      if (__ptr != (void *)0x0) {
        iVar3 = FUN_00126d60(param_1[2],param_4);
        if (iVar3 != 0) {
          uVar6 = FUN_00126820(param_4);
          fprintf((FILE *)*param_1,"%s\t%s\t0;\"\tkind:x\ttype:%s\tclass:%s\taccess:%s\n",param_2,
                  param_1[4],__ptr,*(undefined8 *)(param_1[2] + 8),uVar6);
          free(__ptr);
          free(__s);
          auVar8._8_8_ = 0x127375;
          auVar8._0_8_ = 1;
          return auVar8;
        }
        free(__ptr);
        free(__s);
        auVar1._8_8_ = 0;
        auVar1._0_8_ = extraout_RDX_00;
        return auVar1 << 0x40;
      }
      free(__s);
      uVar7 = 0;
      uVar6 = extraout_RDX_01;
      goto LAB_001273d8;
    }
  }
  free(__s);
  uVar7 = (ulong)uVar2;
  uVar6 = extraout_RDX;
LAB_001273d8:
  auVar9._8_8_ = uVar6;
  auVar9._0_8_ = uVar7;
  return auVar9;
}

