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

_Bool check_param_names(void)

{
  int iVar1;
  ulong uVar2;
  NODE *pNVar3;
  char *pcVar4;
  char *pcVar5;
  NODE **__ptr;
  exp_node **ppeVar6;
  char *mesg;
  int iVar7;
  wchar_t wVar8;
  exp_node *peVar9;
  int in_GS_OFFSET;
  NODE **local_78;
  _Bool local_6c;
  NODE n;
  
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  local_6c = true;
  uVar2 = (func_table->sub).nodep.reflags;
  if (uVar2 != 0) {
    n.type = Node_val;
    n.flags = 6;
    peVar9 = &n;
    for (iVar7 = 10; iVar7 != 0; iVar7 = iVar7 + -1) {
      (peVar9->sub).nodep.l.lptr = (exp_node *)0x0;
      peVar9 = (exp_node *)((int)&peVar9->sub + 4);
    }
    n.sub.nodep.reserved = 0xffffffff;
    __ptr = assoc_list(func_table,"@unsorted",ASORTI);
    local_6c = true;
    if (0 < (int)(uVar2 * 2)) {
      local_78 = __ptr;
      do {
        pNVar3 = local_78[1];
        if ((pNVar3->type != Node_builtin_func) && (L'\0' < (pNVar3->sub).nodep.l.ll)) {
          wVar8 = L'\0';
          do {
            n.sub.val.sp = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;
            n.sub.val.slen = strlen(n.sub.val.sp);
            ppeVar6 = (*((func_table->sub).nodep.l.lp)->exists)(func_table,&n);
            if ((ppeVar6 != (exp_node **)0x0) && (*ppeVar6 != (exp_node *)0x0)) {
              pcVar4 = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;
              pcVar5 = ((*local_78)->sub).val.sp;
              mesg = (char *)dcgettext(0,
                                       "function `%s\': cannot use function `%s\' as a parameter name"
                                       ,5);
              error(mesg,pcVar5,pcVar4);
              local_6c = false;
            }
            wVar8 = wVar8 + L'\x01';
          } while (wVar8 < (pNVar3->sub).nodep.l.ll);
        }
        local_78 = local_78 + 2;
      } while (local_78 != __ptr + uVar2 * 2);
    }
    free(__ptr);
  }
  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {
    return local_6c;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
}



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

undefined1 FUN_00071240(void)

{
  int iVar1;
  int *piVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  undefined1 uVar5;
  int *__ptr;
  int *piVar6;
  undefined4 uVar7;
  int iVar8;
  char **ppcVar9;
  int in_GS_OFFSET;
  int *local_78;
  char *local_50 [3];
  size_t local_44;
  undefined4 local_3c;
  undefined4 local_28;
  undefined4 local_24;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x71249;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  uVar5 = 1;
  iVar1 = DAT_000c4f64[8];
  if (iVar1 != 0) {
    local_28 = 1;
    local_24 = 6;
    ppcVar9 = local_50;
    for (iVar8 = 10; iVar8 != 0; iVar8 = iVar8 + -1) {
      *ppcVar9 = (char *)0x0;
      ppcVar9 = ppcVar9 + 1;
    }
    local_3c = 0xffffffff;
    __ptr = (int *)FUN_00019820(DAT_000c4f64,"@unsorted",3);
    if (0 < iVar1 * 2) {
      local_78 = __ptr;
      do {
        piVar2 = (int *)local_78[1];
        if ((piVar2[10] != 10) && (0 < *piVar2)) {
          iVar8 = 0;
          do {
            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);
            local_44 = strlen(local_50[2]);
            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);
            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {
              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);
              uVar4 = *(undefined4 *)(*local_78 + 8);
              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)
              ;
              error(uVar7,uVar4,uVar3);
              uVar5 = 0;
            }
            iVar8 = iVar8 + 1;
          } while (iVar8 < *piVar2);
        }
        local_78 = local_78 + 2;
      } while (local_78 != __ptr + iVar1 * 2);
    }
    free(__ptr);
  }
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return uVar5;
  }
                    /* WARNING: Subroutine does not return */
  FUN_00087be0();
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016f50
ADD EBX,0x4da9b
SUB ESP,0x6c
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x5c],EAX
XOR EAX,EAX
LEA EAX,[EBX + 0x6280]
MOV byte ptr [ESP + 0x10],0x1
MOV EDX,dword ptr [EAX]
MOV dword ptr [ESP + 0x8],EAX
MOV ESI,dword ptr [EDX + 0x20]
TEST ESI,ESI
JNZ 0x00071298
MOV EDX,dword ptr [ESP + 0x5c]
XOR EDX,dword ptr GS:[0x14]
MOVZX EAX,byte ptr [ESP + 0x10]
JNZ 0x000713c5
ADD ESP,0x6c
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EDI,[ESP + 0x2c]
XOR EAX,EAX
MOV ECX,0xa
MOV dword ptr [ESP + 0x54],0x1
MOV dword ptr [ESP + 0x58],0x6
SUB ESP,0x4
MOV dword ptr [ESP + 0x10],EDI
ADD ESI,ESI
STOSD.REP ES:EDI
LEA EAX,[EBX + 0xfffc90a1]
MOV dword ptr [ESP + 0x44],0xffffffff
PUSH 0x3
PUSH EAX
PUSH EDX
CALL 0x00019820
MOV dword ptr [ESP + 0x2c],EAX
ADD ESP,0x10
TEST ESI,ESI
JLE 0x000713b1
MOV dword ptr [ESP + 0x4],EAX
LEA EAX,[EAX + ESI*0x4]
MOV dword ptr [ESP + 0x14],EAX
LEA EAX,[EBX + 0xfffd7164]
MOV dword ptr [ESP + 0x18],EAX
LEA ESI,[ESI]
MOV EAX,dword ptr [ESP + 0x4]
MOV EBP,dword ptr [EAX + 0x4]
CMP dword ptr [EBP + 0x28],0xa
JZ 0x0007139e
MOV ESI,dword ptr [EBP]
TEST ESI,ESI
JLE 0x0007139e
XOR ESI,ESI
MOV EAX,dword ptr [EBP + 0x18]
LEA EDI,[ESI + ESI*0x2]
SUB ESP,0xc
SHL EDI,0x4
MOV EAX,dword ptr [EAX + EDI*0x1 + 0x10]
MOV dword ptr [ESP + 0x40],EAX
PUSH EAX
CALL 0x00014230
POP EDX
POP ECX
MOV dword ptr [ESP + 0x40],EAX
MOV EAX,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [EAX]
MOV ECX,dword ptr [EAX]
PUSH dword ptr [ESP + 0x14]
PUSH EAX
CALL dword ptr [ECX + 0x10]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00071396
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x00071396
MOV EAX,dword ptr [EBP + 0x18]
SUB ESP,0x4
MOV ECX,dword ptr [EAX + EDI*0x1 + 0x10]
MOV EAX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x14],ECX
MOV EDI,dword ptr [EAX + 0x8]
PUSH 0x5
PUSH dword ptr [ESP + 0x20]
PUSH 0x0
CALL 0x00013f40
ADD ESP,0xc
MOV ECX,dword ptr [ESP + 0x14]
PUSH ECX
PUSH EDI
PUSH EAX
CALL 0x00066430
ADD ESP,0x10
MOV byte ptr [ESP + 0x10],0x0
ADD ESI,0x1
CMP dword ptr [EBP],ESI
JG 0x0007131e
ADD dword ptr [ESP + 0x4],0x8
MOV EAX,dword ptr [ESP + 0x4]
CMP EAX,dword ptr [ESP + 0x14]
JNZ 0x00071300
SUB ESP,0xc
PUSH dword ptr [ESP + 0x28]
CALL 0x00013e50
ADD ESP,0x10
JMP 0x00071276
CALL 0x00087be0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined1 FUN_00071240(void)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined1 uVar5;\n  int *__ptr;\n  int *piVar6;\n  undefined4 uVar7;\n  int iVar8;\n  char **ppcVar9;\n  int in_GS_OFFSET;\n  int *local_78;\n  char *local_50 [3];\n  size_t local_44;\n  undefined4 local_3c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x71249;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  uVar5 = 1;\n  iVar1 = DAT_000c4f64[8];\n  if (iVar1 != 0) {\n    local_28 = 1;\n    local_24 = 6;\n    ppcVar9 = local_50;\n    for (iVar8 = 10; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *ppcVar9 = (char *)0x0;\n      ppcVar9 = ppcVar9 + 1;\n    }\n    local_3c = 0xffffffff;\n    __ptr = (int *)FUN_00019820(DAT_000c4f64,"@unsorted",3);\n    if (0 < iVar1 * 2) {\n      local_78 = __ptr;\n      do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);\n    }\n    free(__ptr);\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar5;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00087be0();\n}\n\n" comment (function_definition "undefined1 FUN_00071240(void)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined1 uVar5;\n  int *__ptr;\n  int *piVar6;\n  undefined4 uVar7;\n  int iVar8;\n  char **ppcVar9;\n  int in_GS_OFFSET;\n  int *local_78;\n  char *local_50 [3];\n  size_t local_44;\n  undefined4 local_3c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x71249;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  uVar5 = 1;\n  iVar1 = DAT_000c4f64[8];\n  if (iVar1 != 0) {\n    local_28 = 1;\n    local_24 = 6;\n    ppcVar9 = local_50;\n    for (iVar8 = 10; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *ppcVar9 = (char *)0x0;\n      ppcVar9 = ppcVar9 + 1;\n    }\n    local_3c = 0xffffffff;\n    __ptr = (int *)FUN_00019820(DAT_000c4f64,"@unsorted",3);\n    if (0 < iVar1 * 2) {\n      local_78 = __ptr;\n      do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);\n    }\n    free(__ptr);\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar5;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00087be0();\n}" type_identifier (function_declarator "FUN_00071240(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined1 uVar5;\n  int *__ptr;\n  int *piVar6;\n  undefined4 uVar7;\n  int iVar8;\n  char **ppcVar9;\n  int in_GS_OFFSET;\n  int *local_78;\n  char *local_50 [3];\n  size_t local_44;\n  undefined4 local_3c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x71249;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  uVar5 = 1;\n  iVar1 = DAT_000c4f64[8];\n  if (iVar1 != 0) {\n    local_28 = 1;\n    local_24 = 6;\n    ppcVar9 = local_50;\n    for (iVar8 = 10; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *ppcVar9 = (char *)0x0;\n      ppcVar9 = ppcVar9 + 1;\n    }\n    local_3c = 0xffffffff;\n    __ptr = (int *)FUN_00019820(DAT_000c4f64,"@unsorted",3);\n    if (0 < iVar1 * 2) {\n      local_78 = __ptr;\n      do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);\n    }\n    free(__ptr);\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar5;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00087be0();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined1 uVar5;" type_identifier identifier ;) (declaration "int *__ptr;" primitive_type (pointer_declarator "*__ptr" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char **ppcVar9;" primitive_type (pointer_declarator "**ppcVar9" * (pointer_declarator "*ppcVar9" * identifier)) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "int *local_78;" primitive_type (pointer_declarator "*local_78" * identifier) ;) (declaration "char *local_50 [3];" primitive_type (pointer_declarator "*local_50 [3]" * (array_declarator "local_50 [3]" identifier [ number_literal ])) ;) (declaration "size_t local_44;" primitive_type identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x71249;" (assignment_expression "uStack_14 = 0x71249" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" identifier = number_literal) ;) (expression_statement "iVar1 = DAT_000c4f64[8];" (assignment_expression "iVar1 = DAT_000c4f64[8]" identifier = (subscript_expression "DAT_000c4f64[8]" identifier [ number_literal ])) ;) (if_statement "if (iVar1 != 0) {\n    local_28 = 1;\n    local_24 = 6;\n    ppcVar9 = local_50;\n    for (iVar8 = 10; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *ppcVar9 = (char *)0x0;\n      ppcVar9 = ppcVar9 + 1;\n    }\n    local_3c = 0xffffffff;\n    __ptr = (int *)FUN_00019820(DAT_000c4f64,"@unsorted",3);\n    if (0 < iVar1 * 2) {\n      local_78 = __ptr;\n      do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);\n    }\n    free(__ptr);\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    local_28 = 1;\n    local_24 = 6;\n    ppcVar9 = local_50;\n    for (iVar8 = 10; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *ppcVar9 = (char *)0x0;\n      ppcVar9 = ppcVar9 + 1;\n    }\n    local_3c = 0xffffffff;\n    __ptr = (int *)FUN_00019820(DAT_000c4f64,"@unsorted",3);\n    if (0 < iVar1 * 2) {\n      local_78 = __ptr;\n      do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);\n    }\n    free(__ptr);\n  }" { (expression_statement "local_28 = 1;" (assignment_expression "local_28 = 1" identifier = number_literal) ;) (expression_statement "local_24 = 6;" (assignment_expression "local_24 = 6" identifier = number_literal) ;) (expression_statement "ppcVar9 = local_50;" (assignment_expression "ppcVar9 = local_50" identifier = identifier) ;) (for_statement "for (iVar8 = 10; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *ppcVar9 = (char *)0x0;\n      ppcVar9 = ppcVar9 + 1;\n    }" for ( (assignment_expression "iVar8 = 10" identifier = number_literal) ; (binary_expression "iVar8 != 0" identifier != number_literal) ; (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ) (compound_statement "{\n      *ppcVar9 = (char *)0x0;\n      ppcVar9 = ppcVar9 + 1;\n    }" { (expression_statement "*ppcVar9 = (char *)0x0;" (assignment_expression "*ppcVar9 = (char *)0x0" (pointer_expression "*ppcVar9" * identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppcVar9 = ppcVar9 + 1;" (assignment_expression "ppcVar9 = ppcVar9 + 1" identifier = (binary_expression "ppcVar9 + 1" identifier + number_literal)) ;) })) (expression_statement "local_3c = 0xffffffff;" (assignment_expression "local_3c = 0xffffffff" identifier = number_literal) ;) (expression_statement "__ptr = (int *)FUN_00019820(DAT_000c4f64,"@unsorted",3);" (assignment_expression "__ptr = (int *)FUN_00019820(DAT_000c4f64,"@unsorted",3)" identifier = (cast_expression "(int *)FUN_00019820(DAT_000c4f64,"@unsorted",3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00019820(DAT_000c4f64,"@unsorted",3)" identifier (argument_list "(DAT_000c4f64,"@unsorted",3)" ( identifier , (string_literal ""@unsorted"" " string_content ") , number_literal ))))) ;) (if_statement "if (0 < iVar1 * 2) {\n      local_78 = __ptr;\n      do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);\n    }" if (parenthesized_expression "(0 < iVar1 * 2)" ( (binary_expression "0 < iVar1 * 2" number_literal < (binary_expression "iVar1 * 2" identifier * number_literal)) )) (compound_statement "{\n      local_78 = __ptr;\n      do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);\n    }" { (expression_statement "local_78 = __ptr;" (assignment_expression "local_78 = __ptr" identifier = identifier) ;) (do_statement "do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);" do (compound_statement "{\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      }" { (expression_statement "piVar2 = (int *)local_78[1];" (assignment_expression "piVar2 = (int *)local_78[1]" identifier = (cast_expression "(int *)local_78[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_78[1]" identifier [ number_literal ]))) ;) (if_statement "if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }" if (parenthesized_expression "((piVar2[10] != 10) && (0 < *piVar2))" ( (binary_expression "(piVar2[10] != 10) && (0 < *piVar2)" (parenthesized_expression "(piVar2[10] != 10)" ( (binary_expression "piVar2[10] != 10" (subscript_expression "piVar2[10]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(0 < *piVar2)" ( (binary_expression "0 < *piVar2" number_literal < (pointer_expression "*piVar2" * identifier)) ))) )) (compound_statement "{\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (do_statement "do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);" do (compound_statement "{\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          }" { (expression_statement "local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);" (assignment_expression "local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30)" (subscript_expression "local_50[2]" identifier [ number_literal ]) = (pointer_expression "*(char **)(piVar2[6] + 0x10 + iVar8 * 0x30)" * (cast_expression "(char **)(piVar2[6] + 0x10 + iVar8 * 0x30)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar2[6] + 0x10 + iVar8 * 0x30)" ( (binary_expression "piVar2[6] + 0x10 + iVar8 * 0x30" (binary_expression "piVar2[6] + 0x10" (subscript_expression "piVar2[6]" identifier [ number_literal ]) + number_literal) + (binary_expression "iVar8 * 0x30" identifier * number_literal)) ))))) ;) (expression_statement "local_44 = strlen(local_50[2]);" (assignment_expression "local_44 = strlen(local_50[2])" identifier = (call_expression "strlen(local_50[2])" identifier (argument_list "(local_50[2])" ( (subscript_expression "local_50[2]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);" (assignment_expression "piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50)" identifier = (cast_expression "(int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50)" (parenthesized_expression "(**(code **)(*DAT_000c4f64 + 0x10))" ( (pointer_expression "**(code **)(*DAT_000c4f64 + 0x10)" * (pointer_expression "*(code **)(*DAT_000c4f64 + 0x10)" * (cast_expression "(code **)(*DAT_000c4f64 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*DAT_000c4f64 + 0x10)" ( (binary_expression "*DAT_000c4f64 + 0x10" (pointer_expression "*DAT_000c4f64" * identifier) + number_literal) ))))) )) (argument_list "(DAT_000c4f64,local_50)" ( identifier , identifier ))))) ;) (if_statement "if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }" if (parenthesized_expression "((piVar6 != (int *)0x0) && (*piVar6 != 0))" ( (binary_expression "(piVar6 != (int *)0x0) && (*piVar6 != 0)" (parenthesized_expression "(piVar6 != (int *)0x0)" ( (binary_expression "piVar6 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*piVar6 != 0)" ( (binary_expression "*piVar6 != 0" (pointer_expression "*piVar6" * identifier) != number_literal) ))) )) (compound_statement "{\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }" { (expression_statement "uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);" (assignment_expression "uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30)" identifier = (pointer_expression "*(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30)" * (cast_expression "(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2[6] + 0x10 + iVar8 * 0x30)" ( (binary_expression "piVar2[6] + 0x10 + iVar8 * 0x30" (binary_expression "piVar2[6] + 0x10" (subscript_expression "piVar2[6]" identifier [ number_literal ]) + number_literal) + (binary_expression "iVar8 * 0x30" identifier * number_literal)) ))))) ;) (expression_statement "uVar4 = *(undefined4 *)(*local_78 + 8);" (assignment_expression "uVar4 = *(undefined4 *)(*local_78 + 8)" identifier = (pointer_expression "*(undefined4 *)(*local_78 + 8)" * (cast_expression "(undefined4 *)(*local_78 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_78 + 8)" ( (binary_expression "*local_78 + 8" (pointer_expression "*local_78" * identifier) + number_literal) ))))) ;) (expression_statement "uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;" (assignment_expression "uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)" identifier = (call_expression "dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)" identifier (argument_list "(0,"function `%s\': cannot use function `%s\' as a parameter name",5)" ( number_literal , (string_literal ""function `%s\': cannot use function `%s\' as a parameter name"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "error(uVar7,uVar4,uVar3);" (call_expression "error(uVar7,uVar4,uVar3)" identifier (argument_list "(uVar7,uVar4,uVar3)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) })) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar8 < *piVar2)" ( (binary_expression "iVar8 < *piVar2" identifier < (pointer_expression "*piVar2" * identifier)) )) ;) })) (expression_statement "local_78 = local_78 + 2;" (assignment_expression "local_78 = local_78 + 2" identifier = (binary_expression "local_78 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_78 != __ptr + iVar1 * 2)" ( (binary_expression "local_78 != __ptr + iVar1 * 2" identifier != (binary_expression "__ptr + iVar1 * 2" identifier + (binary_expression "iVar1 * 2" identifier * number_literal))) )) ;) })) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) })) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar5;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return uVar5;\n  }" { (return_statement "return uVar5;" return identifier ;) })) comment (expression_statement "FUN_00087be0();" (call_expression "FUN_00087be0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\n_Bool check_param_names(void)\n\n{\n  int iVar1;\n  ulong uVar2;\n  NODE *pNVar3;\n  char *pcVar4;\n  char *pcVar5;\n  NODE **__ptr;\n  exp_node **ppeVar6;\n  char *mesg;\n  int iVar7;\n  wchar_t wVar8;\n  exp_node *peVar9;\n  int in_GS_OFFSET;\n  NODE **local_78;\n  _Bool local_6c;\n  NODE n;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  local_6c = true;\n  uVar2 = (func_table->sub).nodep.reflags;\n  if (uVar2 != 0) {\n    n.type = Node_val;\n    n.flags = 6;\n    peVar9 = &n;\n    for (iVar7 = 10; iVar7 != 0; iVar7 = iVar7 + -1) {\n      (peVar9->sub).nodep.l.lptr = (exp_node *)0x0;\n      peVar9 = (exp_node *)((int)&peVar9->sub + 4);\n    }\n    n.sub.nodep.reserved = 0xffffffff;\n    __ptr = assoc_list(func_table,"@unsorted",ASORTI);\n    local_6c = true;\n    if (0 < (int)(uVar2 * 2)) {\n      local_78 = __ptr;\n      do {\n        pNVar3 = local_78[1];\n        if ((pNVar3->type != Node_builtin_func) && (L'\0' < (pNVar3->sub).nodep.l.ll)) {\n          wVar8 = L'\0';\n          do {\n            n.sub.val.sp = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n            n.sub.val.slen = strlen(n.sub.val.sp);\n            ppeVar6 = (*((func_table->sub).nodep.l.lp)->exists)(func_table,&n);\n            if ((ppeVar6 != (exp_node **)0x0) && (*ppeVar6 != (exp_node *)0x0)) {\n              pcVar4 = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n              pcVar5 = ((*local_78)->sub).val.sp;\n              mesg = (char *)dcgettext(0,\n                                       "function `%s\': cannot use function `%s\' as a parameter name"\n                                       ,5);\n              error(mesg,pcVar5,pcVar4);\n              local_6c = false;\n            }\n            wVar8 = wVar8 + L'\x01';\n          } while (wVar8 < (pNVar3->sub).nodep.l.ll);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + uVar2 * 2);\n    }\n    free(__ptr);\n  }\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_6c;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}\n\n" comment comment (function_definition "_Bool check_param_names(void)\n\n{\n  int iVar1;\n  ulong uVar2;\n  NODE *pNVar3;\n  char *pcVar4;\n  char *pcVar5;\n  NODE **__ptr;\n  exp_node **ppeVar6;\n  char *mesg;\n  int iVar7;\n  wchar_t wVar8;\n  exp_node *peVar9;\n  int in_GS_OFFSET;\n  NODE **local_78;\n  _Bool local_6c;\n  NODE n;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  local_6c = true;\n  uVar2 = (func_table->sub).nodep.reflags;\n  if (uVar2 != 0) {\n    n.type = Node_val;\n    n.flags = 6;\n    peVar9 = &n;\n    for (iVar7 = 10; iVar7 != 0; iVar7 = iVar7 + -1) {\n      (peVar9->sub).nodep.l.lptr = (exp_node *)0x0;\n      peVar9 = (exp_node *)((int)&peVar9->sub + 4);\n    }\n    n.sub.nodep.reserved = 0xffffffff;\n    __ptr = assoc_list(func_table,"@unsorted",ASORTI);\n    local_6c = true;\n    if (0 < (int)(uVar2 * 2)) {\n      local_78 = __ptr;\n      do {\n        pNVar3 = local_78[1];\n        if ((pNVar3->type != Node_builtin_func) && (L'\0' < (pNVar3->sub).nodep.l.ll)) {\n          wVar8 = L'\0';\n          do {\n            n.sub.val.sp = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n            n.sub.val.slen = strlen(n.sub.val.sp);\n            ppeVar6 = (*((func_table->sub).nodep.l.lp)->exists)(func_table,&n);\n            if ((ppeVar6 != (exp_node **)0x0) && (*ppeVar6 != (exp_node *)0x0)) {\n              pcVar4 = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n              pcVar5 = ((*local_78)->sub).val.sp;\n              mesg = (char *)dcgettext(0,\n                                       "function `%s\': cannot use function `%s\' as a parameter name"\n                                       ,5);\n              error(mesg,pcVar5,pcVar4);\n              local_6c = false;\n            }\n            wVar8 = wVar8 + L'\x01';\n          } while (wVar8 < (pNVar3->sub).nodep.l.ll);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + uVar2 * 2);\n    }\n    free(__ptr);\n  }\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_6c;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" type_identifier (function_declarator "check_param_names(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  ulong uVar2;\n  NODE *pNVar3;\n  char *pcVar4;\n  char *pcVar5;\n  NODE **__ptr;\n  exp_node **ppeVar6;\n  char *mesg;\n  int iVar7;\n  wchar_t wVar8;\n  exp_node *peVar9;\n  int in_GS_OFFSET;\n  NODE **local_78;\n  _Bool local_6c;\n  NODE n;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  local_6c = true;\n  uVar2 = (func_table->sub).nodep.reflags;\n  if (uVar2 != 0) {\n    n.type = Node_val;\n    n.flags = 6;\n    peVar9 = &n;\n    for (iVar7 = 10; iVar7 != 0; iVar7 = iVar7 + -1) {\n      (peVar9->sub).nodep.l.lptr = (exp_node *)0x0;\n      peVar9 = (exp_node *)((int)&peVar9->sub + 4);\n    }\n    n.sub.nodep.reserved = 0xffffffff;\n    __ptr = assoc_list(func_table,"@unsorted",ASORTI);\n    local_6c = true;\n    if (0 < (int)(uVar2 * 2)) {\n      local_78 = __ptr;\n      do {\n        pNVar3 = local_78[1];\n        if ((pNVar3->type != Node_builtin_func) && (L'\0' < (pNVar3->sub).nodep.l.ll)) {\n          wVar8 = L'\0';\n          do {\n            n.sub.val.sp = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n            n.sub.val.slen = strlen(n.sub.val.sp);\n            ppeVar6 = (*((func_table->sub).nodep.l.lp)->exists)(func_table,&n);\n            if ((ppeVar6 != (exp_node **)0x0) && (*ppeVar6 != (exp_node *)0x0)) {\n              pcVar4 = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n              pcVar5 = ((*local_78)->sub).val.sp;\n              mesg = (char *)dcgettext(0,\n                                       "function `%s\': cannot use function `%s\' as a parameter name"\n                                       ,5);\n              error(mesg,pcVar5,pcVar4);\n              local_6c = false;\n            }\n            wVar8 = wVar8 + L'\x01';\n          } while (wVar8 < (pNVar3->sub).nodep.l.ll);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + uVar2 * 2);\n    }\n    free(__ptr);\n  }\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_6c;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "ulong uVar2;" type_identifier identifier ;) (declaration "NODE *pNVar3;" type_identifier (pointer_declarator "*pNVar3" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "NODE **__ptr;" type_identifier (pointer_declarator "**__ptr" * (pointer_declarator "*__ptr" * identifier)) ;) (declaration "exp_node **ppeVar6;" type_identifier (pointer_declarator "**ppeVar6" * (pointer_declarator "*ppeVar6" * identifier)) ;) (declaration "char *mesg;" primitive_type (pointer_declarator "*mesg" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "wchar_t wVar8;" type_identifier identifier ;) (declaration "exp_node *peVar9;" type_identifier (pointer_declarator "*peVar9" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "NODE **local_78;" type_identifier (pointer_declarator "**local_78" * (pointer_declarator "*local_78" * identifier)) ;) (declaration "_Bool local_6c;" type_identifier identifier ;) (declaration "NODE n;" type_identifier identifier ;) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_6c = true;" (assignment_expression "local_6c = true" identifier = true) ;) (expression_statement "uVar2 = (func_table->sub).nodep.reflags;" (assignment_expression "uVar2 = (func_table->sub).nodep.reflags" identifier = (field_expression "(func_table->sub).nodep.reflags" (field_expression "(func_table->sub).nodep" (parenthesized_expression "(func_table->sub)" ( (field_expression "func_table->sub" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (uVar2 != 0) {\n    n.type = Node_val;\n    n.flags = 6;\n    peVar9 = &n;\n    for (iVar7 = 10; iVar7 != 0; iVar7 = iVar7 + -1) {\n      (peVar9->sub).nodep.l.lptr = (exp_node *)0x0;\n      peVar9 = (exp_node *)((int)&peVar9->sub + 4);\n    }\n    n.sub.nodep.reserved = 0xffffffff;\n    __ptr = assoc_list(func_table,"@unsorted",ASORTI);\n    local_6c = true;\n    if (0 < (int)(uVar2 * 2)) {\n      local_78 = __ptr;\n      do {\n        pNVar3 = local_78[1];\n        if ((pNVar3->type != Node_builtin_func) && (L'\0' < (pNVar3->sub).nodep.l.ll)) {\n          wVar8 = L'\0';\n          do {\n            n.sub.val.sp = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n            n.sub.val.slen = strlen(n.sub.val.sp);\n            ppeVar6 = (*((func_table->sub).nodep.l.lp)->exists)(func_table,&n);\n            if ((ppeVar6 != (exp_node **)0x0) && (*ppeVar6 != (exp_node *)0x0)) {\n              pcVar4 = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n              pcVar5 = ((*local_78)->sub).val.sp;\n              mesg = (char *)dcgettext(0,\n                                       "function `%s\': cannot use function `%s\' as a parameter name"\n                                       ,5);\n              error(mesg,pcVar5,pcVar4);\n              local_6c = false;\n            }\n            wVar8 = wVar8 + L'\x01';\n          } while (wVar8 < (pNVar3->sub).nodep.l.ll);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + uVar2 * 2);\n    }\n    free(__ptr);\n  }" if (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    n.type = Node_val;\n    n.flags = 6;\n    peVar9 = &n;\n    for (iVar7 = 10; iVar7 != 0; iVar7 = iVar7 + -1) {\n      (peVar9->sub).nodep.l.lptr = (exp_node *)0x0;\n      peVar9 = (exp_node *)((int)&peVar9->sub + 4);\n    }\n    n.sub.nodep.reserved = 0xffffffff;\n    __ptr = assoc_list(func_table,"@unsorted",ASORTI);\n    local_6c = true;\n    if (0 < (int)(uVar2 * 2)) {\n      local_78 = __ptr;\n      do {\n        pNVar3 = local_78[1];\n        if ((pNVar3->type != Node_builtin_func) && (L'\0' < (pNVar3->sub).nodep.l.ll)) {\n          wVar8 = L'\0';\n          do {\n            n.sub.val.sp = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n            n.sub.val.slen = strlen(n.sub.val.sp);\n            ppeVar6 = (*((func_table->sub).nodep.l.lp)->exists)(func_table,&n);\n            if ((ppeVar6 != (exp_node **)0x0) && (*ppeVar6 != (exp_node *)0x0)) {\n              pcVar4 = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n              pcVar5 = ((*local_78)->sub).val.sp;\n              mesg = (char *)dcgettext(0,\n                                       "function `%s\': cannot use function `%s\' as a parameter name"\n                                       ,5);\n              error(mesg,pcVar5,pcVar4);\n              local_6c = false;\n            }\n            wVar8 = wVar8 + L'\x01';\n          } while (wVar8 < (pNVar3->sub).nodep.l.ll);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + uVar2 * 2);\n    }\n    free(__ptr);\n  }" { (expression_statement "n.type = Node_val;" (assignment_expression "n.type = Node_val" (field_expression "n.type" identifier . field_identifier) = identifier) ;) (expression_statement "n.flags = 6;" (assignment_expression "n.flags = 6" (field_expression "n.flags" identifier . field_identifier) = number_literal) ;) (expression_statement "peVar9 = &n;" (assignment_expression "peVar9 = &n" identifier = (pointer_expression "&n" & identifier)) ;) (for_statement "for (iVar7 = 10; iVar7 != 0; iVar7 = iVar7 + -1) {\n      (peVar9->sub).nodep.l.lptr = (exp_node *)0x0;\n      peVar9 = (exp_node *)((int)&peVar9->sub + 4);\n    }" for ( (assignment_expression "iVar7 = 10" identifier = number_literal) ; (binary_expression "iVar7 != 0" identifier != number_literal) ; (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ) (compound_statement "{\n      (peVar9->sub).nodep.l.lptr = (exp_node *)0x0;\n      peVar9 = (exp_node *)((int)&peVar9->sub + 4);\n    }" { (expression_statement "(peVar9->sub).nodep.l.lptr = (exp_node *)0x0;" (assignment_expression "(peVar9->sub).nodep.l.lptr = (exp_node *)0x0" (field_expression "(peVar9->sub).nodep.l.lptr" (field_expression "(peVar9->sub).nodep.l" (field_expression "(peVar9->sub).nodep" (parenthesized_expression "(peVar9->sub)" ( (field_expression "peVar9->sub" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(exp_node *)0x0" ( (type_descriptor "exp_node *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "peVar9 = (exp_node *)((int)&peVar9->sub + 4);" (assignment_expression "peVar9 = (exp_node *)((int)&peVar9->sub + 4)" identifier = (cast_expression "(exp_node *)((int)&peVar9->sub + 4)" ( (type_descriptor "exp_node *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&peVar9->sub + 4)" ( (binary_expression "(int)&peVar9->sub + 4" (cast_expression "(int)&peVar9->sub" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&peVar9->sub" & (field_expression "peVar9->sub" identifier -> field_identifier))) + number_literal) )))) ;) })) (expression_statement "n.sub.nodep.reserved = 0xffffffff;" (assignment_expression "n.sub.nodep.reserved = 0xffffffff" (field_expression "n.sub.nodep.reserved" (field_expression "n.sub.nodep" (field_expression "n.sub" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "__ptr = assoc_list(func_table,"@unsorted",ASORTI);" (assignment_expression "__ptr = assoc_list(func_table,"@unsorted",ASORTI)" identifier = (call_expression "assoc_list(func_table,"@unsorted",ASORTI)" identifier (argument_list "(func_table,"@unsorted",ASORTI)" ( identifier , (string_literal ""@unsorted"" " string_content ") , identifier )))) ;) (expression_statement "local_6c = true;" (assignment_expression "local_6c = true" identifier = true) ;) (if_statement "if (0 < (int)(uVar2 * 2)) {\n      local_78 = __ptr;\n      do {\n        pNVar3 = local_78[1];\n        if ((pNVar3->type != Node_builtin_func) && (L'\0' < (pNVar3->sub).nodep.l.ll)) {\n          wVar8 = L'\0';\n          do {\n            n.sub.val.sp = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n            n.sub.val.slen = strlen(n.sub.val.sp);\n            ppeVar6 = (*((func_table->sub).nodep.l.lp)->exists)(func_table,&n);\n            if ((ppeVar6 != (exp_node **)0x0) && (*ppeVar6 != (exp_node *)0x0)) {\n              pcVar4 = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n              pcVar5 = ((*local_78)->sub).val.sp;\n              mesg = (char *)dcgettext(0,\n                                       "function `%s\': cannot use function `%s\' as a parameter name"\n                                       ,5);\n              error(mesg,pcVar5,pcVar4);\n              local_6c = false;\n            }\n            wVar8 = wVar8 + L'\x01';\n          } while (wVar8 < (pNVar3->sub).nodep.l.ll);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + uVar2 * 2);\n    }" if (parenthesized_expression "(0 < (int)(uVar2 * 2))" ( (binary_expression "0 < (int)(uVar2 * 2)" number_literal < (cast_expression "(int)(uVar2 * 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar2 * 2)" ( (binary_expression "uVar2 * 2" identifier * number_literal) )))) )) (compound_statement "{\n      local_78 = __ptr;\n      do {\n        pNVar3 = local_78[1];\n        if ((pNVar3->type != Node_builtin_func) && (L'\0' < (pNVar3->sub).nodep.l.ll)) {\n          wVar8 = L'\0';\n          do {\n            n.sub.val.sp = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n            n.sub.val.slen = strlen(n.sub.val.sp);\n            ppeVar6 = (*((func_table->sub).nodep.l.lp)->exists)(func_table,&n);\n            if ((ppeVar6 != (exp_node **)0x0) && (*ppeVar6 != (exp_node *)0x0)) {\n              pcVar4 = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n              pcVar5 = ((*local_78)->sub).val.sp;\n              mesg = (char *)dcgettext(0,\n                                       "function `%s\': cannot use function `%s\' as a parameter name"\n                                       ,5);\n              error(mesg,pcVar5,pcVar4);\n              local_6c = false;\n            }\n            wVar8 = wVar8 + L'\x01';\n          } while (wVar8 < (pNVar3->sub).nodep.l.ll);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + uVar2 * 2);\n    }" { (expression_statement "local_78 = __ptr;" (assignment_expression "local_78 = __ptr" identifier = identifier) ;) (do_statement "do {\n        pNVar3 = local_78[1];\n        if ((pNVar3->type != Node_builtin_func) && (L'\0' < (pNVar3->sub).nodep.l.ll)) {\n          wVar8 = L'\0';\n          do {\n            n.sub.val.sp = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n            n.sub.val.slen = strlen(n.sub.val.sp);\n            ppeVar6 = (*((func_table->sub).nodep.l.lp)->exists)(func_table,&n);\n            if ((ppeVar6 != (exp_node **)0x0) && (*ppeVar6 != (exp_node *)0x0)) {\n              pcVar4 = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n              pcVar5 = ((*local_78)->sub).val.sp;\n              mesg = (char *)dcgettext(0,\n                                       "function `%s\': cannot use function `%s\' as a parameter name"\n                                       ,5);\n              error(mesg,pcVar5,pcVar4);\n              local_6c = false;\n            }\n            wVar8 = wVar8 + L'\x01';\n          } while (wVar8 < (pNVar3->sub).nodep.l.ll);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + uVar2 * 2);" do (compound_statement "{\n        pNVar3 = local_78[1];\n        if ((pNVar3->type != Node_builtin_func) && (L'\0' < (pNVar3->sub).nodep.l.ll)) {\n          wVar8 = L'\0';\n          do {\n            n.sub.val.sp = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n            n.sub.val.slen = strlen(n.sub.val.sp);\n            ppeVar6 = (*((func_table->sub).nodep.l.lp)->exists)(func_table,&n);\n            if ((ppeVar6 != (exp_node **)0x0) && (*ppeVar6 != (exp_node *)0x0)) {\n              pcVar4 = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n              pcVar5 = ((*local_78)->sub).val.sp;\n              mesg = (char *)dcgettext(0,\n                                       "function `%s\': cannot use function `%s\' as a parameter name"\n                                       ,5);\n              error(mesg,pcVar5,pcVar4);\n              local_6c = false;\n            }\n            wVar8 = wVar8 + L'\x01';\n          } while (wVar8 < (pNVar3->sub).nodep.l.ll);\n        }\n        local_78 = local_78 + 2;\n      }" { (expression_statement "pNVar3 = local_78[1];" (assignment_expression "pNVar3 = local_78[1]" identifier = (subscript_expression "local_78[1]" identifier [ number_literal ])) ;) (if_statement "if ((pNVar3->type != Node_builtin_func) && (L'\0' < (pNVar3->sub).nodep.l.ll)) {\n          wVar8 = L'\0';\n          do {\n            n.sub.val.sp = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n            n.sub.val.slen = strlen(n.sub.val.sp);\n            ppeVar6 = (*((func_table->sub).nodep.l.lp)->exists)(func_table,&n);\n            if ((ppeVar6 != (exp_node **)0x0) && (*ppeVar6 != (exp_node *)0x0)) {\n              pcVar4 = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n              pcVar5 = ((*local_78)->sub).val.sp;\n              mesg = (char *)dcgettext(0,\n                                       "function `%s\': cannot use function `%s\' as a parameter name"\n                                       ,5);\n              error(mesg,pcVar5,pcVar4);\n              local_6c = false;\n            }\n            wVar8 = wVar8 + L'\x01';\n          } while (wVar8 < (pNVar3->sub).nodep.l.ll);\n        }" if (parenthesized_expression "((pNVar3->type != Node_builtin_func) && (L'\0' < (pNVar3->sub).nodep.l.ll))" ( (binary_expression "(pNVar3->type != Node_builtin_func) && (L'\0' < (pNVar3->sub).nodep.l.ll)" (parenthesized_expression "(pNVar3->type != Node_builtin_func)" ( (binary_expression "pNVar3->type != Node_builtin_func" (field_expression "pNVar3->type" identifier -> field_identifier) != identifier) )) && (parenthesized_expression "(L'\0' < (pNVar3->sub).nodep.l.ll)" ( (binary_expression "L'\0' < (pNVar3->sub).nodep.l.ll" (char_literal "L'\0'" L' escape_sequence ') < (field_expression "(pNVar3->sub).nodep.l.ll" (field_expression "(pNVar3->sub).nodep.l" (field_expression "(pNVar3->sub).nodep" (parenthesized_expression "(pNVar3->sub)" ( (field_expression "pNVar3->sub" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ))) )) (compound_statement "{\n          wVar8 = L'\0';\n          do {\n            n.sub.val.sp = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n            n.sub.val.slen = strlen(n.sub.val.sp);\n            ppeVar6 = (*((func_table->sub).nodep.l.lp)->exists)(func_table,&n);\n            if ((ppeVar6 != (exp_node **)0x0) && (*ppeVar6 != (exp_node *)0x0)) {\n              pcVar4 = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n              pcVar5 = ((*local_78)->sub).val.sp;\n              mesg = (char *)dcgettext(0,\n                                       "function `%s\': cannot use function `%s\' as a parameter name"\n                                       ,5);\n              error(mesg,pcVar5,pcVar4);\n              local_6c = false;\n            }\n            wVar8 = wVar8 + L'\x01';\n          } while (wVar8 < (pNVar3->sub).nodep.l.ll);\n        }" { (expression_statement "wVar8 = L'\0';" (assignment_expression "wVar8 = L'\0'" identifier = (char_literal "L'\0'" L' escape_sequence ')) ;) (do_statement "do {\n            n.sub.val.sp = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n            n.sub.val.slen = strlen(n.sub.val.sp);\n            ppeVar6 = (*((func_table->sub).nodep.l.lp)->exists)(func_table,&n);\n            if ((ppeVar6 != (exp_node **)0x0) && (*ppeVar6 != (exp_node *)0x0)) {\n              pcVar4 = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n              pcVar5 = ((*local_78)->sub).val.sp;\n              mesg = (char *)dcgettext(0,\n                                       "function `%s\': cannot use function `%s\' as a parameter name"\n                                       ,5);\n              error(mesg,pcVar5,pcVar4);\n              local_6c = false;\n            }\n            wVar8 = wVar8 + L'\x01';\n          } while (wVar8 < (pNVar3->sub).nodep.l.ll);" do (compound_statement "{\n            n.sub.val.sp = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n            n.sub.val.slen = strlen(n.sub.val.sp);\n            ppeVar6 = (*((func_table->sub).nodep.l.lp)->exists)(func_table,&n);\n            if ((ppeVar6 != (exp_node **)0x0) && (*ppeVar6 != (exp_node *)0x0)) {\n              pcVar4 = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n              pcVar5 = ((*local_78)->sub).val.sp;\n              mesg = (char *)dcgettext(0,\n                                       "function `%s\': cannot use function `%s\' as a parameter name"\n                                       ,5);\n              error(mesg,pcVar5,pcVar4);\n              local_6c = false;\n            }\n            wVar8 = wVar8 + L'\x01';\n          }" { (expression_statement "n.sub.val.sp = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;" (assignment_expression "n.sub.val.sp = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name" (field_expression "n.sub.val.sp" (field_expression "n.sub.val" (field_expression "n.sub" identifier . field_identifier) . field_identifier) . field_identifier) = (field_expression "(pNVar3->sub).nodep.rn[wVar8].sub.nodep.name" (field_expression "(pNVar3->sub).nodep.rn[wVar8].sub.nodep" (field_expression "(pNVar3->sub).nodep.rn[wVar8].sub" (subscript_expression "(pNVar3->sub).nodep.rn[wVar8]" (field_expression "(pNVar3->sub).nodep.rn" (field_expression "(pNVar3->sub).nodep" (parenthesized_expression "(pNVar3->sub)" ( (field_expression "pNVar3->sub" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ identifier ]) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "n.sub.val.slen = strlen(n.sub.val.sp);" (assignment_expression "n.sub.val.slen = strlen(n.sub.val.sp)" (field_expression "n.sub.val.slen" (field_expression "n.sub.val" (field_expression "n.sub" identifier . field_identifier) . field_identifier) . field_identifier) = (call_expression "strlen(n.sub.val.sp)" identifier (argument_list "(n.sub.val.sp)" ( (field_expression "n.sub.val.sp" (field_expression "n.sub.val" (field_expression "n.sub" identifier . field_identifier) . field_identifier) . field_identifier) )))) ;) (expression_statement "ppeVar6 = (*((func_table->sub).nodep.l.lp)->exists)(func_table,&n);" (assignment_expression "ppeVar6 = (*((func_table->sub).nodep.l.lp)->exists)(func_table,&n)" identifier = (call_expression "(*((func_table->sub).nodep.l.lp)->exists)(func_table,&n)" (parenthesized_expression "(*((func_table->sub).nodep.l.lp)->exists)" ( (pointer_expression "*((func_table->sub).nodep.l.lp)->exists" * (field_expression "((func_table->sub).nodep.l.lp)->exists" (parenthesized_expression "((func_table->sub).nodep.l.lp)" ( (field_expression "(func_table->sub).nodep.l.lp" (field_expression "(func_table->sub).nodep.l" (field_expression "(func_table->sub).nodep" (parenthesized_expression "(func_table->sub)" ( (field_expression "func_table->sub" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) )) -> field_identifier)) )) (argument_list "(func_table,&n)" ( identifier , (pointer_expression "&n" & identifier) )))) ;) (if_statement "if ((ppeVar6 != (exp_node **)0x0) && (*ppeVar6 != (exp_node *)0x0)) {\n              pcVar4 = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n              pcVar5 = ((*local_78)->sub).val.sp;\n              mesg = (char *)dcgettext(0,\n                                       "function `%s\': cannot use function `%s\' as a parameter name"\n                                       ,5);\n              error(mesg,pcVar5,pcVar4);\n              local_6c = false;\n            }" if (parenthesized_expression "((ppeVar6 != (exp_node **)0x0) && (*ppeVar6 != (exp_node *)0x0))" ( (binary_expression "(ppeVar6 != (exp_node **)0x0) && (*ppeVar6 != (exp_node *)0x0)" (parenthesized_expression "(ppeVar6 != (exp_node **)0x0)" ( (binary_expression "ppeVar6 != (exp_node **)0x0" identifier != (cast_expression "(exp_node **)0x0" ( (type_descriptor "exp_node **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) && (parenthesized_expression "(*ppeVar6 != (exp_node *)0x0)" ( (binary_expression "*ppeVar6 != (exp_node *)0x0" (pointer_expression "*ppeVar6" * identifier) != (cast_expression "(exp_node *)0x0" ( (type_descriptor "exp_node *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n              pcVar4 = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;\n              pcVar5 = ((*local_78)->sub).val.sp;\n              mesg = (char *)dcgettext(0,\n                                       "function `%s\': cannot use function `%s\' as a parameter name"\n                                       ,5);\n              error(mesg,pcVar5,pcVar4);\n              local_6c = false;\n            }" { (expression_statement "pcVar4 = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name;" (assignment_expression "pcVar4 = (pNVar3->sub).nodep.rn[wVar8].sub.nodep.name" identifier = (field_expression "(pNVar3->sub).nodep.rn[wVar8].sub.nodep.name" (field_expression "(pNVar3->sub).nodep.rn[wVar8].sub.nodep" (field_expression "(pNVar3->sub).nodep.rn[wVar8].sub" (subscript_expression "(pNVar3->sub).nodep.rn[wVar8]" (field_expression "(pNVar3->sub).nodep.rn" (field_expression "(pNVar3->sub).nodep" (parenthesized_expression "(pNVar3->sub)" ( (field_expression "pNVar3->sub" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ identifier ]) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "pcVar5 = ((*local_78)->sub).val.sp;" (assignment_expression "pcVar5 = ((*local_78)->sub).val.sp" identifier = (field_expression "((*local_78)->sub).val.sp" (field_expression "((*local_78)->sub).val" (parenthesized_expression "((*local_78)->sub)" ( (field_expression "(*local_78)->sub" (parenthesized_expression "(*local_78)" ( (pointer_expression "*local_78" * identifier) )) -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "mesg = (char *)dcgettext(0,\n                                       "function `%s\': cannot use function `%s\' as a parameter name"\n                                       ,5);" (assignment_expression "mesg = (char *)dcgettext(0,\n                                       "function `%s\': cannot use function `%s\' as a parameter name"\n                                       ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                       "function `%s\': cannot use function `%s\' as a parameter name"\n                                       ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                       "function `%s\': cannot use function `%s\' as a parameter name"\n                                       ,5)" identifier (argument_list "(0,\n                                       "function `%s\': cannot use function `%s\' as a parameter name"\n                                       ,5)" ( number_literal , (string_literal ""function `%s\': cannot use function `%s\' as a parameter name"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "error(mesg,pcVar5,pcVar4);" (call_expression "error(mesg,pcVar5,pcVar4)" identifier (argument_list "(mesg,pcVar5,pcVar4)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_6c = false;" (assignment_expression "local_6c = false" identifier = false) ;) })) (expression_statement "wVar8 = wVar8 + L'\x01';" (assignment_expression "wVar8 = wVar8 + L'\x01'" identifier = (binary_expression "wVar8 + L'\x01'" identifier + (char_literal "L'\x01'" L' escape_sequence '))) ;) }) while (parenthesized_expression "(wVar8 < (pNVar3->sub).nodep.l.ll)" ( (binary_expression "wVar8 < (pNVar3->sub).nodep.l.ll" identifier < (field_expression "(pNVar3->sub).nodep.l.ll" (field_expression "(pNVar3->sub).nodep.l" (field_expression "(pNVar3->sub).nodep" (parenthesized_expression "(pNVar3->sub)" ( (field_expression "pNVar3->sub" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) )) ;) })) (expression_statement "local_78 = local_78 + 2;" (assignment_expression "local_78 = local_78 + 2" identifier = (binary_expression "local_78 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_78 != __ptr + uVar2 * 2)" ( (binary_expression "local_78 != __ptr + uVar2 * 2" identifier != (binary_expression "__ptr + uVar2 * 2" identifier + (binary_expression "uVar2 * 2" identifier * number_literal))) )) ;) })) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) })) (if_statement "if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_6c;\n  }" if (parenthesized_expression "(iVar1 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar1 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return local_6c;\n  }" { (return_statement "return local_6c;" return identifier ;) })) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "undefined1 FUN_00071240(void)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined1 uVar5;\n  int *__ptr;\n  int *piVar6;\n  undefined4 uVar7;\n  int iVar8;\n  char **ppcVar9;\n  int in_GS_OFFSET;\n  int *local_78;\n  char *local_50 [3];\n  size_t local_44;\n  undefined4 local_3c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x71249;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  uVar5 = 1;\n  iVar1 = DAT_000c4f64[8];\n  if (iVar1 != 0) {\n    local_28 = 1;\n    local_24 = 6;\n    ppcVar9 = local_50;\n    for (iVar8 = 10; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *ppcVar9 = (char *)0x0;\n      ppcVar9 = ppcVar9 + 1;\n    }\n    local_3c = 0xffffffff;\n    __ptr = (int *)FUN_00019820(DAT_000c4f64,"@unsorted",3);\n    if (0 < iVar1 * 2) {\n      local_78 = __ptr;\n      do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);\n    }\n    free(__ptr);\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar5;\n  }\n                    \n  FUN_00087be0();\n}\n\n" (function_definition "undefined1 FUN_00071240(void)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined1 uVar5;\n  int *__ptr;\n  int *piVar6;\n  undefined4 uVar7;\n  int iVar8;\n  char **ppcVar9;\n  int in_GS_OFFSET;\n  int *local_78;\n  char *local_50 [3];\n  size_t local_44;\n  undefined4 local_3c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x71249;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  uVar5 = 1;\n  iVar1 = DAT_000c4f64[8];\n  if (iVar1 != 0) {\n    local_28 = 1;\n    local_24 = 6;\n    ppcVar9 = local_50;\n    for (iVar8 = 10; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *ppcVar9 = (char *)0x0;\n      ppcVar9 = ppcVar9 + 1;\n    }\n    local_3c = 0xffffffff;\n    __ptr = (int *)FUN_00019820(DAT_000c4f64,"@unsorted",3);\n    if (0 < iVar1 * 2) {\n      local_78 = __ptr;\n      do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);\n    }\n    free(__ptr);\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar5;\n  }\n                    \n  FUN_00087be0();\n}" type_identifier (function_declarator "FUN_00071240(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined1 uVar5;\n  int *__ptr;\n  int *piVar6;\n  undefined4 uVar7;\n  int iVar8;\n  char **ppcVar9;\n  int in_GS_OFFSET;\n  int *local_78;\n  char *local_50 [3];\n  size_t local_44;\n  undefined4 local_3c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x71249;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  uVar5 = 1;\n  iVar1 = DAT_000c4f64[8];\n  if (iVar1 != 0) {\n    local_28 = 1;\n    local_24 = 6;\n    ppcVar9 = local_50;\n    for (iVar8 = 10; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *ppcVar9 = (char *)0x0;\n      ppcVar9 = ppcVar9 + 1;\n    }\n    local_3c = 0xffffffff;\n    __ptr = (int *)FUN_00019820(DAT_000c4f64,"@unsorted",3);\n    if (0 < iVar1 * 2) {\n      local_78 = __ptr;\n      do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);\n    }\n    free(__ptr);\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar5;\n  }\n                    \n  FUN_00087be0();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined1 uVar5;" type_identifier identifier ;) (declaration "int *__ptr;" primitive_type (pointer_declarator "*__ptr" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char **ppcVar9;" primitive_type (pointer_declarator "**ppcVar9" * (pointer_declarator "*ppcVar9" * identifier)) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "int *local_78;" primitive_type (pointer_declarator "*local_78" * identifier) ;) (declaration "char *local_50 [3];" primitive_type (pointer_declarator "*local_50 [3]" * (array_declarator "local_50 [3]" identifier [ number_literal ])) ;) (declaration "size_t local_44;" primitive_type identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x71249;" (assignment_expression "uStack_14 = 0x71249" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" identifier = number_literal) ;) (expression_statement "iVar1 = DAT_000c4f64[8];" (assignment_expression "iVar1 = DAT_000c4f64[8]" identifier = (subscript_expression "DAT_000c4f64[8]" identifier [ number_literal ])) ;) (if_statement "if (iVar1 != 0) {\n    local_28 = 1;\n    local_24 = 6;\n    ppcVar9 = local_50;\n    for (iVar8 = 10; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *ppcVar9 = (char *)0x0;\n      ppcVar9 = ppcVar9 + 1;\n    }\n    local_3c = 0xffffffff;\n    __ptr = (int *)FUN_00019820(DAT_000c4f64,"@unsorted",3);\n    if (0 < iVar1 * 2) {\n      local_78 = __ptr;\n      do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);\n    }\n    free(__ptr);\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    local_28 = 1;\n    local_24 = 6;\n    ppcVar9 = local_50;\n    for (iVar8 = 10; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *ppcVar9 = (char *)0x0;\n      ppcVar9 = ppcVar9 + 1;\n    }\n    local_3c = 0xffffffff;\n    __ptr = (int *)FUN_00019820(DAT_000c4f64,"@unsorted",3);\n    if (0 < iVar1 * 2) {\n      local_78 = __ptr;\n      do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);\n    }\n    free(__ptr);\n  }" { (expression_statement "local_28 = 1;" (assignment_expression "local_28 = 1" identifier = number_literal) ;) (expression_statement "local_24 = 6;" (assignment_expression "local_24 = 6" identifier = number_literal) ;) (expression_statement "ppcVar9 = local_50;" (assignment_expression "ppcVar9 = local_50" identifier = identifier) ;) (for_statement "for (iVar8 = 10; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *ppcVar9 = (char *)0x0;\n      ppcVar9 = ppcVar9 + 1;\n    }" for ( (assignment_expression "iVar8 = 10" identifier = number_literal) ; (binary_expression "iVar8 != 0" identifier != number_literal) ; (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ) (compound_statement "{\n      *ppcVar9 = (char *)0x0;\n      ppcVar9 = ppcVar9 + 1;\n    }" { (expression_statement "*ppcVar9 = (char *)0x0;" (assignment_expression "*ppcVar9 = (char *)0x0" (pointer_expression "*ppcVar9" * identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppcVar9 = ppcVar9 + 1;" (assignment_expression "ppcVar9 = ppcVar9 + 1" identifier = (binary_expression "ppcVar9 + 1" identifier + number_literal)) ;) })) (expression_statement "local_3c = 0xffffffff;" (assignment_expression "local_3c = 0xffffffff" identifier = number_literal) ;) (expression_statement "__ptr = (int *)FUN_00019820(DAT_000c4f64,"@unsorted",3);" (assignment_expression "__ptr = (int *)FUN_00019820(DAT_000c4f64,"@unsorted",3)" identifier = (cast_expression "(int *)FUN_00019820(DAT_000c4f64,"@unsorted",3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00019820(DAT_000c4f64,"@unsorted",3)" identifier (argument_list "(DAT_000c4f64,"@unsorted",3)" ( identifier , (string_literal ""@unsorted"" " string_content ") , number_literal ))))) ;) (if_statement "if (0 < iVar1 * 2) {\n      local_78 = __ptr;\n      do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);\n    }" if (parenthesized_expression "(0 < iVar1 * 2)" ( (binary_expression "0 < iVar1 * 2" number_literal < (binary_expression "iVar1 * 2" identifier * number_literal)) )) (compound_statement "{\n      local_78 = __ptr;\n      do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);\n    }" { (expression_statement "local_78 = __ptr;" (assignment_expression "local_78 = __ptr" identifier = identifier) ;) (do_statement "do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);" do (compound_statement "{\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      }" { (expression_statement "piVar2 = (int *)local_78[1];" (assignment_expression "piVar2 = (int *)local_78[1]" identifier = (cast_expression "(int *)local_78[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_78[1]" identifier [ number_literal ]))) ;) (if_statement "if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }" if (parenthesized_expression "((piVar2[10] != 10) && (0 < *piVar2))" ( (binary_expression "(piVar2[10] != 10) && (0 < *piVar2)" (parenthesized_expression "(piVar2[10] != 10)" ( (binary_expression "piVar2[10] != 10" (subscript_expression "piVar2[10]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(0 < *piVar2)" ( (binary_expression "0 < *piVar2" number_literal < (pointer_expression "*piVar2" * identifier)) ))) )) (compound_statement "{\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (do_statement "do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);" do (compound_statement "{\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          }" { (expression_statement "local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);" (assignment_expression "local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30)" (subscript_expression "local_50[2]" identifier [ number_literal ]) = (pointer_expression "*(char **)(piVar2[6] + 0x10 + iVar8 * 0x30)" * (cast_expression "(char **)(piVar2[6] + 0x10 + iVar8 * 0x30)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar2[6] + 0x10 + iVar8 * 0x30)" ( (binary_expression "piVar2[6] + 0x10 + iVar8 * 0x30" (binary_expression "piVar2[6] + 0x10" (subscript_expression "piVar2[6]" identifier [ number_literal ]) + number_literal) + (binary_expression "iVar8 * 0x30" identifier * number_literal)) ))))) ;) (expression_statement "local_44 = strlen(local_50[2]);" (assignment_expression "local_44 = strlen(local_50[2])" identifier = (call_expression "strlen(local_50[2])" identifier (argument_list "(local_50[2])" ( (subscript_expression "local_50[2]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);" (assignment_expression "piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50)" identifier = (cast_expression "(int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50)" (parenthesized_expression "(**(code **)(*DAT_000c4f64 + 0x10))" ( (pointer_expression "**(code **)(*DAT_000c4f64 + 0x10)" * (pointer_expression "*(code **)(*DAT_000c4f64 + 0x10)" * (cast_expression "(code **)(*DAT_000c4f64 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*DAT_000c4f64 + 0x10)" ( (binary_expression "*DAT_000c4f64 + 0x10" (pointer_expression "*DAT_000c4f64" * identifier) + number_literal) ))))) )) (argument_list "(DAT_000c4f64,local_50)" ( identifier , identifier ))))) ;) (if_statement "if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }" if (parenthesized_expression "((piVar6 != (int *)0x0) && (*piVar6 != 0))" ( (binary_expression "(piVar6 != (int *)0x0) && (*piVar6 != 0)" (parenthesized_expression "(piVar6 != (int *)0x0)" ( (binary_expression "piVar6 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*piVar6 != 0)" ( (binary_expression "*piVar6 != 0" (pointer_expression "*piVar6" * identifier) != number_literal) ))) )) (compound_statement "{\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }" { (expression_statement "uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);" (assignment_expression "uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30)" identifier = (pointer_expression "*(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30)" * (cast_expression "(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2[6] + 0x10 + iVar8 * 0x30)" ( (binary_expression "piVar2[6] + 0x10 + iVar8 * 0x30" (binary_expression "piVar2[6] + 0x10" (subscript_expression "piVar2[6]" identifier [ number_literal ]) + number_literal) + (binary_expression "iVar8 * 0x30" identifier * number_literal)) ))))) ;) (expression_statement "uVar4 = *(undefined4 *)(*local_78 + 8);" (assignment_expression "uVar4 = *(undefined4 *)(*local_78 + 8)" identifier = (pointer_expression "*(undefined4 *)(*local_78 + 8)" * (cast_expression "(undefined4 *)(*local_78 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_78 + 8)" ( (binary_expression "*local_78 + 8" (pointer_expression "*local_78" * identifier) + number_literal) ))))) ;) (expression_statement "uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;" (assignment_expression "uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)" identifier = (call_expression "dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)" identifier (argument_list "(0,"function `%s\': cannot use function `%s\' as a parameter name",5)" ( number_literal , (string_literal ""function `%s\': cannot use function `%s\' as a parameter name"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "error(uVar7,uVar4,uVar3);" (call_expression "error(uVar7,uVar4,uVar3)" identifier (argument_list "(uVar7,uVar4,uVar3)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) })) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar8 < *piVar2)" ( (binary_expression "iVar8 < *piVar2" identifier < (pointer_expression "*piVar2" * identifier)) )) ;) })) (expression_statement "local_78 = local_78 + 2;" (assignment_expression "local_78 = local_78 + 2" identifier = (binary_expression "local_78 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_78 != __ptr + iVar1 * 2)" ( (binary_expression "local_78 != __ptr + iVar1 * 2" identifier != (binary_expression "__ptr + iVar1 * 2" identifier + (binary_expression "iVar1 * 2" identifier * number_literal))) )) ;) })) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) })) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar5;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return uVar5;\n  }" { (return_statement "return uVar5;" return identifier ;) })) (expression_statement "FUN_00087be0();" (call_expression "FUN_00087be0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * 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 (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT * LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) && (parenthesized_expression ( (binary_expression LIT < (pointer_expression * IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * IDENT)) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + (binary_expression IDENT * LIT))) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "undefined1 FUN_00071240(void)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined1 uVar5;\n  int *__ptr;\n  int *piVar6;\n  undefined4 uVar7;\n  int iVar8;\n  char **ppcVar9;\n  int in_GS_OFFSET;\n  int *local_78;\n  char *local_50 [3];\n  size_t local_44;\n  undefined4 local_3c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x71249;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  uVar5 = 1;\n  iVar1 = DAT_000c4f64[8];\n  if (iVar1 != 0) {\n    local_28 = 1;\n    local_24 = 6;\n    ppcVar9 = local_50;\n    for (iVar8 = 10; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *ppcVar9 = (char *)0x0;\n      ppcVar9 = ppcVar9 + 1;\n    }\n    local_3c = 0xffffffff;\n    __ptr = (int *)FUN_00019820(DAT_000c4f64,"@unsorted",3);\n    if (0 < iVar1 * 2) {\n      local_78 = __ptr;\n      do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);\n    }\n    free(__ptr);\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar5;\n  }\n                    \n  FUN_00087be0();\n}" (type_identifier "undefined1") (function_declarator "FUN_00071240(void)" (identifier "FUN_00071240") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined1 uVar5;\n  int *__ptr;\n  int *piVar6;\n  undefined4 uVar7;\n  int iVar8;\n  char **ppcVar9;\n  int in_GS_OFFSET;\n  int *local_78;\n  char *local_50 [3];\n  size_t local_44;\n  undefined4 local_3c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x71249;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  uVar5 = 1;\n  iVar1 = DAT_000c4f64[8];\n  if (iVar1 != 0) {\n    local_28 = 1;\n    local_24 = 6;\n    ppcVar9 = local_50;\n    for (iVar8 = 10; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *ppcVar9 = (char *)0x0;\n      ppcVar9 = ppcVar9 + 1;\n    }\n    local_3c = 0xffffffff;\n    __ptr = (int *)FUN_00019820(DAT_000c4f64,"@unsorted",3);\n    if (0 < iVar1 * 2) {\n      local_78 = __ptr;\n      do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);\n    }\n    free(__ptr);\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar5;\n  }\n                    \n  FUN_00087be0();\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "undefined1 uVar5;" (type_identifier "undefined1") (identifier "uVar5") (; ";")) (declaration "int *__ptr;" (primitive_type "int") (pointer_declarator "*__ptr" (* "*") (identifier "__ptr")) (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "char **ppcVar9;" (primitive_type "char") (pointer_declarator "**ppcVar9" (* "*") (pointer_declarator "*ppcVar9" (* "*") (identifier "ppcVar9"))) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "int *local_78;" (primitive_type "int") (pointer_declarator "*local_78" (* "*") (identifier "local_78")) (; ";")) (declaration "char *local_50 [3];" (primitive_type "char") (pointer_declarator "*local_50 [3]" (* "*") (array_declarator "local_50 [3]" (identifier "local_50") ([ "[") (number_literal "3") (] "]"))) (; ";")) (declaration "size_t local_44;" (primitive_type "size_t") (identifier "local_44") (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (declaration "undefined4 local_24;" (type_identifier "undefined4") (identifier "local_24") (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x71249;" (assignment_expression "uStack_14 = 0x71249" (identifier "uStack_14") (= "=") (number_literal "0x71249")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" (identifier "uVar5") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar1 = DAT_000c4f64[8];" (assignment_expression "iVar1 = DAT_000c4f64[8]" (identifier "iVar1") (= "=") (subscript_expression "DAT_000c4f64[8]" (identifier "DAT_000c4f64") ([ "[") (number_literal "8") (] "]"))) (; ";")) (if_statement "if (iVar1 != 0) {\n    local_28 = 1;\n    local_24 = 6;\n    ppcVar9 = local_50;\n    for (iVar8 = 10; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *ppcVar9 = (char *)0x0;\n      ppcVar9 = ppcVar9 + 1;\n    }\n    local_3c = 0xffffffff;\n    __ptr = (int *)FUN_00019820(DAT_000c4f64,"@unsorted",3);\n    if (0 < iVar1 * 2) {\n      local_78 = __ptr;\n      do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);\n    }\n    free(__ptr);\n  }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_28 = 1;\n    local_24 = 6;\n    ppcVar9 = local_50;\n    for (iVar8 = 10; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *ppcVar9 = (char *)0x0;\n      ppcVar9 = ppcVar9 + 1;\n    }\n    local_3c = 0xffffffff;\n    __ptr = (int *)FUN_00019820(DAT_000c4f64,"@unsorted",3);\n    if (0 < iVar1 * 2) {\n      local_78 = __ptr;\n      do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);\n    }\n    free(__ptr);\n  }" ({ "{") (expression_statement "local_28 = 1;" (assignment_expression "local_28 = 1" (identifier "local_28") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_24 = 6;" (assignment_expression "local_24 = 6" (identifier "local_24") (= "=") (number_literal "6")) (; ";")) (expression_statement "ppcVar9 = local_50;" (assignment_expression "ppcVar9 = local_50" (identifier "ppcVar9") (= "=") (identifier "local_50")) (; ";")) (for_statement "for (iVar8 = 10; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *ppcVar9 = (char *)0x0;\n      ppcVar9 = ppcVar9 + 1;\n    }" (for "for") (( "(") (assignment_expression "iVar8 = 10" (identifier "iVar8") (= "=") (number_literal "10")) (; ";") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar8 = iVar8 + -1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + -1" (identifier "iVar8") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n      *ppcVar9 = (char *)0x0;\n      ppcVar9 = ppcVar9 + 1;\n    }" ({ "{") (expression_statement "*ppcVar9 = (char *)0x0;" (assignment_expression "*ppcVar9 = (char *)0x0" (pointer_expression "*ppcVar9" (* "*") (identifier "ppcVar9")) (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppcVar9 = ppcVar9 + 1;" (assignment_expression "ppcVar9 = ppcVar9 + 1" (identifier "ppcVar9") (= "=") (binary_expression "ppcVar9 + 1" (identifier "ppcVar9") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "local_3c = 0xffffffff;" (assignment_expression "local_3c = 0xffffffff" (identifier "local_3c") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "__ptr = (int *)FUN_00019820(DAT_000c4f64,"@unsorted",3);" (assignment_expression "__ptr = (int *)FUN_00019820(DAT_000c4f64,"@unsorted",3)" (identifier "__ptr") (= "=") (cast_expression "(int *)FUN_00019820(DAT_000c4f64,"@unsorted",3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00019820(DAT_000c4f64,"@unsorted",3)" (identifier "FUN_00019820") (argument_list "(DAT_000c4f64,"@unsorted",3)" (( "(") (identifier "DAT_000c4f64") (, ",") (string_literal ""@unsorted"" (" """) (string_content "@unsorted") (" """)) (, ",") (number_literal "3") () ")"))))) (; ";")) (if_statement "if (0 < iVar1 * 2) {\n      local_78 = __ptr;\n      do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);\n    }" (if "if") (parenthesized_expression "(0 < iVar1 * 2)" (( "(") (binary_expression "0 < iVar1 * 2" (number_literal "0") (< "<") (binary_expression "iVar1 * 2" (identifier "iVar1") (* "*") (number_literal "2"))) () ")")) (compound_statement "{\n      local_78 = __ptr;\n      do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);\n    }" ({ "{") (expression_statement "local_78 = __ptr;" (assignment_expression "local_78 = __ptr" (identifier "local_78") (= "=") (identifier "__ptr")) (; ";")) (do_statement "do {\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      } while (local_78 != __ptr + iVar1 * 2);" (do "do") (compound_statement "{\n        piVar2 = (int *)local_78[1];\n        if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }\n        local_78 = local_78 + 2;\n      }" ({ "{") (expression_statement "piVar2 = (int *)local_78[1];" (assignment_expression "piVar2 = (int *)local_78[1]" (identifier "piVar2") (= "=") (cast_expression "(int *)local_78[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_78[1]" (identifier "local_78") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if ((piVar2[10] != 10) && (0 < *piVar2)) {\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }" (if "if") (parenthesized_expression "((piVar2[10] != 10) && (0 < *piVar2))" (( "(") (binary_expression "(piVar2[10] != 10) && (0 < *piVar2)" (parenthesized_expression "(piVar2[10] != 10)" (( "(") (binary_expression "piVar2[10] != 10" (subscript_expression "piVar2[10]" (identifier "piVar2") ([ "[") (number_literal "10") (] "]")) (!= "!=") (number_literal "10")) () ")")) (&& "&&") (parenthesized_expression "(0 < *piVar2)" (( "(") (binary_expression "0 < *piVar2" (number_literal "0") (< "<") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) () ")"))) () ")")) (compound_statement "{\n          iVar8 = 0;\n          do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);\n        }" ({ "{") (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          } while (iVar8 < *piVar2);" (do "do") (compound_statement "{\n            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);\n            local_44 = strlen(local_50[2]);\n            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);\n            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }\n            iVar8 = iVar8 + 1;\n          }" ({ "{") (expression_statement "local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);" (assignment_expression "local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30)" (subscript_expression "local_50[2]" (identifier "local_50") ([ "[") (number_literal "2") (] "]")) (= "=") (pointer_expression "*(char **)(piVar2[6] + 0x10 + iVar8 * 0x30)" (* "*") (cast_expression "(char **)(piVar2[6] + 0x10 + iVar8 * 0x30)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar2[6] + 0x10 + iVar8 * 0x30)" (( "(") (binary_expression "piVar2[6] + 0x10 + iVar8 * 0x30" (binary_expression "piVar2[6] + 0x10" (subscript_expression "piVar2[6]" (identifier "piVar2") ([ "[") (number_literal "6") (] "]")) (+ "+") (number_literal "0x10")) (+ "+") (binary_expression "iVar8 * 0x30" (identifier "iVar8") (* "*") (number_literal "0x30"))) () ")"))))) (; ";")) (expression_statement "local_44 = strlen(local_50[2]);" (assignment_expression "local_44 = strlen(local_50[2])" (identifier "local_44") (= "=") (call_expression "strlen(local_50[2])" (identifier "strlen") (argument_list "(local_50[2])" (( "(") (subscript_expression "local_50[2]" (identifier "local_50") ([ "[") (number_literal "2") (] "]")) () ")")))) (; ";")) (expression_statement "piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);" (assignment_expression "piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50)" (identifier "piVar6") (= "=") (cast_expression "(int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50)" (parenthesized_expression "(**(code **)(*DAT_000c4f64 + 0x10))" (( "(") (pointer_expression "**(code **)(*DAT_000c4f64 + 0x10)" (* "*") (pointer_expression "*(code **)(*DAT_000c4f64 + 0x10)" (* "*") (cast_expression "(code **)(*DAT_000c4f64 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*DAT_000c4f64 + 0x10)" (( "(") (binary_expression "*DAT_000c4f64 + 0x10" (pointer_expression "*DAT_000c4f64" (* "*") (identifier "DAT_000c4f64")) (+ "+") (number_literal "0x10")) () ")"))))) () ")")) (argument_list "(DAT_000c4f64,local_50)" (( "(") (identifier "DAT_000c4f64") (, ",") (identifier "local_50") () ")"))))) (; ";")) (if_statement "if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }" (if "if") (parenthesized_expression "((piVar6 != (int *)0x0) && (*piVar6 != 0))" (( "(") (binary_expression "(piVar6 != (int *)0x0) && (*piVar6 != 0)" (parenthesized_expression "(piVar6 != (int *)0x0)" (( "(") (binary_expression "piVar6 != (int *)0x0" (identifier "piVar6") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(*piVar6 != 0)" (( "(") (binary_expression "*piVar6 != 0" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);\n              uVar4 = *(undefined4 *)(*local_78 + 8);\n              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;\n              error(uVar7,uVar4,uVar3);\n              uVar5 = 0;\n            }" ({ "{") (expression_statement "uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);" (assignment_expression "uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30)" (* "*") (cast_expression "(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2[6] + 0x10 + iVar8 * 0x30)" (( "(") (binary_expression "piVar2[6] + 0x10 + iVar8 * 0x30" (binary_expression "piVar2[6] + 0x10" (subscript_expression "piVar2[6]" (identifier "piVar2") ([ "[") (number_literal "6") (] "]")) (+ "+") (number_literal "0x10")) (+ "+") (binary_expression "iVar8 * 0x30" (identifier "iVar8") (* "*") (number_literal "0x30"))) () ")"))))) (; ";")) (expression_statement "uVar4 = *(undefined4 *)(*local_78 + 8);" (assignment_expression "uVar4 = *(undefined4 *)(*local_78 + 8)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined4 *)(*local_78 + 8)" (* "*") (cast_expression "(undefined4 *)(*local_78 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_78 + 8)" (( "(") (binary_expression "*local_78 + 8" (pointer_expression "*local_78" (* "*") (identifier "local_78")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)\n              ;" (assignment_expression "uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)" (identifier "uVar7") (= "=") (call_expression "dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)" (identifier "dcgettext") (argument_list "(0,"function `%s\': cannot use function `%s\' as a parameter name",5)" (( "(") (number_literal "0") (, ",") (string_literal ""function `%s\': cannot use function `%s\' as a parameter name"" (" """) (string_content "function `%s") (escape_sequence "\'") (string_content ": cannot use function `%s") (escape_sequence "\'") (string_content " as a parameter name") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(uVar7,uVar4,uVar3);" (call_expression "error(uVar7,uVar4,uVar3)" (identifier "error") (argument_list "(uVar7,uVar4,uVar3)" (( "(") (identifier "uVar7") (, ",") (identifier "uVar4") (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" (identifier "uVar5") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar8 < *piVar2)" (( "(") (binary_expression "iVar8 < *piVar2" (identifier "iVar8") (< "<") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) () ")")) (; ";")) (} "}"))) (expression_statement "local_78 = local_78 + 2;" (assignment_expression "local_78 = local_78 + 2" (identifier "local_78") (= "=") (binary_expression "local_78 + 2" (identifier "local_78") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_78 != __ptr + iVar1 * 2)" (( "(") (binary_expression "local_78 != __ptr + iVar1 * 2" (identifier "local_78") (!= "!=") (binary_expression "__ptr + iVar1 * 2" (identifier "__ptr") (+ "+") (binary_expression "iVar1 * 2" (identifier "iVar1") (* "*") (number_literal "2")))) () ")")) (; ";")) (} "}"))) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" (identifier "free") (argument_list "(__ptr)" (( "(") (identifier "__ptr") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar5;\n  }" (if "if") (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (== "==") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n    return uVar5;\n  }" ({ "{") (return_statement "return uVar5;" (return "return") (identifier "uVar5") (; ";")) (} "}"))) (expression_statement "FUN_00087be0();" (call_expression "FUN_00087be0()" (identifier "FUN_00087be0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

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

type_1 function_1(void)

{
  int var_14;
  type_2 var_2;
  type_3 *pNVar3;
  char *pcVar4;
  char *pcVar5;
  type_3 **var_12;
  type_4 **var_7;
  char *mesg;
  int var_3;
  type_5 var_10;
  type_4 *peVar9;
  int var_1;
  type_3 **var_11;
  type_1 local_6c;
  type_3 n;
  
  var_14 = *(int *)(var_1 + 0x14);
  local_6c = true;
  var_2 = (func_table->sub).nodep.reflags;
  if (var_2 != 0) {
    n.type = Node_val;
    n.flags = 6;
    peVar9 = &n;
    for (var_3 = 10; var_3 != 0; var_3 = var_3 + -1) {
      (peVar9->sub).nodep.l.lptr = (type_4 *)0x0;
      peVar9 = (type_4 *)((int)&peVar9->sub + 4);
    }
    n.sub.nodep.reserved = 0xffffffff;
    var_12 = var_4(func_table,"@unsorted",ASORTI);
    local_6c = true;
    if (0 < (int)(var_2 * 2)) {
      var_11 = var_12;
      do {
        pNVar3 = var_11[1];
        if ((pNVar3->type != var_5) && (L'\0' < (pNVar3->sub).nodep.l.ll)) {
          var_10 = L'\0';
          do {
            n.sub.val.sp = (pNVar3->sub).nodep.rn[var_10].sub.nodep.name;
            n.sub.val.slen = var_6(n.sub.val.sp);
            var_7 = (*((func_table->sub).nodep.l.lp)->exists)(func_table,&n);
            if ((var_7 != (type_4 **)0x0) && (*var_7 != (type_4 *)0x0)) {
              pcVar4 = (pNVar3->sub).nodep.rn[var_10].sub.nodep.name;
              pcVar5 = ((*var_11)->sub).val.sp;
              mesg = (char *)var_8(0,
                                       "function `%s\': cannot use function `%s\' as a parameter name"
                                       ,5);
              var_9(mesg,pcVar5,pcVar4);
              local_6c = false;
            }
            var_10 = var_10 + L'\x01';
          } while (var_10 < (pNVar3->sub).nodep.l.ll);
        }
        var_11 = var_11 + 2;
      } while (var_11 != var_12 + var_2 * 2);
    }
    var_13(var_12);
  }
  if (var_14 == *(int *)(var_1 + 0x14)) {
    return local_6c;
  }
                    /* WARNING: Subroutine does not return */
  var_15();
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (primitive_type) 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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (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: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))

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

undefined1 MASKED(void)

{
  int iVar1;
  int *piVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  undefined1 uVar5;
  int *__ptr;
  int *piVar6;
  undefined4 uVar7;
  int iVar8;
  char **ppcVar9;
  int in_GS_OFFSET;
  int *local_78;
  char *local_50 [3];
  size_t local_44;
  undefined4 local_3c;
  undefined4 local_28;
  undefined4 local_24;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x71249;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  uVar5 = 1;
  iVar1 = DAT_000c4f64[8];
  if (iVar1 != 0) {
    local_28 = 1;
    local_24 = 6;
    ppcVar9 = local_50;
    for (iVar8 = 10; iVar8 != 0; iVar8 = iVar8 + -1) {
      *ppcVar9 = (char *)0x0;
      ppcVar9 = ppcVar9 + 1;
    }
    local_3c = 0xffffffff;
    __ptr = (int *)FUN_00019820(DAT_000c4f64,"@unsorted",3);
    if (0 < iVar1 * 2) {
      local_78 = __ptr;
      do {
        piVar2 = (int *)local_78[1];
        if ((piVar2[10] != 10) && (0 < *piVar2)) {
          iVar8 = 0;
          do {
            local_50[2] = *(char **)(piVar2[6] + 0x10 + iVar8 * 0x30);
            local_44 = strlen(local_50[2]);
            piVar6 = (int *)(**(code **)(*DAT_000c4f64 + 0x10))(DAT_000c4f64,local_50);
            if ((piVar6 != (int *)0x0) && (*piVar6 != 0)) {
              uVar3 = *(undefined4 *)(piVar2[6] + 0x10 + iVar8 * 0x30);
              uVar4 = *(undefined4 *)(*local_78 + 8);
              uVar7 = dcgettext(0,"function `%s\': cannot use function `%s\' as a parameter name",5)
              ;
              error(uVar7,uVar4,uVar3);
              uVar5 = 0;
            }
            iVar8 = iVar8 + 1;
          } while (iVar8 < *piVar2);
        }
        local_78 = local_78 + 2;
      } while (local_78 != __ptr + iVar1 * 2);
    }
    free(__ptr);
  }
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return uVar5;
  }
                    /* WARNING: Subroutine does not return */
  FUN_00087be0();
}

