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

void s_ifeqs(int arg)

{
  char *pcVar1;
  char *__s2;
  int iVar2;
  char cVar3;
  uint uVar4;
  conditional_frame *pcVar5;
  int len1;
  int len2;
  conditional_frame cframe;
  
  pcVar1 = demand_copy_C_string(&len1);
  cVar3 = *input_line_pointer;
  if (cVar3 == ' ') {
    cVar3 = input_line_pointer[1];
    input_line_pointer = input_line_pointer + 1;
  }
  if (cVar3 != ',') {
    pcVar1 = (char *)dcgettext(0,".ifeqs syntax error",5);
    as_bad(pcVar1);
    ignore_rest_of_line();
    return;
  }
  input_line_pointer = input_line_pointer + 1;
  uVar4 = 0;
  __s2 = demand_copy_C_string(&len2);
  if (len1 == len2) {
    iVar2 = strncmp(pcVar1,__s2,len1);
    uVar4 = (uint)(iVar2 == 0);
  }
  initialize_cframe(&cframe);
  cframe.ignoring = (int)(cframe.dead_tree != 0 || uVar4 == arg);
  if ((uint)((int)cond_obstack.chunk_limit - (int)cond_obstack.next_free) < 0x24) {
    _obstack_newchunk(&cond_obstack,0x24);
    pcVar1 = cond_obstack.next_free + 0x24;
    pcVar5 = (conditional_frame *)cond_obstack.object_base;
    if (pcVar1 != cond_obstack.object_base) goto LAB_00018715;
  }
  else {
    pcVar1 = cond_obstack.next_free + 0x24;
    pcVar5 = (conditional_frame *)cond_obstack.object_base;
    if (pcVar1 != cond_obstack.object_base) goto LAB_00018715;
  }
  cond_obstack._40_1_ = cond_obstack._40_1_ | 2;
  pcVar5 = (conditional_frame *)cond_obstack.object_base;
LAB_00018715:
  cond_obstack.object_base =
       (char *)((uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask);
  if ((uint)((int)cond_obstack.chunk_limit - (int)cond_obstack.chunk) <
      (uint)((int)((uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask) -
            (int)cond_obstack.chunk)) {
    cond_obstack.object_base = cond_obstack.chunk_limit;
  }
  current_cframe = pcVar5;
  cond_obstack.next_free = cond_obstack.object_base;
  (pcVar5->if_file_line).file = cframe.if_file_line.file;
  (pcVar5->if_file_line).line = cframe.if_file_line.line;
  (pcVar5->else_file_line).file = cframe.else_file_line.file;
  (pcVar5->else_file_line).line = cframe.else_file_line.line;
  pcVar5->previous_cframe = cframe.previous_cframe;
  pcVar5->else_seen = cframe.else_seen;
  pcVar5->ignoring = cframe.ignoring;
  pcVar5->dead_tree = cframe.dead_tree;
  pcVar5->macro_nest = cframe.macro_nest;
  if (((((byte)listing & 0x20) != 0) && (cframe.ignoring != 0)) &&
     ((cframe.previous_cframe == (conditional_frame *)0x0 ||
      ((cframe.previous_cframe)->ignoring == 0)))) {
    listing_list(2);
  }
  demand_empty_rest_of_line();
  return;
}



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

void FUN_00018620(uint param_1)

{
  char *__s1;
  undefined4 uVar1;
  char *__s2;
  int iVar2;
  char cVar3;
  undefined4 *puVar4;
  uint uVar5;
  undefined4 *puVar6;
  size_t local_48;
  size_t local_44;
  undefined4 local_40;
  undefined4 local_3c;
  undefined4 local_38;
  undefined4 local_34;
  int local_30;
  undefined4 local_2c;
  uint local_28;
  int local_24;
  undefined4 local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x18629;
  __s1 = (char *)FUN_00032880(&local_48);
  cVar3 = *DAT_00070ff8;
  if (cVar3 == ' ') {
    cVar3 = DAT_00070ff8[1];
    DAT_00070ff8 = DAT_00070ff8 + 1;
  }
  if (cVar3 != ',') {
    uVar1 = dcgettext(0,".ifeqs syntax error",5);
    FUN_0002ac50(uVar1);
    FUN_0002cf40();
    return;
  }
  DAT_00070ff8 = DAT_00070ff8 + 1;
  uVar5 = 0;
  __s2 = (char *)FUN_00032880(&local_44);
  if (local_48 == local_44) {
    iVar2 = strncmp(__s1,__s2,local_48);
    uVar5 = (uint)(iVar2 == 0);
  }
  FUN_00017720();
  local_28 = (uint)(local_24 != 0 || uVar5 == param_1);
  if (DAT_00070f50 - DAT_00070f4c < 0x24) {
    _obstack_newchunk(&DAT_00070f40,0x24);
    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);
    puVar6 = DAT_00070f48;
    if (puVar4 != DAT_00070f48) goto LAB_00018715;
  }
  else {
    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);
    puVar6 = DAT_00070f48;
    if (puVar4 != DAT_00070f48) goto LAB_00018715;
  }
  DAT_00070f68 = DAT_00070f68 | 2;
  puVar6 = DAT_00070f48;
LAB_00018715:
  DAT_00070f48 = (undefined4 *)((int)puVar4 + DAT_00070f58 & ~DAT_00070f58);
  if (DAT_00070f50 - DAT_00070f44 < (uint)((int)DAT_00070f48 - DAT_00070f44)) {
    DAT_00070f48 = (undefined4 *)DAT_00070f50;
  }
  DAT_000707f8 = puVar6;
  DAT_00070f4c = (uint)DAT_00070f48;
  *puVar6 = local_40;
  puVar6[1] = local_3c;
  puVar6[2] = local_38;
  puVar6[3] = local_34;
  puVar6[4] = local_30;
  puVar6[5] = local_2c;
  puVar6[6] = local_28;
  puVar6[7] = local_24;
  puVar6[8] = local_20;
  if ((((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0)) &&
     ((local_30 == 0 || (*(int *)(local_30 + 0x18) == 0)))) {
    FUN_00027750(2);
  }
  FUN_0002d190();
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00015020
ADD EBX,0x4f9d7
SUB ESP,0x58
LEA EAX,[ESP + 0x20]
PUSH EAX
CALL 0x00032880
LEA ECX,[EBX + 0x8ff8]
ADD ESP,0x10
MOV ESI,EAX
MOV EAX,dword ptr [ECX]
MOVZX EDX,byte ptr [EAX]
CMP DL,0x20
JNZ 0x0001865c
LEA EDI,[EAX + 0x1]
MOV dword ptr [ECX],EDI
MOVZX EDX,byte ptr [EAX + 0x1]
MOV EAX,EDI
CMP DL,0x2c
JZ 0x00018690
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe40b4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000131b0
MOV dword ptr [ESP],EAX
CALL 0x0002ac50
CALL 0x0002cf40
ADD ESP,0x10
ADD ESP,0x4c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
ADD EAX,0x1
XOR EDI,EDI
MOV dword ptr [ECX],EAX
LEA EAX,[ESP + 0x24]
PUSH EAX
CALL 0x00032880
MOV EDX,dword ptr [ESP + 0x24]
ADD ESP,0x10
CMP EDX,dword ptr [ESP + 0x18]
JNZ 0x000186c9
SUB ESP,0x4
PUSH EDX
PUSH EAX
PUSH ESI
CALL 0x000136d0
ADD ESP,0x10
TEST EAX,EAX
SETZ AL
MOVZX EAX,AL
MOV EDI,EAX
LEA EAX,[ESP + 0x1c]
CALL 0x00017720
MOV ECX,dword ptr [ESP + 0x38]
LEA ESI,[EBX + 0x8f40]
TEST ECX,ECX
MOV ECX,dword ptr [ESI + 0x10]
SETNZ AL
CMP EDI,dword ptr [ESP + 0x60]
SETZ DL
OR EAX,EDX
MOV EDX,dword ptr [ESI + 0xc]
MOVZX EAX,AL
MOV dword ptr [ESP + 0x34],EAX
MOV EAX,ECX
SUB EAX,EDX
CMP EAX,0x23
JBE 0x000187c0
MOV EDI,dword ptr [ESI + 0x8]
ADD EDX,0x24
MOV dword ptr [ESI + 0xc],EDX
CMP EDX,EDI
JZ 0x000187e5
MOV EBP,dword ptr [ESI + 0x18]
LEA EAX,[EDX + EBP*0x1]
NOT EBP
MOV EDX,dword ptr [ESI + 0x4]
AND EAX,EBP
MOV EBP,EAX
MOV dword ptr [ESI + 0xc],EAX
SUB EBP,EDX
MOV dword ptr [ESP + 0xc],EBP
MOV EBP,ECX
SUB EBP,EDX
CMP dword ptr [ESP + 0xc],EBP
JBE 0x0001873c
MOV dword ptr [ESI + 0xc],ECX
MOV EAX,ECX
MOV dword ptr [ESI + 0x8],EAX
MOV EAX,dword ptr [ESP + 0x1c]
MOV dword ptr [EBX + 0x87f8],EDI
MOV dword ptr [EDI],EAX
MOV EAX,dword ptr [ESP + 0x20]
MOV dword ptr [EDI + 0x4],EAX
MOV EAX,dword ptr [ESP + 0x24]
MOV dword ptr [EDI + 0x8],EAX
MOV EAX,dword ptr [ESP + 0x28]
MOV dword ptr [EDI + 0xc],EAX
MOV EAX,dword ptr [ESP + 0x2c]
MOV dword ptr [EDI + 0x10],EAX
MOV EAX,dword ptr [ESP + 0x30]
MOV dword ptr [EDI + 0x14],EAX
MOV EAX,dword ptr [ESP + 0x34]
MOV dword ptr [EDI + 0x18],EAX
MOV EAX,dword ptr [ESP + 0x38]
MOV dword ptr [EDI + 0x1c],EAX
MOV EAX,dword ptr [ESP + 0x3c]
MOV dword ptr [EDI + 0x20],EAX
LEA EAX,[EBX + 0x8ea0]
TEST byte ptr [EAX],0x20
JZ 0x000187b2
MOV EDX,dword ptr [ESP + 0x34]
TEST EDX,EDX
JZ 0x000187b2
MOV EAX,dword ptr [ESP + 0x2c]
TEST EAX,EAX
JZ 0x000187a5
MOV EAX,dword ptr [EAX + 0x18]
TEST EAX,EAX
JNZ 0x000187b2
SUB ESP,0xc
PUSH 0x2
CALL 0x00027750
ADD ESP,0x10
CALL 0x0002d190
ADD ESP,0x4c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x8
PUSH 0x24
PUSH ESI
CALL 0x000131a0
MOV EDX,dword ptr [ESI + 0xc]
MOV EDI,dword ptr [ESI + 0x8]
ADD ESP,0x10
MOV ECX,dword ptr [ESI + 0x10]
ADD EDX,0x24
MOV dword ptr [ESI + 0xc],EDX
CMP EDX,EDI
JNZ 0x00018715
OR byte ptr [ESI + 0x28],0x2
JMP 0x00018715
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00018620(uint param_1)\n\n{\n  char *__s1;\n  undefined4 uVar1;\n  char *__s2;\n  int iVar2;\n  char cVar3;\n  undefined4 *puVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  size_t local_48;\n  size_t local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  undefined4 local_2c;\n  uint local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x18629;\n  __s1 = (char *)FUN_00032880(&local_48);\n  cVar3 = *DAT_00070ff8;\n  if (cVar3 == ' ') {\n    cVar3 = DAT_00070ff8[1];\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n  }\n  if (cVar3 != ',') {\n    uVar1 = dcgettext(0,".ifeqs syntax error",5);\n    FUN_0002ac50(uVar1);\n    FUN_0002cf40();\n    return;\n  }\n  DAT_00070ff8 = DAT_00070ff8 + 1;\n  uVar5 = 0;\n  __s2 = (char *)FUN_00032880(&local_44);\n  if (local_48 == local_44) {\n    iVar2 = strncmp(__s1,__s2,local_48);\n    uVar5 = (uint)(iVar2 == 0);\n  }\n  FUN_00017720();\n  local_28 = (uint)(local_24 != 0 || uVar5 == param_1);\n  if (DAT_00070f50 - DAT_00070f4c < 0x24) {\n    _obstack_newchunk(&DAT_00070f40,0x24);\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }\n  else {\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }\n  DAT_00070f68 = DAT_00070f68 | 2;\n  puVar6 = DAT_00070f48;\nLAB_00018715:\n  DAT_00070f48 = (undefined4 *)((int)puVar4 + DAT_00070f58 & ~DAT_00070f58);\n  if (DAT_00070f50 - DAT_00070f44 < (uint)((int)DAT_00070f48 - DAT_00070f44)) {\n    DAT_00070f48 = (undefined4 *)DAT_00070f50;\n  }\n  DAT_000707f8 = puVar6;\n  DAT_00070f4c = (uint)DAT_00070f48;\n  *puVar6 = local_40;\n  puVar6[1] = local_3c;\n  puVar6[2] = local_38;\n  puVar6[3] = local_34;\n  puVar6[4] = local_30;\n  puVar6[5] = local_2c;\n  puVar6[6] = local_28;\n  puVar6[7] = local_24;\n  puVar6[8] = local_20;\n  if ((((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0)) &&\n     ((local_30 == 0 || (*(int *)(local_30 + 0x18) == 0)))) {\n    FUN_00027750(2);\n  }\n  FUN_0002d190();\n  return;\n}\n\n" comment (function_definition "void FUN_00018620(uint param_1)\n\n{\n  char *__s1;\n  undefined4 uVar1;\n  char *__s2;\n  int iVar2;\n  char cVar3;\n  undefined4 *puVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  size_t local_48;\n  size_t local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  undefined4 local_2c;\n  uint local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x18629;\n  __s1 = (char *)FUN_00032880(&local_48);\n  cVar3 = *DAT_00070ff8;\n  if (cVar3 == ' ') {\n    cVar3 = DAT_00070ff8[1];\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n  }\n  if (cVar3 != ',') {\n    uVar1 = dcgettext(0,".ifeqs syntax error",5);\n    FUN_0002ac50(uVar1);\n    FUN_0002cf40();\n    return;\n  }\n  DAT_00070ff8 = DAT_00070ff8 + 1;\n  uVar5 = 0;\n  __s2 = (char *)FUN_00032880(&local_44);\n  if (local_48 == local_44) {\n    iVar2 = strncmp(__s1,__s2,local_48);\n    uVar5 = (uint)(iVar2 == 0);\n  }\n  FUN_00017720();\n  local_28 = (uint)(local_24 != 0 || uVar5 == param_1);\n  if (DAT_00070f50 - DAT_00070f4c < 0x24) {\n    _obstack_newchunk(&DAT_00070f40,0x24);\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }\n  else {\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }\n  DAT_00070f68 = DAT_00070f68 | 2;\n  puVar6 = DAT_00070f48;\nLAB_00018715:\n  DAT_00070f48 = (undefined4 *)((int)puVar4 + DAT_00070f58 & ~DAT_00070f58);\n  if (DAT_00070f50 - DAT_00070f44 < (uint)((int)DAT_00070f48 - DAT_00070f44)) {\n    DAT_00070f48 = (undefined4 *)DAT_00070f50;\n  }\n  DAT_000707f8 = puVar6;\n  DAT_00070f4c = (uint)DAT_00070f48;\n  *puVar6 = local_40;\n  puVar6[1] = local_3c;\n  puVar6[2] = local_38;\n  puVar6[3] = local_34;\n  puVar6[4] = local_30;\n  puVar6[5] = local_2c;\n  puVar6[6] = local_28;\n  puVar6[7] = local_24;\n  puVar6[8] = local_20;\n  if ((((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0)) &&\n     ((local_30 == 0 || (*(int *)(local_30 + 0x18) == 0)))) {\n    FUN_00027750(2);\n  }\n  FUN_0002d190();\n  return;\n}" primitive_type (function_declarator "FUN_00018620(uint param_1)" identifier (parameter_list "(uint param_1)" ( (parameter_declaration "uint param_1" type_identifier identifier) ))) (compound_statement "{\n  char *__s1;\n  undefined4 uVar1;\n  char *__s2;\n  int iVar2;\n  char cVar3;\n  undefined4 *puVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  size_t local_48;\n  size_t local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  undefined4 local_2c;\n  uint local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x18629;\n  __s1 = (char *)FUN_00032880(&local_48);\n  cVar3 = *DAT_00070ff8;\n  if (cVar3 == ' ') {\n    cVar3 = DAT_00070ff8[1];\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n  }\n  if (cVar3 != ',') {\n    uVar1 = dcgettext(0,".ifeqs syntax error",5);\n    FUN_0002ac50(uVar1);\n    FUN_0002cf40();\n    return;\n  }\n  DAT_00070ff8 = DAT_00070ff8 + 1;\n  uVar5 = 0;\n  __s2 = (char *)FUN_00032880(&local_44);\n  if (local_48 == local_44) {\n    iVar2 = strncmp(__s1,__s2,local_48);\n    uVar5 = (uint)(iVar2 == 0);\n  }\n  FUN_00017720();\n  local_28 = (uint)(local_24 != 0 || uVar5 == param_1);\n  if (DAT_00070f50 - DAT_00070f4c < 0x24) {\n    _obstack_newchunk(&DAT_00070f40,0x24);\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }\n  else {\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }\n  DAT_00070f68 = DAT_00070f68 | 2;\n  puVar6 = DAT_00070f48;\nLAB_00018715:\n  DAT_00070f48 = (undefined4 *)((int)puVar4 + DAT_00070f58 & ~DAT_00070f58);\n  if (DAT_00070f50 - DAT_00070f44 < (uint)((int)DAT_00070f48 - DAT_00070f44)) {\n    DAT_00070f48 = (undefined4 *)DAT_00070f50;\n  }\n  DAT_000707f8 = puVar6;\n  DAT_00070f4c = (uint)DAT_00070f48;\n  *puVar6 = local_40;\n  puVar6[1] = local_3c;\n  puVar6[2] = local_38;\n  puVar6[3] = local_34;\n  puVar6[4] = local_30;\n  puVar6[5] = local_2c;\n  puVar6[6] = local_28;\n  puVar6[7] = local_24;\n  puVar6[8] = local_20;\n  if ((((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0)) &&\n     ((local_30 == 0 || (*(int *)(local_30 + 0x18) == 0)))) {\n    FUN_00027750(2);\n  }\n  FUN_0002d190();\n  return;\n}" { (declaration "char *__s1;" primitive_type (pointer_declarator "*__s1" * identifier) ;) (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "char *__s2;" primitive_type (pointer_declarator "*__s2" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "size_t local_48;" primitive_type identifier ;) (declaration "size_t local_44;" primitive_type identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x18629;" (assignment_expression "uStack_14 = 0x18629" identifier = number_literal) ;) (expression_statement "__s1 = (char *)FUN_00032880(&local_48);" (assignment_expression "__s1 = (char *)FUN_00032880(&local_48)" identifier = (cast_expression "(char *)FUN_00032880(&local_48)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00032880(&local_48)" identifier (argument_list "(&local_48)" ( (pointer_expression "&local_48" & identifier) ))))) ;) (expression_statement "cVar3 = *DAT_00070ff8;" (assignment_expression "cVar3 = *DAT_00070ff8" identifier = (pointer_expression "*DAT_00070ff8" * identifier)) ;) (if_statement "if (cVar3 == ' ') {\n    cVar3 = DAT_00070ff8[1];\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n  }" if (parenthesized_expression "(cVar3 == ' ')" ( (binary_expression "cVar3 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n    cVar3 = DAT_00070ff8[1];\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n  }" { (expression_statement "cVar3 = DAT_00070ff8[1];" (assignment_expression "cVar3 = DAT_00070ff8[1]" identifier = (subscript_expression "DAT_00070ff8[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) })) (if_statement "if (cVar3 != ',') {\n    uVar1 = dcgettext(0,".ifeqs syntax error",5);\n    FUN_0002ac50(uVar1);\n    FUN_0002cf40();\n    return;\n  }" if (parenthesized_expression "(cVar3 != ',')" ( (binary_expression "cVar3 != ','" identifier != (char_literal "','" ' character ')) )) (compound_statement "{\n    uVar1 = dcgettext(0,".ifeqs syntax error",5);\n    FUN_0002ac50(uVar1);\n    FUN_0002cf40();\n    return;\n  }" { (expression_statement "uVar1 = dcgettext(0,".ifeqs syntax error",5);" (assignment_expression "uVar1 = dcgettext(0,".ifeqs syntax error",5)" identifier = (call_expression "dcgettext(0,".ifeqs syntax error",5)" identifier (argument_list "(0,".ifeqs syntax error",5)" ( number_literal , (string_literal "".ifeqs syntax error"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002ac50(uVar1);" (call_expression "FUN_0002ac50(uVar1)" identifier (argument_list "(uVar1)" ( identifier ))) ;) (expression_statement "FUN_0002cf40();" (call_expression "FUN_0002cf40()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (expression_statement "__s2 = (char *)FUN_00032880(&local_44);" (assignment_expression "__s2 = (char *)FUN_00032880(&local_44)" identifier = (cast_expression "(char *)FUN_00032880(&local_44)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00032880(&local_44)" identifier (argument_list "(&local_44)" ( (pointer_expression "&local_44" & identifier) ))))) ;) (if_statement "if (local_48 == local_44) {\n    iVar2 = strncmp(__s1,__s2,local_48);\n    uVar5 = (uint)(iVar2 == 0);\n  }" if (parenthesized_expression "(local_48 == local_44)" ( (binary_expression "local_48 == local_44" identifier == identifier) )) (compound_statement "{\n    iVar2 = strncmp(__s1,__s2,local_48);\n    uVar5 = (uint)(iVar2 == 0);\n  }" { (expression_statement "iVar2 = strncmp(__s1,__s2,local_48);" (assignment_expression "iVar2 = strncmp(__s1,__s2,local_48)" identifier = (call_expression "strncmp(__s1,__s2,local_48)" identifier (argument_list "(__s1,__s2,local_48)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar5 = (uint)(iVar2 == 0);" (assignment_expression "uVar5 = (uint)(iVar2 == 0)" identifier = (call_expression "(uint)(iVar2 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )))) ;) })) (expression_statement "FUN_00017720();" (call_expression "FUN_00017720()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_28 = (uint)(local_24 != 0 || uVar5 == param_1);" (assignment_expression "local_28 = (uint)(local_24 != 0 || uVar5 == param_1)" identifier = (call_expression "(uint)(local_24 != 0 || uVar5 == param_1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_24 != 0 || uVar5 == param_1)" ( (binary_expression "local_24 != 0 || uVar5 == param_1" (binary_expression "local_24 != 0" identifier != number_literal) || (binary_expression "uVar5 == param_1" identifier == identifier)) )))) ;) (if_statement "if (DAT_00070f50 - DAT_00070f4c < 0x24) {\n    _obstack_newchunk(&DAT_00070f40,0x24);\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }\n  else {\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }" if (parenthesized_expression "(DAT_00070f50 - DAT_00070f4c < 0x24)" ( (binary_expression "DAT_00070f50 - DAT_00070f4c < 0x24" (binary_expression "DAT_00070f50 - DAT_00070f4c" identifier - identifier) < number_literal) )) (compound_statement "{\n    _obstack_newchunk(&DAT_00070f40,0x24);\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }" { (expression_statement "_obstack_newchunk(&DAT_00070f40,0x24);" (call_expression "_obstack_newchunk(&DAT_00070f40,0x24)" identifier (argument_list "(&DAT_00070f40,0x24)" ( (pointer_expression "&DAT_00070f40" & identifier) , number_literal ))) ;) (expression_statement "puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);" (assignment_expression "puVar4 = (undefined4 *)(DAT_00070f4c + 0x24)" identifier = (cast_expression "(undefined4 *)(DAT_00070f4c + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00070f4c + 0x24)" ( (binary_expression "DAT_00070f4c + 0x24" identifier + number_literal) )))) ;) (expression_statement "puVar6 = DAT_00070f48;" (assignment_expression "puVar6 = DAT_00070f48" identifier = identifier) ;) (if_statement "if (puVar4 != DAT_00070f48) goto LAB_00018715;" if (parenthesized_expression "(puVar4 != DAT_00070f48)" ( (binary_expression "puVar4 != DAT_00070f48" identifier != identifier) )) (goto_statement "goto LAB_00018715;" goto statement_identifier ;)) }) (else_clause "else {\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }" else (compound_statement "{\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }" { (expression_statement "puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);" (assignment_expression "puVar4 = (undefined4 *)(DAT_00070f4c + 0x24)" identifier = (cast_expression "(undefined4 *)(DAT_00070f4c + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00070f4c + 0x24)" ( (binary_expression "DAT_00070f4c + 0x24" identifier + number_literal) )))) ;) (expression_statement "puVar6 = DAT_00070f48;" (assignment_expression "puVar6 = DAT_00070f48" identifier = identifier) ;) (if_statement "if (puVar4 != DAT_00070f48) goto LAB_00018715;" if (parenthesized_expression "(puVar4 != DAT_00070f48)" ( (binary_expression "puVar4 != DAT_00070f48" identifier != identifier) )) (goto_statement "goto LAB_00018715;" goto statement_identifier ;)) }))) (expression_statement "DAT_00070f68 = DAT_00070f68 | 2;" (assignment_expression "DAT_00070f68 = DAT_00070f68 | 2" identifier = (binary_expression "DAT_00070f68 | 2" identifier | number_literal)) ;) (expression_statement "puVar6 = DAT_00070f48;" (assignment_expression "puVar6 = DAT_00070f48" identifier = identifier) ;) (labeled_statement "LAB_00018715:\n  DAT_00070f48 = (undefined4 *)((int)puVar4 + DAT_00070f58 & ~DAT_00070f58);" statement_identifier : (expression_statement "DAT_00070f48 = (undefined4 *)((int)puVar4 + DAT_00070f58 & ~DAT_00070f58);" (assignment_expression "DAT_00070f48 = (undefined4 *)((int)puVar4 + DAT_00070f58 & ~DAT_00070f58)" identifier = (cast_expression "(undefined4 *)((int)puVar4 + DAT_00070f58 & ~DAT_00070f58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar4 + DAT_00070f58 & ~DAT_00070f58)" ( (binary_expression "(int)puVar4 + DAT_00070f58 & ~DAT_00070f58" (binary_expression "(int)puVar4 + DAT_00070f58" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) & (unary_expression "~DAT_00070f58" ~ identifier)) )))) ;)) (if_statement "if (DAT_00070f50 - DAT_00070f44 < (uint)((int)DAT_00070f48 - DAT_00070f44)) {\n    DAT_00070f48 = (undefined4 *)DAT_00070f50;\n  }" if (parenthesized_expression "(DAT_00070f50 - DAT_00070f44 < (uint)((int)DAT_00070f48 - DAT_00070f44))" ( (binary_expression "DAT_00070f50 - DAT_00070f44 < (uint)((int)DAT_00070f48 - DAT_00070f44)" (binary_expression "DAT_00070f50 - DAT_00070f44" identifier - identifier) < (call_expression "(uint)((int)DAT_00070f48 - DAT_00070f44)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)DAT_00070f48 - DAT_00070f44)" ( (binary_expression "(int)DAT_00070f48 - DAT_00070f44" (cast_expression "(int)DAT_00070f48" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) )) (compound_statement "{\n    DAT_00070f48 = (undefined4 *)DAT_00070f50;\n  }" { (expression_statement "DAT_00070f48 = (undefined4 *)DAT_00070f50;" (assignment_expression "DAT_00070f48 = (undefined4 *)DAT_00070f50" identifier = (cast_expression "(undefined4 *)DAT_00070f50" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "DAT_000707f8 = puVar6;" (assignment_expression "DAT_000707f8 = puVar6" identifier = identifier) ;) (expression_statement "DAT_00070f4c = (uint)DAT_00070f48;" (assignment_expression "DAT_00070f4c = (uint)DAT_00070f48" identifier = (cast_expression "(uint)DAT_00070f48" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*puVar6 = local_40;" (assignment_expression "*puVar6 = local_40" (pointer_expression "*puVar6" * identifier) = identifier) ;) (expression_statement "puVar6[1] = local_3c;" (assignment_expression "puVar6[1] = local_3c" (subscript_expression "puVar6[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[2] = local_38;" (assignment_expression "puVar6[2] = local_38" (subscript_expression "puVar6[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[3] = local_34;" (assignment_expression "puVar6[3] = local_34" (subscript_expression "puVar6[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[4] = local_30;" (assignment_expression "puVar6[4] = local_30" (subscript_expression "puVar6[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[5] = local_2c;" (assignment_expression "puVar6[5] = local_2c" (subscript_expression "puVar6[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[6] = local_28;" (assignment_expression "puVar6[6] = local_28" (subscript_expression "puVar6[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[7] = local_24;" (assignment_expression "puVar6[7] = local_24" (subscript_expression "puVar6[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[8] = local_20;" (assignment_expression "puVar6[8] = local_20" (subscript_expression "puVar6[8]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0)) &&\n     ((local_30 == 0 || (*(int *)(local_30 + 0x18) == 0)))) {\n    FUN_00027750(2);\n  }" if (parenthesized_expression "((((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0)) &&\n     ((local_30 == 0 || (*(int *)(local_30 + 0x18) == 0))))" ( (binary_expression "(((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0)) &&\n     ((local_30 == 0 || (*(int *)(local_30 + 0x18) == 0)))" (parenthesized_expression "(((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0))" ( (binary_expression "((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0)" (parenthesized_expression "((DAT_00070ea0 & 0x20) != 0)" ( (binary_expression "(DAT_00070ea0 & 0x20) != 0" (parenthesized_expression "(DAT_00070ea0 & 0x20)" ( (binary_expression "DAT_00070ea0 & 0x20" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(local_28 != 0)" ( (binary_expression "local_28 != 0" identifier != number_literal) ))) )) && (parenthesized_expression "((local_30 == 0 || (*(int *)(local_30 + 0x18) == 0)))" ( (parenthesized_expression "(local_30 == 0 || (*(int *)(local_30 + 0x18) == 0))" ( (binary_expression "local_30 == 0 || (*(int *)(local_30 + 0x18) == 0)" (binary_expression "local_30 == 0" identifier == number_literal) || (parenthesized_expression "(*(int *)(local_30 + 0x18) == 0)" ( (binary_expression "*(int *)(local_30 + 0x18) == 0" (pointer_expression "*(int *)(local_30 + 0x18)" * (cast_expression "(int *)(local_30 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_30 + 0x18)" ( (binary_expression "local_30 + 0x18" identifier + number_literal) )))) == number_literal) ))) )) ))) )) (compound_statement "{\n    FUN_00027750(2);\n  }" { (expression_statement "FUN_00027750(2);" (call_expression "FUN_00027750(2)" identifier (argument_list "(2)" ( number_literal ))) ;) })) (expression_statement "FUN_0002d190();" (call_expression "FUN_0002d190()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nvoid s_ifeqs(int arg)\n\n{\n  char *pcVar1;\n  char *__s2;\n  int iVar2;\n  char cVar3;\n  uint uVar4;\n  conditional_frame *pcVar5;\n  int len1;\n  int len2;\n  conditional_frame cframe;\n  \n  pcVar1 = demand_copy_C_string(&len1);\n  cVar3 = *input_line_pointer;\n  if (cVar3 == ' ') {\n    cVar3 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }\n  if (cVar3 != ',') {\n    pcVar1 = (char *)dcgettext(0,".ifeqs syntax error",5);\n    as_bad(pcVar1);\n    ignore_rest_of_line();\n    return;\n  }\n  input_line_pointer = input_line_pointer + 1;\n  uVar4 = 0;\n  __s2 = demand_copy_C_string(&len2);\n  if (len1 == len2) {\n    iVar2 = strncmp(pcVar1,__s2,len1);\n    uVar4 = (uint)(iVar2 == 0);\n  }\n  initialize_cframe(&cframe);\n  cframe.ignoring = (int)(cframe.dead_tree != 0 || uVar4 == arg);\n  if ((uint)((int)cond_obstack.chunk_limit - (int)cond_obstack.next_free) < 0x24) {\n    _obstack_newchunk(&cond_obstack,0x24);\n    pcVar1 = cond_obstack.next_free + 0x24;\n    pcVar5 = (conditional_frame *)cond_obstack.object_base;\n    if (pcVar1 != cond_obstack.object_base) goto LAB_00018715;\n  }\n  else {\n    pcVar1 = cond_obstack.next_free + 0x24;\n    pcVar5 = (conditional_frame *)cond_obstack.object_base;\n    if (pcVar1 != cond_obstack.object_base) goto LAB_00018715;\n  }\n  cond_obstack._40_1_ = cond_obstack._40_1_ | 2;\n  pcVar5 = (conditional_frame *)cond_obstack.object_base;\nLAB_00018715:\n  cond_obstack.object_base =\n       (char *)((uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask);\n  if ((uint)((int)cond_obstack.chunk_limit - (int)cond_obstack.chunk) <\n      (uint)((int)((uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask) -\n            (int)cond_obstack.chunk)) {\n    cond_obstack.object_base = cond_obstack.chunk_limit;\n  }\n  current_cframe = pcVar5;\n  cond_obstack.next_free = cond_obstack.object_base;\n  (pcVar5->if_file_line).file = cframe.if_file_line.file;\n  (pcVar5->if_file_line).line = cframe.if_file_line.line;\n  (pcVar5->else_file_line).file = cframe.else_file_line.file;\n  (pcVar5->else_file_line).line = cframe.else_file_line.line;\n  pcVar5->previous_cframe = cframe.previous_cframe;\n  pcVar5->else_seen = cframe.else_seen;\n  pcVar5->ignoring = cframe.ignoring;\n  pcVar5->dead_tree = cframe.dead_tree;\n  pcVar5->macro_nest = cframe.macro_nest;\n  if (((((byte)listing & 0x20) != 0) && (cframe.ignoring != 0)) &&\n     ((cframe.previous_cframe == (conditional_frame *)0x0 ||\n      ((cframe.previous_cframe)->ignoring == 0)))) {\n    listing_list(2);\n  }\n  demand_empty_rest_of_line();\n  return;\n}\n\n" comment comment (function_definition "void s_ifeqs(int arg)\n\n{\n  char *pcVar1;\n  char *__s2;\n  int iVar2;\n  char cVar3;\n  uint uVar4;\n  conditional_frame *pcVar5;\n  int len1;\n  int len2;\n  conditional_frame cframe;\n  \n  pcVar1 = demand_copy_C_string(&len1);\n  cVar3 = *input_line_pointer;\n  if (cVar3 == ' ') {\n    cVar3 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }\n  if (cVar3 != ',') {\n    pcVar1 = (char *)dcgettext(0,".ifeqs syntax error",5);\n    as_bad(pcVar1);\n    ignore_rest_of_line();\n    return;\n  }\n  input_line_pointer = input_line_pointer + 1;\n  uVar4 = 0;\n  __s2 = demand_copy_C_string(&len2);\n  if (len1 == len2) {\n    iVar2 = strncmp(pcVar1,__s2,len1);\n    uVar4 = (uint)(iVar2 == 0);\n  }\n  initialize_cframe(&cframe);\n  cframe.ignoring = (int)(cframe.dead_tree != 0 || uVar4 == arg);\n  if ((uint)((int)cond_obstack.chunk_limit - (int)cond_obstack.next_free) < 0x24) {\n    _obstack_newchunk(&cond_obstack,0x24);\n    pcVar1 = cond_obstack.next_free + 0x24;\n    pcVar5 = (conditional_frame *)cond_obstack.object_base;\n    if (pcVar1 != cond_obstack.object_base) goto LAB_00018715;\n  }\n  else {\n    pcVar1 = cond_obstack.next_free + 0x24;\n    pcVar5 = (conditional_frame *)cond_obstack.object_base;\n    if (pcVar1 != cond_obstack.object_base) goto LAB_00018715;\n  }\n  cond_obstack._40_1_ = cond_obstack._40_1_ | 2;\n  pcVar5 = (conditional_frame *)cond_obstack.object_base;\nLAB_00018715:\n  cond_obstack.object_base =\n       (char *)((uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask);\n  if ((uint)((int)cond_obstack.chunk_limit - (int)cond_obstack.chunk) <\n      (uint)((int)((uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask) -\n            (int)cond_obstack.chunk)) {\n    cond_obstack.object_base = cond_obstack.chunk_limit;\n  }\n  current_cframe = pcVar5;\n  cond_obstack.next_free = cond_obstack.object_base;\n  (pcVar5->if_file_line).file = cframe.if_file_line.file;\n  (pcVar5->if_file_line).line = cframe.if_file_line.line;\n  (pcVar5->else_file_line).file = cframe.else_file_line.file;\n  (pcVar5->else_file_line).line = cframe.else_file_line.line;\n  pcVar5->previous_cframe = cframe.previous_cframe;\n  pcVar5->else_seen = cframe.else_seen;\n  pcVar5->ignoring = cframe.ignoring;\n  pcVar5->dead_tree = cframe.dead_tree;\n  pcVar5->macro_nest = cframe.macro_nest;\n  if (((((byte)listing & 0x20) != 0) && (cframe.ignoring != 0)) &&\n     ((cframe.previous_cframe == (conditional_frame *)0x0 ||\n      ((cframe.previous_cframe)->ignoring == 0)))) {\n    listing_list(2);\n  }\n  demand_empty_rest_of_line();\n  return;\n}" primitive_type (function_declarator "s_ifeqs(int arg)" identifier (parameter_list "(int arg)" ( (parameter_declaration "int arg" primitive_type identifier) ))) (compound_statement "{\n  char *pcVar1;\n  char *__s2;\n  int iVar2;\n  char cVar3;\n  uint uVar4;\n  conditional_frame *pcVar5;\n  int len1;\n  int len2;\n  conditional_frame cframe;\n  \n  pcVar1 = demand_copy_C_string(&len1);\n  cVar3 = *input_line_pointer;\n  if (cVar3 == ' ') {\n    cVar3 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }\n  if (cVar3 != ',') {\n    pcVar1 = (char *)dcgettext(0,".ifeqs syntax error",5);\n    as_bad(pcVar1);\n    ignore_rest_of_line();\n    return;\n  }\n  input_line_pointer = input_line_pointer + 1;\n  uVar4 = 0;\n  __s2 = demand_copy_C_string(&len2);\n  if (len1 == len2) {\n    iVar2 = strncmp(pcVar1,__s2,len1);\n    uVar4 = (uint)(iVar2 == 0);\n  }\n  initialize_cframe(&cframe);\n  cframe.ignoring = (int)(cframe.dead_tree != 0 || uVar4 == arg);\n  if ((uint)((int)cond_obstack.chunk_limit - (int)cond_obstack.next_free) < 0x24) {\n    _obstack_newchunk(&cond_obstack,0x24);\n    pcVar1 = cond_obstack.next_free + 0x24;\n    pcVar5 = (conditional_frame *)cond_obstack.object_base;\n    if (pcVar1 != cond_obstack.object_base) goto LAB_00018715;\n  }\n  else {\n    pcVar1 = cond_obstack.next_free + 0x24;\n    pcVar5 = (conditional_frame *)cond_obstack.object_base;\n    if (pcVar1 != cond_obstack.object_base) goto LAB_00018715;\n  }\n  cond_obstack._40_1_ = cond_obstack._40_1_ | 2;\n  pcVar5 = (conditional_frame *)cond_obstack.object_base;\nLAB_00018715:\n  cond_obstack.object_base =\n       (char *)((uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask);\n  if ((uint)((int)cond_obstack.chunk_limit - (int)cond_obstack.chunk) <\n      (uint)((int)((uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask) -\n            (int)cond_obstack.chunk)) {\n    cond_obstack.object_base = cond_obstack.chunk_limit;\n  }\n  current_cframe = pcVar5;\n  cond_obstack.next_free = cond_obstack.object_base;\n  (pcVar5->if_file_line).file = cframe.if_file_line.file;\n  (pcVar5->if_file_line).line = cframe.if_file_line.line;\n  (pcVar5->else_file_line).file = cframe.else_file_line.file;\n  (pcVar5->else_file_line).line = cframe.else_file_line.line;\n  pcVar5->previous_cframe = cframe.previous_cframe;\n  pcVar5->else_seen = cframe.else_seen;\n  pcVar5->ignoring = cframe.ignoring;\n  pcVar5->dead_tree = cframe.dead_tree;\n  pcVar5->macro_nest = cframe.macro_nest;\n  if (((((byte)listing & 0x20) != 0) && (cframe.ignoring != 0)) &&\n     ((cframe.previous_cframe == (conditional_frame *)0x0 ||\n      ((cframe.previous_cframe)->ignoring == 0)))) {\n    listing_list(2);\n  }\n  demand_empty_rest_of_line();\n  return;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char *__s2;" primitive_type (pointer_declarator "*__s2" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "conditional_frame *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "int len1;" primitive_type identifier ;) (declaration "int len2;" primitive_type identifier ;) (declaration "conditional_frame cframe;" type_identifier identifier ;) (expression_statement "pcVar1 = demand_copy_C_string(&len1);" (assignment_expression "pcVar1 = demand_copy_C_string(&len1)" identifier = (call_expression "demand_copy_C_string(&len1)" identifier (argument_list "(&len1)" ( (pointer_expression "&len1" & identifier) )))) ;) (expression_statement "cVar3 = *input_line_pointer;" (assignment_expression "cVar3 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;) (if_statement "if (cVar3 == ' ') {\n    cVar3 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }" if (parenthesized_expression "(cVar3 == ' ')" ( (binary_expression "cVar3 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n    cVar3 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }" { (expression_statement "cVar3 = input_line_pointer[1];" (assignment_expression "cVar3 = input_line_pointer[1]" identifier = (subscript_expression "input_line_pointer[1]" identifier [ number_literal ])) ;) (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) })) (if_statement "if (cVar3 != ',') {\n    pcVar1 = (char *)dcgettext(0,".ifeqs syntax error",5);\n    as_bad(pcVar1);\n    ignore_rest_of_line();\n    return;\n  }" if (parenthesized_expression "(cVar3 != ',')" ( (binary_expression "cVar3 != ','" identifier != (char_literal "','" ' character ')) )) (compound_statement "{\n    pcVar1 = (char *)dcgettext(0,".ifeqs syntax error",5);\n    as_bad(pcVar1);\n    ignore_rest_of_line();\n    return;\n  }" { (expression_statement "pcVar1 = (char *)dcgettext(0,".ifeqs syntax error",5);" (assignment_expression "pcVar1 = (char *)dcgettext(0,".ifeqs syntax error",5)" identifier = (cast_expression "(char *)dcgettext(0,".ifeqs syntax error",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,".ifeqs syntax error",5)" identifier (argument_list "(0,".ifeqs syntax error",5)" ( number_literal , (string_literal "".ifeqs syntax error"" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar1);" (call_expression "as_bad(pcVar1)" identifier (argument_list "(pcVar1)" ( identifier ))) ;) (expression_statement "ignore_rest_of_line();" (call_expression "ignore_rest_of_line()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (expression_statement "__s2 = demand_copy_C_string(&len2);" (assignment_expression "__s2 = demand_copy_C_string(&len2)" identifier = (call_expression "demand_copy_C_string(&len2)" identifier (argument_list "(&len2)" ( (pointer_expression "&len2" & identifier) )))) ;) (if_statement "if (len1 == len2) {\n    iVar2 = strncmp(pcVar1,__s2,len1);\n    uVar4 = (uint)(iVar2 == 0);\n  }" if (parenthesized_expression "(len1 == len2)" ( (binary_expression "len1 == len2" identifier == identifier) )) (compound_statement "{\n    iVar2 = strncmp(pcVar1,__s2,len1);\n    uVar4 = (uint)(iVar2 == 0);\n  }" { (expression_statement "iVar2 = strncmp(pcVar1,__s2,len1);" (assignment_expression "iVar2 = strncmp(pcVar1,__s2,len1)" identifier = (call_expression "strncmp(pcVar1,__s2,len1)" identifier (argument_list "(pcVar1,__s2,len1)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar4 = (uint)(iVar2 == 0);" (assignment_expression "uVar4 = (uint)(iVar2 == 0)" identifier = (call_expression "(uint)(iVar2 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )))) ;) })) (expression_statement "initialize_cframe(&cframe);" (call_expression "initialize_cframe(&cframe)" identifier (argument_list "(&cframe)" ( (pointer_expression "&cframe" & identifier) ))) ;) (expression_statement "cframe.ignoring = (int)(cframe.dead_tree != 0 || uVar4 == arg);" (assignment_expression "cframe.ignoring = (int)(cframe.dead_tree != 0 || uVar4 == arg)" (field_expression "cframe.ignoring" identifier . field_identifier) = (cast_expression "(int)(cframe.dead_tree != 0 || uVar4 == arg)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(cframe.dead_tree != 0 || uVar4 == arg)" ( (binary_expression "cframe.dead_tree != 0 || uVar4 == arg" (binary_expression "cframe.dead_tree != 0" (field_expression "cframe.dead_tree" identifier . field_identifier) != number_literal) || (binary_expression "uVar4 == arg" identifier == identifier)) )))) ;) (if_statement "if ((uint)((int)cond_obstack.chunk_limit - (int)cond_obstack.next_free) < 0x24) {\n    _obstack_newchunk(&cond_obstack,0x24);\n    pcVar1 = cond_obstack.next_free + 0x24;\n    pcVar5 = (conditional_frame *)cond_obstack.object_base;\n    if (pcVar1 != cond_obstack.object_base) goto LAB_00018715;\n  }\n  else {\n    pcVar1 = cond_obstack.next_free + 0x24;\n    pcVar5 = (conditional_frame *)cond_obstack.object_base;\n    if (pcVar1 != cond_obstack.object_base) goto LAB_00018715;\n  }" if (parenthesized_expression "((uint)((int)cond_obstack.chunk_limit - (int)cond_obstack.next_free) < 0x24)" ( (binary_expression "(uint)((int)cond_obstack.chunk_limit - (int)cond_obstack.next_free) < 0x24" (call_expression "(uint)((int)cond_obstack.chunk_limit - (int)cond_obstack.next_free)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)cond_obstack.chunk_limit - (int)cond_obstack.next_free)" ( (binary_expression "(int)cond_obstack.chunk_limit - (int)cond_obstack.next_free" (cast_expression "(int)cond_obstack.chunk_limit" ( (type_descriptor "int" primitive_type) ) (field_expression "cond_obstack.chunk_limit" identifier . field_identifier)) - (cast_expression "(int)cond_obstack.next_free" ( (type_descriptor "int" primitive_type) ) (field_expression "cond_obstack.next_free" identifier . field_identifier))) ))) < number_literal) )) (compound_statement "{\n    _obstack_newchunk(&cond_obstack,0x24);\n    pcVar1 = cond_obstack.next_free + 0x24;\n    pcVar5 = (conditional_frame *)cond_obstack.object_base;\n    if (pcVar1 != cond_obstack.object_base) goto LAB_00018715;\n  }" { (expression_statement "_obstack_newchunk(&cond_obstack,0x24);" (call_expression "_obstack_newchunk(&cond_obstack,0x24)" identifier (argument_list "(&cond_obstack,0x24)" ( (pointer_expression "&cond_obstack" & identifier) , number_literal ))) ;) (expression_statement "pcVar1 = cond_obstack.next_free + 0x24;" (assignment_expression "pcVar1 = cond_obstack.next_free + 0x24" identifier = (binary_expression "cond_obstack.next_free + 0x24" (field_expression "cond_obstack.next_free" identifier . field_identifier) + number_literal)) ;) (expression_statement "pcVar5 = (conditional_frame *)cond_obstack.object_base;" (assignment_expression "pcVar5 = (conditional_frame *)cond_obstack.object_base" identifier = (cast_expression "(conditional_frame *)cond_obstack.object_base" ( (type_descriptor "conditional_frame *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "cond_obstack.object_base" identifier . field_identifier))) ;) (if_statement "if (pcVar1 != cond_obstack.object_base) goto LAB_00018715;" if (parenthesized_expression "(pcVar1 != cond_obstack.object_base)" ( (binary_expression "pcVar1 != cond_obstack.object_base" identifier != (field_expression "cond_obstack.object_base" identifier . field_identifier)) )) (goto_statement "goto LAB_00018715;" goto statement_identifier ;)) }) (else_clause "else {\n    pcVar1 = cond_obstack.next_free + 0x24;\n    pcVar5 = (conditional_frame *)cond_obstack.object_base;\n    if (pcVar1 != cond_obstack.object_base) goto LAB_00018715;\n  }" else (compound_statement "{\n    pcVar1 = cond_obstack.next_free + 0x24;\n    pcVar5 = (conditional_frame *)cond_obstack.object_base;\n    if (pcVar1 != cond_obstack.object_base) goto LAB_00018715;\n  }" { (expression_statement "pcVar1 = cond_obstack.next_free + 0x24;" (assignment_expression "pcVar1 = cond_obstack.next_free + 0x24" identifier = (binary_expression "cond_obstack.next_free + 0x24" (field_expression "cond_obstack.next_free" identifier . field_identifier) + number_literal)) ;) (expression_statement "pcVar5 = (conditional_frame *)cond_obstack.object_base;" (assignment_expression "pcVar5 = (conditional_frame *)cond_obstack.object_base" identifier = (cast_expression "(conditional_frame *)cond_obstack.object_base" ( (type_descriptor "conditional_frame *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "cond_obstack.object_base" identifier . field_identifier))) ;) (if_statement "if (pcVar1 != cond_obstack.object_base) goto LAB_00018715;" if (parenthesized_expression "(pcVar1 != cond_obstack.object_base)" ( (binary_expression "pcVar1 != cond_obstack.object_base" identifier != (field_expression "cond_obstack.object_base" identifier . field_identifier)) )) (goto_statement "goto LAB_00018715;" goto statement_identifier ;)) }))) (expression_statement "cond_obstack._40_1_ = cond_obstack._40_1_ | 2;" (assignment_expression "cond_obstack._40_1_ = cond_obstack._40_1_ | 2" (field_expression "cond_obstack._40_1_" identifier . field_identifier) = (binary_expression "cond_obstack._40_1_ | 2" (field_expression "cond_obstack._40_1_" identifier . field_identifier) | number_literal)) ;) (expression_statement "pcVar5 = (conditional_frame *)cond_obstack.object_base;" (assignment_expression "pcVar5 = (conditional_frame *)cond_obstack.object_base" identifier = (cast_expression "(conditional_frame *)cond_obstack.object_base" ( (type_descriptor "conditional_frame *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "cond_obstack.object_base" identifier . field_identifier))) ;) (labeled_statement "LAB_00018715:\n  cond_obstack.object_base =\n       (char *)((uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask);" statement_identifier : (expression_statement "cond_obstack.object_base =\n       (char *)((uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask);" (assignment_expression "cond_obstack.object_base =\n       (char *)((uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask)" (field_expression "cond_obstack.object_base" identifier . field_identifier) = (cast_expression "(char *)((uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask)" ( (binary_expression "(uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask" (call_expression "(uint)(pcVar1 + cond_obstack.alignment_mask)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar1 + cond_obstack.alignment_mask)" ( (binary_expression "pcVar1 + cond_obstack.alignment_mask" identifier + (field_expression "cond_obstack.alignment_mask" identifier . field_identifier)) ))) & (unary_expression "~cond_obstack.alignment_mask" ~ (field_expression "cond_obstack.alignment_mask" identifier . field_identifier))) )))) ;)) (if_statement "if ((uint)((int)cond_obstack.chunk_limit - (int)cond_obstack.chunk) <\n      (uint)((int)((uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask) -\n            (int)cond_obstack.chunk)) {\n    cond_obstack.object_base = cond_obstack.chunk_limit;\n  }" if (parenthesized_expression "((uint)((int)cond_obstack.chunk_limit - (int)cond_obstack.chunk) <\n      (uint)((int)((uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask) -\n            (int)cond_obstack.chunk))" ( (binary_expression "(uint)((int)cond_obstack.chunk_limit - (int)cond_obstack.chunk) <\n      (uint)((int)((uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask) -\n            (int)cond_obstack.chunk)" (call_expression "(uint)((int)cond_obstack.chunk_limit - (int)cond_obstack.chunk)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)cond_obstack.chunk_limit - (int)cond_obstack.chunk)" ( (binary_expression "(int)cond_obstack.chunk_limit - (int)cond_obstack.chunk" (cast_expression "(int)cond_obstack.chunk_limit" ( (type_descriptor "int" primitive_type) ) (field_expression "cond_obstack.chunk_limit" identifier . field_identifier)) - (cast_expression "(int)cond_obstack.chunk" ( (type_descriptor "int" primitive_type) ) (field_expression "cond_obstack.chunk" identifier . field_identifier))) ))) < (call_expression "(uint)((int)((uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask) -\n            (int)cond_obstack.chunk)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)((uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask) -\n            (int)cond_obstack.chunk)" ( (binary_expression "(int)((uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask) -\n            (int)cond_obstack.chunk" (cast_expression "(int)((uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask)" ( (binary_expression "(uint)(pcVar1 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask" (call_expression "(uint)(pcVar1 + cond_obstack.alignment_mask)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar1 + cond_obstack.alignment_mask)" ( (binary_expression "pcVar1 + cond_obstack.alignment_mask" identifier + (field_expression "cond_obstack.alignment_mask" identifier . field_identifier)) ))) & (unary_expression "~cond_obstack.alignment_mask" ~ (field_expression "cond_obstack.alignment_mask" identifier . field_identifier))) ))) - (cast_expression "(int)cond_obstack.chunk" ( (type_descriptor "int" primitive_type) ) (field_expression "cond_obstack.chunk" identifier . field_identifier))) )))) )) (compound_statement "{\n    cond_obstack.object_base = cond_obstack.chunk_limit;\n  }" { (expression_statement "cond_obstack.object_base = cond_obstack.chunk_limit;" (assignment_expression "cond_obstack.object_base = cond_obstack.chunk_limit" (field_expression "cond_obstack.object_base" identifier . field_identifier) = (field_expression "cond_obstack.chunk_limit" identifier . field_identifier)) ;) })) (expression_statement "current_cframe = pcVar5;" (assignment_expression "current_cframe = pcVar5" identifier = identifier) ;) (expression_statement "cond_obstack.next_free = cond_obstack.object_base;" (assignment_expression "cond_obstack.next_free = cond_obstack.object_base" (field_expression "cond_obstack.next_free" identifier . field_identifier) = (field_expression "cond_obstack.object_base" identifier . field_identifier)) ;) (expression_statement "(pcVar5->if_file_line).file = cframe.if_file_line.file;" (assignment_expression "(pcVar5->if_file_line).file = cframe.if_file_line.file" (field_expression "(pcVar5->if_file_line).file" (parenthesized_expression "(pcVar5->if_file_line)" ( (field_expression "pcVar5->if_file_line" identifier -> field_identifier) )) . field_identifier) = (field_expression "cframe.if_file_line.file" (field_expression "cframe.if_file_line" identifier . field_identifier) . field_identifier)) ;) (expression_statement "(pcVar5->if_file_line).line = cframe.if_file_line.line;" (assignment_expression "(pcVar5->if_file_line).line = cframe.if_file_line.line" (field_expression "(pcVar5->if_file_line).line" (parenthesized_expression "(pcVar5->if_file_line)" ( (field_expression "pcVar5->if_file_line" identifier -> field_identifier) )) . field_identifier) = (field_expression "cframe.if_file_line.line" (field_expression "cframe.if_file_line" identifier . field_identifier) . field_identifier)) ;) (expression_statement "(pcVar5->else_file_line).file = cframe.else_file_line.file;" (assignment_expression "(pcVar5->else_file_line).file = cframe.else_file_line.file" (field_expression "(pcVar5->else_file_line).file" (parenthesized_expression "(pcVar5->else_file_line)" ( (field_expression "pcVar5->else_file_line" identifier -> field_identifier) )) . field_identifier) = (field_expression "cframe.else_file_line.file" (field_expression "cframe.else_file_line" identifier . field_identifier) . field_identifier)) ;) (expression_statement "(pcVar5->else_file_line).line = cframe.else_file_line.line;" (assignment_expression "(pcVar5->else_file_line).line = cframe.else_file_line.line" (field_expression "(pcVar5->else_file_line).line" (parenthesized_expression "(pcVar5->else_file_line)" ( (field_expression "pcVar5->else_file_line" identifier -> field_identifier) )) . field_identifier) = (field_expression "cframe.else_file_line.line" (field_expression "cframe.else_file_line" identifier . field_identifier) . field_identifier)) ;) (expression_statement "pcVar5->previous_cframe = cframe.previous_cframe;" (assignment_expression "pcVar5->previous_cframe = cframe.previous_cframe" (field_expression "pcVar5->previous_cframe" identifier -> field_identifier) = (field_expression "cframe.previous_cframe" identifier . field_identifier)) ;) (expression_statement "pcVar5->else_seen = cframe.else_seen;" (assignment_expression "pcVar5->else_seen = cframe.else_seen" (field_expression "pcVar5->else_seen" identifier -> field_identifier) = (field_expression "cframe.else_seen" identifier . field_identifier)) ;) (expression_statement "pcVar5->ignoring = cframe.ignoring;" (assignment_expression "pcVar5->ignoring = cframe.ignoring" (field_expression "pcVar5->ignoring" identifier -> field_identifier) = (field_expression "cframe.ignoring" identifier . field_identifier)) ;) (expression_statement "pcVar5->dead_tree = cframe.dead_tree;" (assignment_expression "pcVar5->dead_tree = cframe.dead_tree" (field_expression "pcVar5->dead_tree" identifier -> field_identifier) = (field_expression "cframe.dead_tree" identifier . field_identifier)) ;) (expression_statement "pcVar5->macro_nest = cframe.macro_nest;" (assignment_expression "pcVar5->macro_nest = cframe.macro_nest" (field_expression "pcVar5->macro_nest" identifier -> field_identifier) = (field_expression "cframe.macro_nest" identifier . field_identifier)) ;) (if_statement "if (((((byte)listing & 0x20) != 0) && (cframe.ignoring != 0)) &&\n     ((cframe.previous_cframe == (conditional_frame *)0x0 ||\n      ((cframe.previous_cframe)->ignoring == 0)))) {\n    listing_list(2);\n  }" if (parenthesized_expression "(((((byte)listing & 0x20) != 0) && (cframe.ignoring != 0)) &&\n     ((cframe.previous_cframe == (conditional_frame *)0x0 ||\n      ((cframe.previous_cframe)->ignoring == 0))))" ( (binary_expression "((((byte)listing & 0x20) != 0) && (cframe.ignoring != 0)) &&\n     ((cframe.previous_cframe == (conditional_frame *)0x0 ||\n      ((cframe.previous_cframe)->ignoring == 0)))" (parenthesized_expression "((((byte)listing & 0x20) != 0) && (cframe.ignoring != 0))" ( (binary_expression "(((byte)listing & 0x20) != 0) && (cframe.ignoring != 0)" (parenthesized_expression "(((byte)listing & 0x20) != 0)" ( (binary_expression "((byte)listing & 0x20) != 0" (parenthesized_expression "((byte)listing & 0x20)" ( (binary_expression "(byte)listing & 0x20" (cast_expression "(byte)listing" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) && (parenthesized_expression "(cframe.ignoring != 0)" ( (binary_expression "cframe.ignoring != 0" (field_expression "cframe.ignoring" identifier . field_identifier) != number_literal) ))) )) && (parenthesized_expression "((cframe.previous_cframe == (conditional_frame *)0x0 ||\n      ((cframe.previous_cframe)->ignoring == 0)))" ( (parenthesized_expression "(cframe.previous_cframe == (conditional_frame *)0x0 ||\n      ((cframe.previous_cframe)->ignoring == 0))" ( (binary_expression "cframe.previous_cframe == (conditional_frame *)0x0 ||\n      ((cframe.previous_cframe)->ignoring == 0)" (binary_expression "cframe.previous_cframe == (conditional_frame *)0x0" (field_expression "cframe.previous_cframe" identifier . field_identifier) == (cast_expression "(conditional_frame *)0x0" ( (type_descriptor "conditional_frame *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "((cframe.previous_cframe)->ignoring == 0)" ( (binary_expression "(cframe.previous_cframe)->ignoring == 0" (field_expression "(cframe.previous_cframe)->ignoring" (parenthesized_expression "(cframe.previous_cframe)" ( (field_expression "cframe.previous_cframe" identifier . field_identifier) )) -> field_identifier) == number_literal) ))) )) ))) )) (compound_statement "{\n    listing_list(2);\n  }" { (expression_statement "listing_list(2);" (call_expression "listing_list(2)" identifier (argument_list "(2)" ( number_literal ))) ;) })) (expression_statement "demand_empty_rest_of_line();" (call_expression "demand_empty_rest_of_line()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00018620(uint param_1)\n\n{\n  char *__s1;\n  undefined4 uVar1;\n  char *__s2;\n  int iVar2;\n  char cVar3;\n  undefined4 *puVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  size_t local_48;\n  size_t local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  undefined4 local_2c;\n  uint local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x18629;\n  __s1 = (char *)FUN_00032880(&local_48);\n  cVar3 = *DAT_00070ff8;\n  if (cVar3 == ' ') {\n    cVar3 = DAT_00070ff8[1];\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n  }\n  if (cVar3 != ',') {\n    uVar1 = dcgettext(0,".ifeqs syntax error",5);\n    FUN_0002ac50(uVar1);\n    FUN_0002cf40();\n    return;\n  }\n  DAT_00070ff8 = DAT_00070ff8 + 1;\n  uVar5 = 0;\n  __s2 = (char *)FUN_00032880(&local_44);\n  if (local_48 == local_44) {\n    iVar2 = strncmp(__s1,__s2,local_48);\n    uVar5 = (uint)(iVar2 == 0);\n  }\n  FUN_00017720();\n  local_28 = (uint)(local_24 != 0 || uVar5 == param_1);\n  if (DAT_00070f50 - DAT_00070f4c < 0x24) {\n    _obstack_newchunk(&DAT_00070f40,0x24);\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }\n  else {\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }\n  DAT_00070f68 = DAT_00070f68 | 2;\n  puVar6 = DAT_00070f48;\nLAB_00018715:\n  DAT_00070f48 = (undefined4 *)((int)puVar4 + DAT_00070f58 & ~DAT_00070f58);\n  if (DAT_00070f50 - DAT_00070f44 < (uint)((int)DAT_00070f48 - DAT_00070f44)) {\n    DAT_00070f48 = (undefined4 *)DAT_00070f50;\n  }\n  DAT_000707f8 = puVar6;\n  DAT_00070f4c = (uint)DAT_00070f48;\n  *puVar6 = local_40;\n  puVar6[1] = local_3c;\n  puVar6[2] = local_38;\n  puVar6[3] = local_34;\n  puVar6[4] = local_30;\n  puVar6[5] = local_2c;\n  puVar6[6] = local_28;\n  puVar6[7] = local_24;\n  puVar6[8] = local_20;\n  if ((((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0)) &&\n     ((local_30 == 0 || (*(int *)(local_30 + 0x18) == 0)))) {\n    FUN_00027750(2);\n  }\n  FUN_0002d190();\n  return;\n}\n\n" (function_definition "void FUN_00018620(uint param_1)\n\n{\n  char *__s1;\n  undefined4 uVar1;\n  char *__s2;\n  int iVar2;\n  char cVar3;\n  undefined4 *puVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  size_t local_48;\n  size_t local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  undefined4 local_2c;\n  uint local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x18629;\n  __s1 = (char *)FUN_00032880(&local_48);\n  cVar3 = *DAT_00070ff8;\n  if (cVar3 == ' ') {\n    cVar3 = DAT_00070ff8[1];\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n  }\n  if (cVar3 != ',') {\n    uVar1 = dcgettext(0,".ifeqs syntax error",5);\n    FUN_0002ac50(uVar1);\n    FUN_0002cf40();\n    return;\n  }\n  DAT_00070ff8 = DAT_00070ff8 + 1;\n  uVar5 = 0;\n  __s2 = (char *)FUN_00032880(&local_44);\n  if (local_48 == local_44) {\n    iVar2 = strncmp(__s1,__s2,local_48);\n    uVar5 = (uint)(iVar2 == 0);\n  }\n  FUN_00017720();\n  local_28 = (uint)(local_24 != 0 || uVar5 == param_1);\n  if (DAT_00070f50 - DAT_00070f4c < 0x24) {\n    _obstack_newchunk(&DAT_00070f40,0x24);\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }\n  else {\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }\n  DAT_00070f68 = DAT_00070f68 | 2;\n  puVar6 = DAT_00070f48;\nLAB_00018715:\n  DAT_00070f48 = (undefined4 *)((int)puVar4 + DAT_00070f58 & ~DAT_00070f58);\n  if (DAT_00070f50 - DAT_00070f44 < (uint)((int)DAT_00070f48 - DAT_00070f44)) {\n    DAT_00070f48 = (undefined4 *)DAT_00070f50;\n  }\n  DAT_000707f8 = puVar6;\n  DAT_00070f4c = (uint)DAT_00070f48;\n  *puVar6 = local_40;\n  puVar6[1] = local_3c;\n  puVar6[2] = local_38;\n  puVar6[3] = local_34;\n  puVar6[4] = local_30;\n  puVar6[5] = local_2c;\n  puVar6[6] = local_28;\n  puVar6[7] = local_24;\n  puVar6[8] = local_20;\n  if ((((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0)) &&\n     ((local_30 == 0 || (*(int *)(local_30 + 0x18) == 0)))) {\n    FUN_00027750(2);\n  }\n  FUN_0002d190();\n  return;\n}" primitive_type (function_declarator "FUN_00018620(uint param_1)" identifier (parameter_list "(uint param_1)" ( (parameter_declaration "uint param_1" type_identifier identifier) ))) (compound_statement "{\n  char *__s1;\n  undefined4 uVar1;\n  char *__s2;\n  int iVar2;\n  char cVar3;\n  undefined4 *puVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  size_t local_48;\n  size_t local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  undefined4 local_2c;\n  uint local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x18629;\n  __s1 = (char *)FUN_00032880(&local_48);\n  cVar3 = *DAT_00070ff8;\n  if (cVar3 == ' ') {\n    cVar3 = DAT_00070ff8[1];\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n  }\n  if (cVar3 != ',') {\n    uVar1 = dcgettext(0,".ifeqs syntax error",5);\n    FUN_0002ac50(uVar1);\n    FUN_0002cf40();\n    return;\n  }\n  DAT_00070ff8 = DAT_00070ff8 + 1;\n  uVar5 = 0;\n  __s2 = (char *)FUN_00032880(&local_44);\n  if (local_48 == local_44) {\n    iVar2 = strncmp(__s1,__s2,local_48);\n    uVar5 = (uint)(iVar2 == 0);\n  }\n  FUN_00017720();\n  local_28 = (uint)(local_24 != 0 || uVar5 == param_1);\n  if (DAT_00070f50 - DAT_00070f4c < 0x24) {\n    _obstack_newchunk(&DAT_00070f40,0x24);\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }\n  else {\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }\n  DAT_00070f68 = DAT_00070f68 | 2;\n  puVar6 = DAT_00070f48;\nLAB_00018715:\n  DAT_00070f48 = (undefined4 *)((int)puVar4 + DAT_00070f58 & ~DAT_00070f58);\n  if (DAT_00070f50 - DAT_00070f44 < (uint)((int)DAT_00070f48 - DAT_00070f44)) {\n    DAT_00070f48 = (undefined4 *)DAT_00070f50;\n  }\n  DAT_000707f8 = puVar6;\n  DAT_00070f4c = (uint)DAT_00070f48;\n  *puVar6 = local_40;\n  puVar6[1] = local_3c;\n  puVar6[2] = local_38;\n  puVar6[3] = local_34;\n  puVar6[4] = local_30;\n  puVar6[5] = local_2c;\n  puVar6[6] = local_28;\n  puVar6[7] = local_24;\n  puVar6[8] = local_20;\n  if ((((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0)) &&\n     ((local_30 == 0 || (*(int *)(local_30 + 0x18) == 0)))) {\n    FUN_00027750(2);\n  }\n  FUN_0002d190();\n  return;\n}" { (declaration "char *__s1;" primitive_type (pointer_declarator "*__s1" * identifier) ;) (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "char *__s2;" primitive_type (pointer_declarator "*__s2" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "size_t local_48;" primitive_type identifier ;) (declaration "size_t local_44;" primitive_type identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x18629;" (assignment_expression "uStack_14 = 0x18629" identifier = number_literal) ;) (expression_statement "__s1 = (char *)FUN_00032880(&local_48);" (assignment_expression "__s1 = (char *)FUN_00032880(&local_48)" identifier = (cast_expression "(char *)FUN_00032880(&local_48)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00032880(&local_48)" identifier (argument_list "(&local_48)" ( (pointer_expression "&local_48" & identifier) ))))) ;) (expression_statement "cVar3 = *DAT_00070ff8;" (assignment_expression "cVar3 = *DAT_00070ff8" identifier = (pointer_expression "*DAT_00070ff8" * identifier)) ;) (if_statement "if (cVar3 == ' ') {\n    cVar3 = DAT_00070ff8[1];\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n  }" if (parenthesized_expression "(cVar3 == ' ')" ( (binary_expression "cVar3 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n    cVar3 = DAT_00070ff8[1];\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n  }" { (expression_statement "cVar3 = DAT_00070ff8[1];" (assignment_expression "cVar3 = DAT_00070ff8[1]" identifier = (subscript_expression "DAT_00070ff8[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) })) (if_statement "if (cVar3 != ',') {\n    uVar1 = dcgettext(0,".ifeqs syntax error",5);\n    FUN_0002ac50(uVar1);\n    FUN_0002cf40();\n    return;\n  }" if (parenthesized_expression "(cVar3 != ',')" ( (binary_expression "cVar3 != ','" identifier != (char_literal "','" ' character ')) )) (compound_statement "{\n    uVar1 = dcgettext(0,".ifeqs syntax error",5);\n    FUN_0002ac50(uVar1);\n    FUN_0002cf40();\n    return;\n  }" { (expression_statement "uVar1 = dcgettext(0,".ifeqs syntax error",5);" (assignment_expression "uVar1 = dcgettext(0,".ifeqs syntax error",5)" identifier = (call_expression "dcgettext(0,".ifeqs syntax error",5)" identifier (argument_list "(0,".ifeqs syntax error",5)" ( number_literal , (string_literal "".ifeqs syntax error"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002ac50(uVar1);" (call_expression "FUN_0002ac50(uVar1)" identifier (argument_list "(uVar1)" ( identifier ))) ;) (expression_statement "FUN_0002cf40();" (call_expression "FUN_0002cf40()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (expression_statement "__s2 = (char *)FUN_00032880(&local_44);" (assignment_expression "__s2 = (char *)FUN_00032880(&local_44)" identifier = (cast_expression "(char *)FUN_00032880(&local_44)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00032880(&local_44)" identifier (argument_list "(&local_44)" ( (pointer_expression "&local_44" & identifier) ))))) ;) (if_statement "if (local_48 == local_44) {\n    iVar2 = strncmp(__s1,__s2,local_48);\n    uVar5 = (uint)(iVar2 == 0);\n  }" if (parenthesized_expression "(local_48 == local_44)" ( (binary_expression "local_48 == local_44" identifier == identifier) )) (compound_statement "{\n    iVar2 = strncmp(__s1,__s2,local_48);\n    uVar5 = (uint)(iVar2 == 0);\n  }" { (expression_statement "iVar2 = strncmp(__s1,__s2,local_48);" (assignment_expression "iVar2 = strncmp(__s1,__s2,local_48)" identifier = (call_expression "strncmp(__s1,__s2,local_48)" identifier (argument_list "(__s1,__s2,local_48)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar5 = (uint)(iVar2 == 0);" (assignment_expression "uVar5 = (uint)(iVar2 == 0)" identifier = (call_expression "(uint)(iVar2 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )))) ;) })) (expression_statement "FUN_00017720();" (call_expression "FUN_00017720()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_28 = (uint)(local_24 != 0 || uVar5 == param_1);" (assignment_expression "local_28 = (uint)(local_24 != 0 || uVar5 == param_1)" identifier = (call_expression "(uint)(local_24 != 0 || uVar5 == param_1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_24 != 0 || uVar5 == param_1)" ( (binary_expression "local_24 != 0 || uVar5 == param_1" (binary_expression "local_24 != 0" identifier != number_literal) || (binary_expression "uVar5 == param_1" identifier == identifier)) )))) ;) (if_statement "if (DAT_00070f50 - DAT_00070f4c < 0x24) {\n    _obstack_newchunk(&DAT_00070f40,0x24);\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }\n  else {\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }" if (parenthesized_expression "(DAT_00070f50 - DAT_00070f4c < 0x24)" ( (binary_expression "DAT_00070f50 - DAT_00070f4c < 0x24" (binary_expression "DAT_00070f50 - DAT_00070f4c" identifier - identifier) < number_literal) )) (compound_statement "{\n    _obstack_newchunk(&DAT_00070f40,0x24);\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }" { (expression_statement "_obstack_newchunk(&DAT_00070f40,0x24);" (call_expression "_obstack_newchunk(&DAT_00070f40,0x24)" identifier (argument_list "(&DAT_00070f40,0x24)" ( (pointer_expression "&DAT_00070f40" & identifier) , number_literal ))) ;) (expression_statement "puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);" (assignment_expression "puVar4 = (undefined4 *)(DAT_00070f4c + 0x24)" identifier = (cast_expression "(undefined4 *)(DAT_00070f4c + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00070f4c + 0x24)" ( (binary_expression "DAT_00070f4c + 0x24" identifier + number_literal) )))) ;) (expression_statement "puVar6 = DAT_00070f48;" (assignment_expression "puVar6 = DAT_00070f48" identifier = identifier) ;) (if_statement "if (puVar4 != DAT_00070f48) goto LAB_00018715;" if (parenthesized_expression "(puVar4 != DAT_00070f48)" ( (binary_expression "puVar4 != DAT_00070f48" identifier != identifier) )) (goto_statement "goto LAB_00018715;" goto statement_identifier ;)) }) (else_clause "else {\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }" else (compound_statement "{\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }" { (expression_statement "puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);" (assignment_expression "puVar4 = (undefined4 *)(DAT_00070f4c + 0x24)" identifier = (cast_expression "(undefined4 *)(DAT_00070f4c + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00070f4c + 0x24)" ( (binary_expression "DAT_00070f4c + 0x24" identifier + number_literal) )))) ;) (expression_statement "puVar6 = DAT_00070f48;" (assignment_expression "puVar6 = DAT_00070f48" identifier = identifier) ;) (if_statement "if (puVar4 != DAT_00070f48) goto LAB_00018715;" if (parenthesized_expression "(puVar4 != DAT_00070f48)" ( (binary_expression "puVar4 != DAT_00070f48" identifier != identifier) )) (goto_statement "goto LAB_00018715;" goto statement_identifier ;)) }))) (expression_statement "DAT_00070f68 = DAT_00070f68 | 2;" (assignment_expression "DAT_00070f68 = DAT_00070f68 | 2" identifier = (binary_expression "DAT_00070f68 | 2" identifier | number_literal)) ;) (expression_statement "puVar6 = DAT_00070f48;" (assignment_expression "puVar6 = DAT_00070f48" identifier = identifier) ;) (labeled_statement "LAB_00018715:\n  DAT_00070f48 = (undefined4 *)((int)puVar4 + DAT_00070f58 & ~DAT_00070f58);" statement_identifier : (expression_statement "DAT_00070f48 = (undefined4 *)((int)puVar4 + DAT_00070f58 & ~DAT_00070f58);" (assignment_expression "DAT_00070f48 = (undefined4 *)((int)puVar4 + DAT_00070f58 & ~DAT_00070f58)" identifier = (cast_expression "(undefined4 *)((int)puVar4 + DAT_00070f58 & ~DAT_00070f58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar4 + DAT_00070f58 & ~DAT_00070f58)" ( (binary_expression "(int)puVar4 + DAT_00070f58 & ~DAT_00070f58" (binary_expression "(int)puVar4 + DAT_00070f58" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) & (unary_expression "~DAT_00070f58" ~ identifier)) )))) ;)) (if_statement "if (DAT_00070f50 - DAT_00070f44 < (uint)((int)DAT_00070f48 - DAT_00070f44)) {\n    DAT_00070f48 = (undefined4 *)DAT_00070f50;\n  }" if (parenthesized_expression "(DAT_00070f50 - DAT_00070f44 < (uint)((int)DAT_00070f48 - DAT_00070f44))" ( (binary_expression "DAT_00070f50 - DAT_00070f44 < (uint)((int)DAT_00070f48 - DAT_00070f44)" (binary_expression "DAT_00070f50 - DAT_00070f44" identifier - identifier) < (call_expression "(uint)((int)DAT_00070f48 - DAT_00070f44)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)DAT_00070f48 - DAT_00070f44)" ( (binary_expression "(int)DAT_00070f48 - DAT_00070f44" (cast_expression "(int)DAT_00070f48" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) )) (compound_statement "{\n    DAT_00070f48 = (undefined4 *)DAT_00070f50;\n  }" { (expression_statement "DAT_00070f48 = (undefined4 *)DAT_00070f50;" (assignment_expression "DAT_00070f48 = (undefined4 *)DAT_00070f50" identifier = (cast_expression "(undefined4 *)DAT_00070f50" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "DAT_000707f8 = puVar6;" (assignment_expression "DAT_000707f8 = puVar6" identifier = identifier) ;) (expression_statement "DAT_00070f4c = (uint)DAT_00070f48;" (assignment_expression "DAT_00070f4c = (uint)DAT_00070f48" identifier = (cast_expression "(uint)DAT_00070f48" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*puVar6 = local_40;" (assignment_expression "*puVar6 = local_40" (pointer_expression "*puVar6" * identifier) = identifier) ;) (expression_statement "puVar6[1] = local_3c;" (assignment_expression "puVar6[1] = local_3c" (subscript_expression "puVar6[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[2] = local_38;" (assignment_expression "puVar6[2] = local_38" (subscript_expression "puVar6[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[3] = local_34;" (assignment_expression "puVar6[3] = local_34" (subscript_expression "puVar6[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[4] = local_30;" (assignment_expression "puVar6[4] = local_30" (subscript_expression "puVar6[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[5] = local_2c;" (assignment_expression "puVar6[5] = local_2c" (subscript_expression "puVar6[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[6] = local_28;" (assignment_expression "puVar6[6] = local_28" (subscript_expression "puVar6[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[7] = local_24;" (assignment_expression "puVar6[7] = local_24" (subscript_expression "puVar6[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[8] = local_20;" (assignment_expression "puVar6[8] = local_20" (subscript_expression "puVar6[8]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0)) &&\n     ((local_30 == 0 || (*(int *)(local_30 + 0x18) == 0)))) {\n    FUN_00027750(2);\n  }" if (parenthesized_expression "((((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0)) &&\n     ((local_30 == 0 || (*(int *)(local_30 + 0x18) == 0))))" ( (binary_expression "(((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0)) &&\n     ((local_30 == 0 || (*(int *)(local_30 + 0x18) == 0)))" (parenthesized_expression "(((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0))" ( (binary_expression "((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0)" (parenthesized_expression "((DAT_00070ea0 & 0x20) != 0)" ( (binary_expression "(DAT_00070ea0 & 0x20) != 0" (parenthesized_expression "(DAT_00070ea0 & 0x20)" ( (binary_expression "DAT_00070ea0 & 0x20" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(local_28 != 0)" ( (binary_expression "local_28 != 0" identifier != number_literal) ))) )) && (parenthesized_expression "((local_30 == 0 || (*(int *)(local_30 + 0x18) == 0)))" ( (parenthesized_expression "(local_30 == 0 || (*(int *)(local_30 + 0x18) == 0))" ( (binary_expression "local_30 == 0 || (*(int *)(local_30 + 0x18) == 0)" (binary_expression "local_30 == 0" identifier == number_literal) || (parenthesized_expression "(*(int *)(local_30 + 0x18) == 0)" ( (binary_expression "*(int *)(local_30 + 0x18) == 0" (pointer_expression "*(int *)(local_30 + 0x18)" * (cast_expression "(int *)(local_30 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_30 + 0x18)" ( (binary_expression "local_30 + 0x18" identifier + number_literal) )))) == number_literal) ))) )) ))) )) (compound_statement "{\n    FUN_00027750(2);\n  }" { (expression_statement "FUN_00027750(2);" (call_expression "FUN_00027750(2)" identifier (argument_list "(2)" ( number_literal ))) ;) })) (expression_statement "FUN_0002d190();" (call_expression "FUN_0002d190()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) (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 ( (pointer_expression & IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) )))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT == IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - IDENT) < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) & (unary_expression ~ IDENT)) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void FUN_00018620(uint param_1)\n\n{\n  char *__s1;\n  undefined4 uVar1;\n  char *__s2;\n  int iVar2;\n  char cVar3;\n  undefined4 *puVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  size_t local_48;\n  size_t local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  undefined4 local_2c;\n  uint local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x18629;\n  __s1 = (char *)FUN_00032880(&local_48);\n  cVar3 = *DAT_00070ff8;\n  if (cVar3 == ' ') {\n    cVar3 = DAT_00070ff8[1];\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n  }\n  if (cVar3 != ',') {\n    uVar1 = dcgettext(0,".ifeqs syntax error",5);\n    FUN_0002ac50(uVar1);\n    FUN_0002cf40();\n    return;\n  }\n  DAT_00070ff8 = DAT_00070ff8 + 1;\n  uVar5 = 0;\n  __s2 = (char *)FUN_00032880(&local_44);\n  if (local_48 == local_44) {\n    iVar2 = strncmp(__s1,__s2,local_48);\n    uVar5 = (uint)(iVar2 == 0);\n  }\n  FUN_00017720();\n  local_28 = (uint)(local_24 != 0 || uVar5 == param_1);\n  if (DAT_00070f50 - DAT_00070f4c < 0x24) {\n    _obstack_newchunk(&DAT_00070f40,0x24);\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }\n  else {\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }\n  DAT_00070f68 = DAT_00070f68 | 2;\n  puVar6 = DAT_00070f48;\nLAB_00018715:\n  DAT_00070f48 = (undefined4 *)((int)puVar4 + DAT_00070f58 & ~DAT_00070f58);\n  if (DAT_00070f50 - DAT_00070f44 < (uint)((int)DAT_00070f48 - DAT_00070f44)) {\n    DAT_00070f48 = (undefined4 *)DAT_00070f50;\n  }\n  DAT_000707f8 = puVar6;\n  DAT_00070f4c = (uint)DAT_00070f48;\n  *puVar6 = local_40;\n  puVar6[1] = local_3c;\n  puVar6[2] = local_38;\n  puVar6[3] = local_34;\n  puVar6[4] = local_30;\n  puVar6[5] = local_2c;\n  puVar6[6] = local_28;\n  puVar6[7] = local_24;\n  puVar6[8] = local_20;\n  if ((((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0)) &&\n     ((local_30 == 0 || (*(int *)(local_30 + 0x18) == 0)))) {\n    FUN_00027750(2);\n  }\n  FUN_0002d190();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00018620(uint param_1)" (identifier "FUN_00018620") (parameter_list "(uint param_1)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) () ")"))) (compound_statement "{\n  char *__s1;\n  undefined4 uVar1;\n  char *__s2;\n  int iVar2;\n  char cVar3;\n  undefined4 *puVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  size_t local_48;\n  size_t local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  undefined4 local_2c;\n  uint local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x18629;\n  __s1 = (char *)FUN_00032880(&local_48);\n  cVar3 = *DAT_00070ff8;\n  if (cVar3 == ' ') {\n    cVar3 = DAT_00070ff8[1];\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n  }\n  if (cVar3 != ',') {\n    uVar1 = dcgettext(0,".ifeqs syntax error",5);\n    FUN_0002ac50(uVar1);\n    FUN_0002cf40();\n    return;\n  }\n  DAT_00070ff8 = DAT_00070ff8 + 1;\n  uVar5 = 0;\n  __s2 = (char *)FUN_00032880(&local_44);\n  if (local_48 == local_44) {\n    iVar2 = strncmp(__s1,__s2,local_48);\n    uVar5 = (uint)(iVar2 == 0);\n  }\n  FUN_00017720();\n  local_28 = (uint)(local_24 != 0 || uVar5 == param_1);\n  if (DAT_00070f50 - DAT_00070f4c < 0x24) {\n    _obstack_newchunk(&DAT_00070f40,0x24);\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }\n  else {\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }\n  DAT_00070f68 = DAT_00070f68 | 2;\n  puVar6 = DAT_00070f48;\nLAB_00018715:\n  DAT_00070f48 = (undefined4 *)((int)puVar4 + DAT_00070f58 & ~DAT_00070f58);\n  if (DAT_00070f50 - DAT_00070f44 < (uint)((int)DAT_00070f48 - DAT_00070f44)) {\n    DAT_00070f48 = (undefined4 *)DAT_00070f50;\n  }\n  DAT_000707f8 = puVar6;\n  DAT_00070f4c = (uint)DAT_00070f48;\n  *puVar6 = local_40;\n  puVar6[1] = local_3c;\n  puVar6[2] = local_38;\n  puVar6[3] = local_34;\n  puVar6[4] = local_30;\n  puVar6[5] = local_2c;\n  puVar6[6] = local_28;\n  puVar6[7] = local_24;\n  puVar6[8] = local_20;\n  if ((((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0)) &&\n     ((local_30 == 0 || (*(int *)(local_30 + 0x18) == 0)))) {\n    FUN_00027750(2);\n  }\n  FUN_0002d190();\n  return;\n}" ({ "{") (declaration "char *__s1;" (primitive_type "char") (pointer_declarator "*__s1" (* "*") (identifier "__s1")) (; ";")) (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "char *__s2;" (primitive_type "char") (pointer_declarator "*__s2" (* "*") (identifier "__s2")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "undefined4 *puVar4;" (type_identifier "undefined4") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "size_t local_48;" (primitive_type "size_t") (identifier "local_48") (; ";")) (declaration "size_t local_44;" (primitive_type "size_t") (identifier "local_44") (; ";")) (declaration "undefined4 local_40;" (type_identifier "undefined4") (identifier "local_40") (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (declaration "undefined4 local_38;" (type_identifier "undefined4") (identifier "local_38") (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "int local_30;" (primitive_type "int") (identifier "local_30") (; ";")) (declaration "undefined4 local_2c;" (type_identifier "undefined4") (identifier "local_2c") (; ";")) (declaration "uint local_28;" (type_identifier "uint") (identifier "local_28") (; ";")) (declaration "int local_24;" (primitive_type "int") (identifier "local_24") (; ";")) (declaration "undefined4 local_20;" (type_identifier "undefined4") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x18629;" (assignment_expression "uStack_14 = 0x18629" (identifier "uStack_14") (= "=") (number_literal "0x18629")) (; ";")) (expression_statement "__s1 = (char *)FUN_00032880(&local_48);" (assignment_expression "__s1 = (char *)FUN_00032880(&local_48)" (identifier "__s1") (= "=") (cast_expression "(char *)FUN_00032880(&local_48)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00032880(&local_48)" (identifier "FUN_00032880") (argument_list "(&local_48)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) () ")"))))) (; ";")) (expression_statement "cVar3 = *DAT_00070ff8;" (assignment_expression "cVar3 = *DAT_00070ff8" (identifier "cVar3") (= "=") (pointer_expression "*DAT_00070ff8" (* "*") (identifier "DAT_00070ff8"))) (; ";")) (if_statement "if (cVar3 == ' ') {\n    cVar3 = DAT_00070ff8[1];\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n  }" (if "if") (parenthesized_expression "(cVar3 == ' ')" (( "(") (binary_expression "cVar3 == ' '" (identifier "cVar3") (== "==") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")")) (compound_statement "{\n    cVar3 = DAT_00070ff8[1];\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n  }" ({ "{") (expression_statement "cVar3 = DAT_00070ff8[1];" (assignment_expression "cVar3 = DAT_00070ff8[1]" (identifier "cVar3") (= "=") (subscript_expression "DAT_00070ff8[1]" (identifier "DAT_00070ff8") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (= "=") (binary_expression "DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (cVar3 != ',') {\n    uVar1 = dcgettext(0,".ifeqs syntax error",5);\n    FUN_0002ac50(uVar1);\n    FUN_0002cf40();\n    return;\n  }" (if "if") (parenthesized_expression "(cVar3 != ',')" (( "(") (binary_expression "cVar3 != ','" (identifier "cVar3") (!= "!=") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (compound_statement "{\n    uVar1 = dcgettext(0,".ifeqs syntax error",5);\n    FUN_0002ac50(uVar1);\n    FUN_0002cf40();\n    return;\n  }" ({ "{") (expression_statement "uVar1 = dcgettext(0,".ifeqs syntax error",5);" (assignment_expression "uVar1 = dcgettext(0,".ifeqs syntax error",5)" (identifier "uVar1") (= "=") (call_expression "dcgettext(0,".ifeqs syntax error",5)" (identifier "dcgettext") (argument_list "(0,".ifeqs syntax error",5)" (( "(") (number_literal "0") (, ",") (string_literal "".ifeqs syntax error"" (" """) (string_content ".ifeqs syntax error") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002ac50(uVar1);" (call_expression "FUN_0002ac50(uVar1)" (identifier "FUN_0002ac50") (argument_list "(uVar1)" (( "(") (identifier "uVar1") () ")"))) (; ";")) (expression_statement "FUN_0002cf40();" (call_expression "FUN_0002cf40()" (identifier "FUN_0002cf40") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (= "=") (binary_expression "DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" (identifier "uVar5") (= "=") (number_literal "0")) (; ";")) (expression_statement "__s2 = (char *)FUN_00032880(&local_44);" (assignment_expression "__s2 = (char *)FUN_00032880(&local_44)" (identifier "__s2") (= "=") (cast_expression "(char *)FUN_00032880(&local_44)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00032880(&local_44)" (identifier "FUN_00032880") (argument_list "(&local_44)" (( "(") (pointer_expression "&local_44" (& "&") (identifier "local_44")) () ")"))))) (; ";")) (if_statement "if (local_48 == local_44) {\n    iVar2 = strncmp(__s1,__s2,local_48);\n    uVar5 = (uint)(iVar2 == 0);\n  }" (if "if") (parenthesized_expression "(local_48 == local_44)" (( "(") (binary_expression "local_48 == local_44" (identifier "local_48") (== "==") (identifier "local_44")) () ")")) (compound_statement "{\n    iVar2 = strncmp(__s1,__s2,local_48);\n    uVar5 = (uint)(iVar2 == 0);\n  }" ({ "{") (expression_statement "iVar2 = strncmp(__s1,__s2,local_48);" (assignment_expression "iVar2 = strncmp(__s1,__s2,local_48)" (identifier "iVar2") (= "=") (call_expression "strncmp(__s1,__s2,local_48)" (identifier "strncmp") (argument_list "(__s1,__s2,local_48)" (( "(") (identifier "__s1") (, ",") (identifier "__s2") (, ",") (identifier "local_48") () ")")))) (; ";")) (expression_statement "uVar5 = (uint)(iVar2 == 0);" (assignment_expression "uVar5 = (uint)(iVar2 == 0)" (identifier "uVar5") (= "=") (call_expression "(uint)(iVar2 == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")))) (; ";")) (} "}"))) (expression_statement "FUN_00017720();" (call_expression "FUN_00017720()" (identifier "FUN_00017720") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_28 = (uint)(local_24 != 0 || uVar5 == param_1);" (assignment_expression "local_28 = (uint)(local_24 != 0 || uVar5 == param_1)" (identifier "local_28") (= "=") (call_expression "(uint)(local_24 != 0 || uVar5 == param_1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_24 != 0 || uVar5 == param_1)" (( "(") (binary_expression "local_24 != 0 || uVar5 == param_1" (binary_expression "local_24 != 0" (identifier "local_24") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "uVar5 == param_1" (identifier "uVar5") (== "==") (identifier "param_1"))) () ")")))) (; ";")) (if_statement "if (DAT_00070f50 - DAT_00070f4c < 0x24) {\n    _obstack_newchunk(&DAT_00070f40,0x24);\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }\n  else {\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }" (if "if") (parenthesized_expression "(DAT_00070f50 - DAT_00070f4c < 0x24)" (( "(") (binary_expression "DAT_00070f50 - DAT_00070f4c < 0x24" (binary_expression "DAT_00070f50 - DAT_00070f4c" (identifier "DAT_00070f50") (- "-") (identifier "DAT_00070f4c")) (< "<") (number_literal "0x24")) () ")")) (compound_statement "{\n    _obstack_newchunk(&DAT_00070f40,0x24);\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }" ({ "{") (expression_statement "_obstack_newchunk(&DAT_00070f40,0x24);" (call_expression "_obstack_newchunk(&DAT_00070f40,0x24)" (identifier "_obstack_newchunk") (argument_list "(&DAT_00070f40,0x24)" (( "(") (pointer_expression "&DAT_00070f40" (& "&") (identifier "DAT_00070f40")) (, ",") (number_literal "0x24") () ")"))) (; ";")) (expression_statement "puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);" (assignment_expression "puVar4 = (undefined4 *)(DAT_00070f4c + 0x24)" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)(DAT_00070f4c + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00070f4c + 0x24)" (( "(") (binary_expression "DAT_00070f4c + 0x24" (identifier "DAT_00070f4c") (+ "+") (number_literal "0x24")) () ")")))) (; ";")) (expression_statement "puVar6 = DAT_00070f48;" (assignment_expression "puVar6 = DAT_00070f48" (identifier "puVar6") (= "=") (identifier "DAT_00070f48")) (; ";")) (if_statement "if (puVar4 != DAT_00070f48) goto LAB_00018715;" (if "if") (parenthesized_expression "(puVar4 != DAT_00070f48)" (( "(") (binary_expression "puVar4 != DAT_00070f48" (identifier "puVar4") (!= "!=") (identifier "DAT_00070f48")) () ")")) (goto_statement "goto LAB_00018715;" (goto "goto") (statement_identifier "LAB_00018715") (; ";"))) (} "}")) (else_clause "else {\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }" (else "else") (compound_statement "{\n    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);\n    puVar6 = DAT_00070f48;\n    if (puVar4 != DAT_00070f48) goto LAB_00018715;\n  }" ({ "{") (expression_statement "puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);" (assignment_expression "puVar4 = (undefined4 *)(DAT_00070f4c + 0x24)" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)(DAT_00070f4c + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00070f4c + 0x24)" (( "(") (binary_expression "DAT_00070f4c + 0x24" (identifier "DAT_00070f4c") (+ "+") (number_literal "0x24")) () ")")))) (; ";")) (expression_statement "puVar6 = DAT_00070f48;" (assignment_expression "puVar6 = DAT_00070f48" (identifier "puVar6") (= "=") (identifier "DAT_00070f48")) (; ";")) (if_statement "if (puVar4 != DAT_00070f48) goto LAB_00018715;" (if "if") (parenthesized_expression "(puVar4 != DAT_00070f48)" (( "(") (binary_expression "puVar4 != DAT_00070f48" (identifier "puVar4") (!= "!=") (identifier "DAT_00070f48")) () ")")) (goto_statement "goto LAB_00018715;" (goto "goto") (statement_identifier "LAB_00018715") (; ";"))) (} "}")))) (expression_statement "DAT_00070f68 = DAT_00070f68 | 2;" (assignment_expression "DAT_00070f68 = DAT_00070f68 | 2" (identifier "DAT_00070f68") (= "=") (binary_expression "DAT_00070f68 | 2" (identifier "DAT_00070f68") (| "|") (number_literal "2"))) (; ";")) (expression_statement "puVar6 = DAT_00070f48;" (assignment_expression "puVar6 = DAT_00070f48" (identifier "puVar6") (= "=") (identifier "DAT_00070f48")) (; ";")) (labeled_statement "LAB_00018715:\n  DAT_00070f48 = (undefined4 *)((int)puVar4 + DAT_00070f58 & ~DAT_00070f58);" (statement_identifier "LAB_00018715") (: ":") (expression_statement "DAT_00070f48 = (undefined4 *)((int)puVar4 + DAT_00070f58 & ~DAT_00070f58);" (assignment_expression "DAT_00070f48 = (undefined4 *)((int)puVar4 + DAT_00070f58 & ~DAT_00070f58)" (identifier "DAT_00070f48") (= "=") (cast_expression "(undefined4 *)((int)puVar4 + DAT_00070f58 & ~DAT_00070f58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar4 + DAT_00070f58 & ~DAT_00070f58)" (( "(") (binary_expression "(int)puVar4 + DAT_00070f58 & ~DAT_00070f58" (binary_expression "(int)puVar4 + DAT_00070f58" (cast_expression "(int)puVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar4")) (+ "+") (identifier "DAT_00070f58")) (& "&") (unary_expression "~DAT_00070f58" (~ "~") (identifier "DAT_00070f58"))) () ")")))) (; ";"))) (if_statement "if (DAT_00070f50 - DAT_00070f44 < (uint)((int)DAT_00070f48 - DAT_00070f44)) {\n    DAT_00070f48 = (undefined4 *)DAT_00070f50;\n  }" (if "if") (parenthesized_expression "(DAT_00070f50 - DAT_00070f44 < (uint)((int)DAT_00070f48 - DAT_00070f44))" (( "(") (binary_expression "DAT_00070f50 - DAT_00070f44 < (uint)((int)DAT_00070f48 - DAT_00070f44)" (binary_expression "DAT_00070f50 - DAT_00070f44" (identifier "DAT_00070f50") (- "-") (identifier "DAT_00070f44")) (< "<") (call_expression "(uint)((int)DAT_00070f48 - DAT_00070f44)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)DAT_00070f48 - DAT_00070f44)" (( "(") (binary_expression "(int)DAT_00070f48 - DAT_00070f44" (cast_expression "(int)DAT_00070f48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_00070f48")) (- "-") (identifier "DAT_00070f44")) () ")")))) () ")")) (compound_statement "{\n    DAT_00070f48 = (undefined4 *)DAT_00070f50;\n  }" ({ "{") (expression_statement "DAT_00070f48 = (undefined4 *)DAT_00070f50;" (assignment_expression "DAT_00070f48 = (undefined4 *)DAT_00070f50" (identifier "DAT_00070f48") (= "=") (cast_expression "(undefined4 *)DAT_00070f50" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "DAT_00070f50"))) (; ";")) (} "}"))) (expression_statement "DAT_000707f8 = puVar6;" (assignment_expression "DAT_000707f8 = puVar6" (identifier "DAT_000707f8") (= "=") (identifier "puVar6")) (; ";")) (expression_statement "DAT_00070f4c = (uint)DAT_00070f48;" (assignment_expression "DAT_00070f4c = (uint)DAT_00070f48" (identifier "DAT_00070f4c") (= "=") (cast_expression "(uint)DAT_00070f48" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "DAT_00070f48"))) (; ";")) (expression_statement "*puVar6 = local_40;" (assignment_expression "*puVar6 = local_40" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (identifier "local_40")) (; ";")) (expression_statement "puVar6[1] = local_3c;" (assignment_expression "puVar6[1] = local_3c" (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_3c")) (; ";")) (expression_statement "puVar6[2] = local_38;" (assignment_expression "puVar6[2] = local_38" (subscript_expression "puVar6[2]" (identifier "puVar6") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_38")) (; ";")) (expression_statement "puVar6[3] = local_34;" (assignment_expression "puVar6[3] = local_34" (subscript_expression "puVar6[3]" (identifier "puVar6") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "local_34")) (; ";")) (expression_statement "puVar6[4] = local_30;" (assignment_expression "puVar6[4] = local_30" (subscript_expression "puVar6[4]" (identifier "puVar6") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "local_30")) (; ";")) (expression_statement "puVar6[5] = local_2c;" (assignment_expression "puVar6[5] = local_2c" (subscript_expression "puVar6[5]" (identifier "puVar6") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "local_2c")) (; ";")) (expression_statement "puVar6[6] = local_28;" (assignment_expression "puVar6[6] = local_28" (subscript_expression "puVar6[6]" (identifier "puVar6") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "local_28")) (; ";")) (expression_statement "puVar6[7] = local_24;" (assignment_expression "puVar6[7] = local_24" (subscript_expression "puVar6[7]" (identifier "puVar6") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "local_24")) (; ";")) (expression_statement "puVar6[8] = local_20;" (assignment_expression "puVar6[8] = local_20" (subscript_expression "puVar6[8]" (identifier "puVar6") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "local_20")) (; ";")) (if_statement "if ((((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0)) &&\n     ((local_30 == 0 || (*(int *)(local_30 + 0x18) == 0)))) {\n    FUN_00027750(2);\n  }" (if "if") (parenthesized_expression "((((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0)) &&\n     ((local_30 == 0 || (*(int *)(local_30 + 0x18) == 0))))" (( "(") (binary_expression "(((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0)) &&\n     ((local_30 == 0 || (*(int *)(local_30 + 0x18) == 0)))" (parenthesized_expression "(((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0))" (( "(") (binary_expression "((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0)" (parenthesized_expression "((DAT_00070ea0 & 0x20) != 0)" (( "(") (binary_expression "(DAT_00070ea0 & 0x20) != 0" (parenthesized_expression "(DAT_00070ea0 & 0x20)" (( "(") (binary_expression "DAT_00070ea0 & 0x20" (identifier "DAT_00070ea0") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_28 != 0)" (( "(") (binary_expression "local_28 != 0" (identifier "local_28") (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((local_30 == 0 || (*(int *)(local_30 + 0x18) == 0)))" (( "(") (parenthesized_expression "(local_30 == 0 || (*(int *)(local_30 + 0x18) == 0))" (( "(") (binary_expression "local_30 == 0 || (*(int *)(local_30 + 0x18) == 0)" (binary_expression "local_30 == 0" (identifier "local_30") (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(*(int *)(local_30 + 0x18) == 0)" (( "(") (binary_expression "*(int *)(local_30 + 0x18) == 0" (pointer_expression "*(int *)(local_30 + 0x18)" (* "*") (cast_expression "(int *)(local_30 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_30 + 0x18)" (( "(") (binary_expression "local_30 + 0x18" (identifier "local_30") (+ "+") (number_literal "0x18")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n    FUN_00027750(2);\n  }" ({ "{") (expression_statement "FUN_00027750(2);" (call_expression "FUN_00027750(2)" (identifier "FUN_00027750") (argument_list "(2)" (( "(") (number_literal "2") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_0002d190();" (call_expression "FUN_0002d190()" (identifier "FUN_0002d190") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void function_1(int var_13)

{
  char *var_15;
  char *__s2;
  int var_10;
  char var_2;
  type_1 var_12;
  type_2 *pcVar5;
  int var_7;
  int var_8;
  type_2 cframe;
  
  var_15 = var_1(&var_7);
  var_2 = *var_3;
  if (var_2 == ' ') {
    var_2 = var_3[1];
    var_3 = var_3 + 1;
  }
  if (var_2 != ',') {
    var_15 = (char *)var_4(0,".ifeqs syntax error",5);
    var_5(var_15);
    var_6();
    return;
  }
  var_3 = var_3 + 1;
  var_12 = 0;
  __s2 = var_1(&var_8);
  if (var_7 == var_8) {
    var_10 = var_9(var_15,__s2,var_7);
    var_12 = (type_1)(var_10 == 0);
  }
  var_11(&cframe);
  cframe.ignoring = (int)(cframe.dead_tree != 0 || var_12 == var_13);
  if ((type_1)((int)cond_obstack.chunk_limit - (int)cond_obstack.next_free) < 0x24) {
    var_14(&cond_obstack,0x24);
    var_15 = cond_obstack.next_free + 0x24;
    pcVar5 = (type_2 *)cond_obstack.object_base;
    if (var_15 != cond_obstack.object_base) goto LAB_00018715;
  }
  else {
    var_15 = cond_obstack.next_free + 0x24;
    pcVar5 = (type_2 *)cond_obstack.object_base;
    if (var_15 != cond_obstack.object_base) goto LAB_00018715;
  }
  cond_obstack._40_1_ = cond_obstack._40_1_ | 2;
  pcVar5 = (type_2 *)cond_obstack.object_base;
LAB_00018715:
  cond_obstack.object_base =
       (char *)((type_1)(var_15 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask);
  if ((type_1)((int)cond_obstack.chunk_limit - (int)cond_obstack.chunk) <
      (type_1)((int)((type_1)(var_15 + cond_obstack.alignment_mask) & ~cond_obstack.alignment_mask) -
            (int)cond_obstack.chunk)) {
    cond_obstack.object_base = cond_obstack.chunk_limit;
  }
  current_cframe = pcVar5;
  cond_obstack.next_free = cond_obstack.object_base;
  (pcVar5->if_file_line).file = cframe.if_file_line.file;
  (pcVar5->if_file_line).line = cframe.if_file_line.line;
  (pcVar5->else_file_line).file = cframe.else_file_line.file;
  (pcVar5->else_file_line).line = cframe.else_file_line.line;
  pcVar5->previous_cframe = cframe.previous_cframe;
  pcVar5->else_seen = cframe.else_seen;
  pcVar5->ignoring = cframe.ignoring;
  pcVar5->dead_tree = cframe.dead_tree;
  pcVar5->macro_nest = cframe.macro_nest;
  if (((((type_3)listing & 0x20) != 0) && (cframe.ignoring != 0)) &&
     ((cframe.previous_cframe == (type_2 *)0x0 ||
      ((cframe.previous_cframe)->ignoring == 0)))) {
    var_16(2);
  }
  var_17();
  return;
}


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

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

void MASKED(uint param_1)

{
  char *__s1;
  undefined4 uVar1;
  char *__s2;
  int iVar2;
  char cVar3;
  undefined4 *puVar4;
  uint uVar5;
  undefined4 *puVar6;
  size_t local_48;
  size_t local_44;
  undefined4 local_40;
  undefined4 local_3c;
  undefined4 local_38;
  undefined4 local_34;
  int local_30;
  undefined4 local_2c;
  uint local_28;
  int local_24;
  undefined4 local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x18629;
  __s1 = (char *)FUN_00032880(&local_48);
  cVar3 = *DAT_00070ff8;
  if (cVar3 == ' ') {
    cVar3 = DAT_00070ff8[1];
    DAT_00070ff8 = DAT_00070ff8 + 1;
  }
  if (cVar3 != ',') {
    uVar1 = dcgettext(0,".ifeqs syntax error",5);
    FUN_0002ac50(uVar1);
    FUN_0002cf40();
    return;
  }
  DAT_00070ff8 = DAT_00070ff8 + 1;
  uVar5 = 0;
  __s2 = (char *)FUN_00032880(&local_44);
  if (local_48 == local_44) {
    iVar2 = strncmp(__s1,__s2,local_48);
    uVar5 = (uint)(iVar2 == 0);
  }
  FUN_00017720();
  local_28 = (uint)(local_24 != 0 || uVar5 == param_1);
  if (DAT_00070f50 - DAT_00070f4c < 0x24) {
    _obstack_newchunk(&DAT_00070f40,0x24);
    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);
    puVar6 = DAT_00070f48;
    if (puVar4 != DAT_00070f48) goto LAB_00018715;
  }
  else {
    puVar4 = (undefined4 *)(DAT_00070f4c + 0x24);
    puVar6 = DAT_00070f48;
    if (puVar4 != DAT_00070f48) goto LAB_00018715;
  }
  DAT_00070f68 = DAT_00070f68 | 2;
  puVar6 = DAT_00070f48;
LAB_00018715:
  DAT_00070f48 = (undefined4 *)((int)puVar4 + DAT_00070f58 & ~DAT_00070f58);
  if (DAT_00070f50 - DAT_00070f44 < (uint)((int)DAT_00070f48 - DAT_00070f44)) {
    DAT_00070f48 = (undefined4 *)DAT_00070f50;
  }
  DAT_000707f8 = puVar6;
  DAT_00070f4c = (uint)DAT_00070f48;
  *puVar6 = local_40;
  puVar6[1] = local_3c;
  puVar6[2] = local_38;
  puVar6[3] = local_34;
  puVar6[4] = local_30;
  puVar6[5] = local_2c;
  puVar6[6] = local_28;
  puVar6[7] = local_24;
  puVar6[8] = local_20;
  if ((((DAT_00070ea0 & 0x20) != 0) && (local_28 != 0)) &&
     ((local_30 == 0 || (*(int *)(local_30 + 0x18) == 0)))) {
    FUN_00027750(2);
  }
  FUN_0002d190();
  return;
}

