
void s_mri_common(int small)

{
  byte bVar1;
  byte c;
  char cVar2;
  int iVar3;
  size_t sVar4;
  bfd *pbVar5;
  asymbol *paVar6;
  symbolS *s;
  char *pcVar7;
  char *pcVar8;
  byte *stop;
  char *name;
  expressionS exp;
  
  if (flag_mri == 0) {
    s_comm_internal(0,(_func_symbolS_ptr_int_symbolS_ptr_addressT *)0x0);
    return;
  }
  bVar1 = *input_line_pointer;
  cVar2 = is_end_of_line[bVar1];
  stop = (byte *)input_line_pointer;
  while (cVar2 == '\0') {
    stop = stop + 1;
    bVar1 = *stop;
    cVar2 = is_end_of_line[bVar1];
  }
  *stop = 0;
  if (*input_line_pointer == ' ') {
    input_line_pointer = input_line_pointer + 1;
  }
  name = input_line_pointer;
  if ((_sch_istable[(ulong)(byte)*input_line_pointer * 2] & 4) == 0) {
    cVar2 = get_symbol_name(&name);
    s = symbol_find_or_make(name);
    restore_line_pointer(cVar2);
LAB_001248cc:
    cVar2 = *input_line_pointer;
  }
  else {
    do {
      pcVar7 = input_line_pointer;
      input_line_pointer = pcVar7 + 1;
      c = pcVar7[1];
    } while ((_sch_istable[(ulong)c * 2] & 4) != 0);
    pcVar7[1] = '\0';
    if (line_label != (symbolS *)0x0) {
      pcVar7 = S_GET_NAME(line_label);
      sVar4 = strlen(pcVar7);
      pcVar7 = (char *)xmalloc(input_line_pointer + ((sVar4 + 1) - (long)name));
      pcVar8 = S_GET_NAME(line_label);
      sprintf(pcVar7,"%s%s",name,pcVar8);
      name = pcVar7;
      s = symbol_find_or_make(pcVar7);
      restore_line_pointer(c);
      free(pcVar7);
      goto LAB_001248cc;
    }
    s = symbol_find_or_make(name);
    restore_line_pointer(c);
    cVar2 = *input_line_pointer;
  }
  if (cVar2 == ',') {
    input_line_pointer = input_line_pointer + 1;
    pbVar5 = (bfd *)get_absolute_expr(&exp);
    iVar3 = S_IS_DEFINED(s);
    if ((iVar3 != 0) && (iVar3 = S_IS_COMMON(s), iVar3 == 0)) goto LAB_00124aa0;
    S_SET_EXTERNAL(s);
    S_SET_SEGMENT(s,(segT)_bfd_std_section);
    mri_common_symbol = s;
    if (pbVar5 != (bfd *)0x0) {
      paVar6 = symbol_get_bfdsym(s);
      paVar6[1].the_bfd = pbVar5;
    }
  }
  else {
    iVar3 = S_IS_DEFINED(s);
    if ((iVar3 != 0) && (iVar3 = S_IS_COMMON(s), iVar3 == 0)) {
LAB_00124aa0:
      pcVar7 = S_GET_NAME(s);
      pcVar8 = (char *)dcgettext(0,"symbol `%s\' is already defined",5);
      as_bad(pcVar8,pcVar7);
      ignore_rest_of_line();
      mri_comment_end((char *)stop,(int)(char)bVar1);
      return;
    }
    S_SET_EXTERNAL(s);
    S_SET_SEGMENT(s,(segT)_bfd_std_section);
    mri_common_symbol = s;
  }
  if (line_label != (symbolS *)0x0) {
    exp._24_1_ = 3;
    exp.X_add_number = 0;
    exp.X_add_symbol = s;
    symbol_set_value_expression(line_label,&exp);
    symbol_set_frag(line_label,&zero_address_frag);
    S_SET_SEGMENT(line_label,expr_section);
  }
  pcVar7 = input_line_pointer;
  if ((*input_line_pointer == ',') &&
     (pcVar7 = input_line_pointer + 2, input_line_pointer[2] == ',')) {
    pcVar7 = input_line_pointer + 4;
  }
  input_line_pointer = pcVar7;
  demand_empty_rest_of_line();
  mri_comment_end((char *)stop,(int)(char)bVar1);
  return;
}



void FUN_001247b0(void)

{
  byte bVar1;
  byte bVar2;
  char cVar3;
  int iVar4;
  char *__s;
  size_t sVar5;
  byte *pbVar6;
  long lVar7;
  long lVar8;
  undefined8 uVar9;
  undefined8 uVar10;
  byte *pbVar11;
  byte *local_50;
  undefined8 local_48 [2];
  undefined8 local_38;
  undefined1 local_30;
  
  if (DAT_001689b0 == 0) {
    FUN_00124480(0,0);
    return;
  }
  bVar1 = *DAT_00168ae0;
  cVar3 = (&DAT_0015f4e0)[bVar1];
  pbVar11 = DAT_00168ae0;
  while (cVar3 == '\0') {
    pbVar11 = pbVar11 + 1;
    bVar1 = *pbVar11;
    cVar3 = (&DAT_0015f4e0)[bVar1];
  }
  *pbVar11 = 0;
  if (*DAT_00168ae0 == 0x20) {
    DAT_00168ae0 = DAT_00168ae0 + 1;
  }
  local_50 = DAT_00168ae0;
  if ((_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4) == 0) {
    cVar3 = FUN_00115b70(&local_50);
    uVar9 = FUN_0012b900(local_50);
    FUN_001174e0((int)cVar3);
LAB_001248cc:
    bVar2 = *DAT_00168ae0;
  }
  else {
    do {
      pbVar6 = DAT_00168ae0;
      DAT_00168ae0 = pbVar6 + 1;
      bVar2 = pbVar6[1];
    } while ((_sch_istable[(ulong)bVar2 * 2] & 4) != 0);
    pbVar6[1] = 0;
    if (DAT_00168ad0 != 0) {
      __s = (char *)FUN_00129e50();
      sVar5 = strlen(__s);
      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));
      uVar9 = FUN_00129e50(DAT_00168ad0);
      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);
      local_50 = pbVar6;
      uVar9 = FUN_0012b900(pbVar6);
      FUN_001174e0((int)(char)bVar2);
      free(pbVar6);
      goto LAB_001248cc;
    }
    uVar9 = FUN_0012b900(local_50);
    FUN_001174e0((int)(char)bVar2);
    bVar2 = *DAT_00168ae0;
  }
  if (bVar2 == 0x2c) {
    DAT_00168ae0 = DAT_00168ae0 + 1;
    lVar7 = FUN_0011ef30(local_48);
    iVar4 = FUN_00129b50(uVar9);
    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) goto LAB_00124aa0;
    FUN_0012b360(uVar9);
    FUN_00129eb0(uVar9,_bfd_std_section);
    DAT_00168ac0 = uVar9;
    if (lVar7 != 0) {
      lVar8 = FUN_0012cab0(uVar9);
      *(long *)(lVar8 + 0x30) = lVar7;
    }
  }
  else {
    iVar4 = FUN_00129b50(uVar9);
    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) {
LAB_00124aa0:
      uVar9 = FUN_00129e50(uVar9);
      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);
      FUN_0011e700(uVar10,uVar9);
      FUN_00120850();
      FUN_001202e0(pbVar11,(int)(char)bVar1);
      return;
    }
    FUN_0012b360(uVar9);
    FUN_00129eb0(uVar9,_bfd_std_section);
    DAT_00168ac0 = uVar9;
  }
  if (DAT_00168ad0 != 0) {
    local_30 = 3;
    local_38 = 0;
    local_48[0] = uVar9;
    FUN_0012c460(DAT_00168ad0,local_48);
    FUN_0012c570(DAT_00168ad0,&DAT_00168860);
    FUN_00129eb0(DAT_00168ad0,DAT_00168820);
  }
  pbVar6 = DAT_00168ae0;
  if ((*DAT_00168ae0 == 0x2c) && (pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c)) {
    pbVar6 = DAT_00168ae0 + 4;
  }
  DAT_00168ae0 = pbVar6;
  FUN_00120a70();
  FUN_001202e0(pbVar11,(int)(char)bVar1);
  return;
}


PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x30
MOV EAX,dword ptr [0x001689b0]
TEST EAX,EAX
JZ 0x00124a88
MOV RBX,qword ptr [0x00168ae0]
LEA RDX,[0x15f4e0]
MOVZX EAX,byte ptr [RBX]
CMP byte ptr [RDX + RAX*0x1],0x0
MOV RBP,RAX
JNZ 0x001247f8
NOP dword ptr [RAX]
ADD RBX,0x1
MOVZX EAX,byte ptr [RBX]
CMP byte ptr [RDX + RAX*0x1],0x0
MOV RBP,RAX
JZ 0x001247e8
MOV byte ptr [RBX],0x0
MOV RAX,qword ptr [0x00168ae0]
CMP byte ptr [RAX],0x20
JNZ 0x00124812
ADD RAX,0x1
MOV qword ptr [0x00168ae0],RAX
MOV qword ptr [RSP + 0x8],RAX
MOVZX EDX,byte ptr [RAX]
LEA RSI,[0x15d3e0]
TEST byte ptr [RSI + RDX*0x2],0x4
JNZ 0x00124833
JMP 0x00124a30
MOV RAX,RDX
LEA RDX,[RAX + 0x1]
MOV qword ptr [0x00168ae0],RDX
MOVSX R12D,byte ptr [RAX + 0x1]
MOVZX ECX,R12B
TEST byte ptr [RSI + RCX*0x2],0x4
JNZ 0x00124830
MOV byte ptr [RAX + 0x1],0x0
MOV RDI,qword ptr [0x00168ad0]
TEST RDI,RDI
JZ 0x00124998
CALL 0x00129e50
MOV RDI,RAX
CALL 0x001091e0
MOV RDX,qword ptr [0x00168ae0]
SUB RDX,qword ptr [RSP + 0x8]
LEA RDI,[RAX + RDX*0x1 + 0x1]
CALL 0x00109748
MOV RDI,qword ptr [0x00168ad0]
MOV R14,RAX
CALL 0x00129e50
MOV RDX,qword ptr [RSP + 0x8]
LEA RSI,[0x14665a]
MOV RDI,R14
MOV RCX,RAX
XOR EAX,EAX
CALL 0x00109670
MOV RDI,R14
MOV qword ptr [RSP + 0x8],R14
CALL 0x0012b900
MOV EDI,R12D
MOV R13,RAX
CALL 0x001174e0
MOV RDI,R14
CALL 0x00109740
MOV RAX,qword ptr [0x00168ae0]
CMP byte ptr [RAX],0x2c
JZ 0x001249bd
MOV RDI,R13
CALL 0x00129b50
TEST EAX,EAX
JZ 0x001248f8
MOV RDI,R13
CALL 0x00129b20
TEST EAX,EAX
JZ 0x00124aa0
MOV RDI,R13
CALL 0x0012b360
LEA RSI,[0x15f900]
MOV RDI,R13
CALL 0x00129eb0
MOV qword ptr [0x00168ac0],R13
MOV RDI,qword ptr [0x00168ad0]
TEST RDI,RDI
JZ 0x00124965
LEA RSI,[RSP + 0x10]
MOV byte ptr [RSP + 0x28],0x3
MOV qword ptr [RSP + 0x10],R13
MOV qword ptr [RSP + 0x20],0x0
CALL 0x0012c460
MOV RDI,qword ptr [0x00168ad0]
LEA RSI,[0x168860]
CALL 0x0012c570
MOV RSI,qword ptr [0x00168820]
MOV RDI,qword ptr [0x00168ad0]
CALL 0x00129eb0
MOV RAX,qword ptr [0x00168ae0]
CMP byte ptr [RAX],0x2c
JZ 0x00124a60
CALL 0x00120a70
MOVSX ESI,BPL
MOV RDI,RBX
CALL 0x001202e0
ADD RSP,0x30
POP RBX
POP RBP
POP R12
POP R13
POP R14
RET
MOV RDI,qword ptr [RSP + 0x8]
CALL 0x0012b900
MOV EDI,R12D
MOV R13,RAX
CALL 0x001174e0
MOV RAX,qword ptr [0x00168ae0]
CMP byte ptr [RAX],0x2c
JNZ 0x001248dc
ADD RAX,0x1
LEA RDI,[RSP + 0x10]
MOV qword ptr [0x00168ae0],RAX
CALL 0x0011ef30
MOV RDI,R13
MOV R12,RAX
CALL 0x00129b50
TEST EAX,EAX
JZ 0x001249f1
MOV RDI,R13
CALL 0x00129b20
TEST EAX,EAX
JZ 0x00124aa0
MOV RDI,R13
CALL 0x0012b360
LEA RSI,[0x15f900]
MOV RDI,R13
CALL 0x00129eb0
MOV qword ptr [0x00168ac0],R13
TEST R12,R12
JZ 0x00124916
MOV RDI,R13
CALL 0x0012cab0
MOV qword ptr [RAX + 0x30],R12
JMP 0x00124916
LEA RDI,[RSP + 0x8]
CALL 0x00115b70
MOV RDI,qword ptr [RSP + 0x8]
MOV R12D,EAX
CALL 0x0012b900
MOVSX EDI,R12B
MOV R13,RAX
CALL 0x001174e0
JMP 0x001248cc
LEA RDX,[RAX + 0x2]
MOV qword ptr [0x00168ae0],RDX
CMP byte ptr [RAX + 0x2],0x2c
JNZ 0x00124975
ADD RAX,0x4
MOV qword ptr [0x00168ae0],RAX
JMP 0x00124975
XOR ESI,ESI
XOR EDI,EDI
CALL 0x00124480
ADD RSP,0x30
POP RBX
POP RBP
POP R12
POP R13
POP R14
RET
MOV RDI,R13
CALL 0x00129e50
MOV EDX,0x5
LEA RSI,[0x143488]
XOR EDI,EDI
MOV R12,RAX
CALL 0x001091c0
MOV RSI,R12
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0011e700
CALL 0x00120850
MOVSX ESI,BPL
MOV RDI,RBX
CALL 0x001202e0
ADD RSP,0x30
POP RBX
POP RBP
POP R12
POP R13
POP R14
RET
(translation_unit "void FUN_001247b0(void)\n\n{\n  byte bVar1;\n  byte bVar2;\n  char cVar3;\n  int iVar4;\n  char *__s;\n  size_t sVar5;\n  byte *pbVar6;\n  long lVar7;\n  long lVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  byte *pbVar11;\n  byte *local_50;\n  undefined8 local_48 [2];\n  undefined8 local_38;\n  undefined1 local_30;\n  \n  if (DAT_001689b0 == 0) {\n    FUN_00124480(0,0);\n    return;\n  }\n  bVar1 = *DAT_00168ae0;\n  cVar3 = (&DAT_0015f4e0)[bVar1];\n  pbVar11 = DAT_00168ae0;\n  while (cVar3 == '\0') {\n    pbVar11 = pbVar11 + 1;\n    bVar1 = *pbVar11;\n    cVar3 = (&DAT_0015f4e0)[bVar1];\n  }\n  *pbVar11 = 0;\n  if (*DAT_00168ae0 == 0x20) {\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n  }\n  local_50 = DAT_00168ae0;\n  if ((_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4) == 0) {\n    cVar3 = FUN_00115b70(&local_50);\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)cVar3);\nLAB_001248cc:\n    bVar2 = *DAT_00168ae0;\n  }\n  else {\n    do {\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    } while ((_sch_istable[(ulong)bVar2 * 2] & 4) != 0);\n    pbVar6[1] = 0;\n    if (DAT_00168ad0 != 0) {\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)(char)bVar2);\n    bVar2 = *DAT_00168ae0;\n  }\n  if (bVar2 == 0x2c) {\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n    lVar7 = FUN_0011ef30(local_48);\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) goto LAB_00124aa0;\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n    if (lVar7 != 0) {\n      lVar8 = FUN_0012cab0(uVar9);\n      *(long *)(lVar8 + 0x30) = lVar7;\n    }\n  }\n  else {\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) {\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n  }\n  if (DAT_00168ad0 != 0) {\n    local_30 = 3;\n    local_38 = 0;\n    local_48[0] = uVar9;\n    FUN_0012c460(DAT_00168ad0,local_48);\n    FUN_0012c570(DAT_00168ad0,&DAT_00168860);\n    FUN_00129eb0(DAT_00168ad0,DAT_00168820);\n  }\n  pbVar6 = DAT_00168ae0;\n  if ((*DAT_00168ae0 == 0x2c) && (pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c)) {\n    pbVar6 = DAT_00168ae0 + 4;\n  }\n  DAT_00168ae0 = pbVar6;\n  FUN_00120a70();\n  FUN_001202e0(pbVar11,(int)(char)bVar1);\n  return;\n}\n\n" (function_definition "void FUN_001247b0(void)\n\n{\n  byte bVar1;\n  byte bVar2;\n  char cVar3;\n  int iVar4;\n  char *__s;\n  size_t sVar5;\n  byte *pbVar6;\n  long lVar7;\n  long lVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  byte *pbVar11;\n  byte *local_50;\n  undefined8 local_48 [2];\n  undefined8 local_38;\n  undefined1 local_30;\n  \n  if (DAT_001689b0 == 0) {\n    FUN_00124480(0,0);\n    return;\n  }\n  bVar1 = *DAT_00168ae0;\n  cVar3 = (&DAT_0015f4e0)[bVar1];\n  pbVar11 = DAT_00168ae0;\n  while (cVar3 == '\0') {\n    pbVar11 = pbVar11 + 1;\n    bVar1 = *pbVar11;\n    cVar3 = (&DAT_0015f4e0)[bVar1];\n  }\n  *pbVar11 = 0;\n  if (*DAT_00168ae0 == 0x20) {\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n  }\n  local_50 = DAT_00168ae0;\n  if ((_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4) == 0) {\n    cVar3 = FUN_00115b70(&local_50);\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)cVar3);\nLAB_001248cc:\n    bVar2 = *DAT_00168ae0;\n  }\n  else {\n    do {\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    } while ((_sch_istable[(ulong)bVar2 * 2] & 4) != 0);\n    pbVar6[1] = 0;\n    if (DAT_00168ad0 != 0) {\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)(char)bVar2);\n    bVar2 = *DAT_00168ae0;\n  }\n  if (bVar2 == 0x2c) {\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n    lVar7 = FUN_0011ef30(local_48);\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) goto LAB_00124aa0;\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n    if (lVar7 != 0) {\n      lVar8 = FUN_0012cab0(uVar9);\n      *(long *)(lVar8 + 0x30) = lVar7;\n    }\n  }\n  else {\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) {\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n  }\n  if (DAT_00168ad0 != 0) {\n    local_30 = 3;\n    local_38 = 0;\n    local_48[0] = uVar9;\n    FUN_0012c460(DAT_00168ad0,local_48);\n    FUN_0012c570(DAT_00168ad0,&DAT_00168860);\n    FUN_00129eb0(DAT_00168ad0,DAT_00168820);\n  }\n  pbVar6 = DAT_00168ae0;\n  if ((*DAT_00168ae0 == 0x2c) && (pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c)) {\n    pbVar6 = DAT_00168ae0 + 4;\n  }\n  DAT_00168ae0 = pbVar6;\n  FUN_00120a70();\n  FUN_001202e0(pbVar11,(int)(char)bVar1);\n  return;\n}" primitive_type (function_declarator "FUN_001247b0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  byte bVar1;\n  byte bVar2;\n  char cVar3;\n  int iVar4;\n  char *__s;\n  size_t sVar5;\n  byte *pbVar6;\n  long lVar7;\n  long lVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  byte *pbVar11;\n  byte *local_50;\n  undefined8 local_48 [2];\n  undefined8 local_38;\n  undefined1 local_30;\n  \n  if (DAT_001689b0 == 0) {\n    FUN_00124480(0,0);\n    return;\n  }\n  bVar1 = *DAT_00168ae0;\n  cVar3 = (&DAT_0015f4e0)[bVar1];\n  pbVar11 = DAT_00168ae0;\n  while (cVar3 == '\0') {\n    pbVar11 = pbVar11 + 1;\n    bVar1 = *pbVar11;\n    cVar3 = (&DAT_0015f4e0)[bVar1];\n  }\n  *pbVar11 = 0;\n  if (*DAT_00168ae0 == 0x20) {\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n  }\n  local_50 = DAT_00168ae0;\n  if ((_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4) == 0) {\n    cVar3 = FUN_00115b70(&local_50);\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)cVar3);\nLAB_001248cc:\n    bVar2 = *DAT_00168ae0;\n  }\n  else {\n    do {\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    } while ((_sch_istable[(ulong)bVar2 * 2] & 4) != 0);\n    pbVar6[1] = 0;\n    if (DAT_00168ad0 != 0) {\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)(char)bVar2);\n    bVar2 = *DAT_00168ae0;\n  }\n  if (bVar2 == 0x2c) {\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n    lVar7 = FUN_0011ef30(local_48);\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) goto LAB_00124aa0;\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n    if (lVar7 != 0) {\n      lVar8 = FUN_0012cab0(uVar9);\n      *(long *)(lVar8 + 0x30) = lVar7;\n    }\n  }\n  else {\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) {\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n  }\n  if (DAT_00168ad0 != 0) {\n    local_30 = 3;\n    local_38 = 0;\n    local_48[0] = uVar9;\n    FUN_0012c460(DAT_00168ad0,local_48);\n    FUN_0012c570(DAT_00168ad0,&DAT_00168860);\n    FUN_00129eb0(DAT_00168ad0,DAT_00168820);\n  }\n  pbVar6 = DAT_00168ae0;\n  if ((*DAT_00168ae0 == 0x2c) && (pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c)) {\n    pbVar6 = DAT_00168ae0 + 4;\n  }\n  DAT_00168ae0 = pbVar6;\n  FUN_00120a70();\n  FUN_001202e0(pbVar11,(int)(char)bVar1);\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "undefined8 uVar10;" type_identifier identifier ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "byte *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "undefined8 local_48 [2];" type_identifier (array_declarator "local_48 [2]" identifier [ number_literal ]) ;) (declaration "undefined8 local_38;" type_identifier identifier ;) (declaration "undefined1 local_30;" type_identifier identifier ;) (if_statement "if (DAT_001689b0 == 0) {\n    FUN_00124480(0,0);\n    return;\n  }" if (parenthesized_expression "(DAT_001689b0 == 0)" ( (binary_expression "DAT_001689b0 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_00124480(0,0);\n    return;\n  }" { (expression_statement "FUN_00124480(0,0);" (call_expression "FUN_00124480(0,0)" identifier (argument_list "(0,0)" ( number_literal , number_literal ))) ;) (return_statement "return;" return ;) })) (expression_statement "bVar1 = *DAT_00168ae0;" (assignment_expression "bVar1 = *DAT_00168ae0" identifier = (pointer_expression "*DAT_00168ae0" * identifier)) ;) (expression_statement "cVar3 = (&DAT_0015f4e0)[bVar1];" (assignment_expression "cVar3 = (&DAT_0015f4e0)[bVar1]" identifier = (subscript_expression "(&DAT_0015f4e0)[bVar1]" (parenthesized_expression "(&DAT_0015f4e0)" ( (pointer_expression "&DAT_0015f4e0" & identifier) )) [ identifier ])) ;) (expression_statement "pbVar11 = DAT_00168ae0;" (assignment_expression "pbVar11 = DAT_00168ae0" identifier = identifier) ;) (while_statement "while (cVar3 == '\0') {\n    pbVar11 = pbVar11 + 1;\n    bVar1 = *pbVar11;\n    cVar3 = (&DAT_0015f4e0)[bVar1];\n  }" while (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pbVar11 = pbVar11 + 1;\n    bVar1 = *pbVar11;\n    cVar3 = (&DAT_0015f4e0)[bVar1];\n  }" { (expression_statement "pbVar11 = pbVar11 + 1;" (assignment_expression "pbVar11 = pbVar11 + 1" identifier = (binary_expression "pbVar11 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *pbVar11;" (assignment_expression "bVar1 = *pbVar11" identifier = (pointer_expression "*pbVar11" * identifier)) ;) (expression_statement "cVar3 = (&DAT_0015f4e0)[bVar1];" (assignment_expression "cVar3 = (&DAT_0015f4e0)[bVar1]" identifier = (subscript_expression "(&DAT_0015f4e0)[bVar1]" (parenthesized_expression "(&DAT_0015f4e0)" ( (pointer_expression "&DAT_0015f4e0" & identifier) )) [ identifier ])) ;) })) (expression_statement "*pbVar11 = 0;" (assignment_expression "*pbVar11 = 0" (pointer_expression "*pbVar11" * identifier) = number_literal) ;) (if_statement "if (*DAT_00168ae0 == 0x20) {\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n  }" if (parenthesized_expression "(*DAT_00168ae0 == 0x20)" ( (binary_expression "*DAT_00168ae0 == 0x20" (pointer_expression "*DAT_00168ae0" * identifier) == number_literal) )) (compound_statement "{\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n  }" { (expression_statement "DAT_00168ae0 = DAT_00168ae0 + 1;" (assignment_expression "DAT_00168ae0 = DAT_00168ae0 + 1" identifier = (binary_expression "DAT_00168ae0 + 1" identifier + number_literal)) ;) })) (expression_statement "local_50 = DAT_00168ae0;" (assignment_expression "local_50 = DAT_00168ae0" identifier = identifier) ;) (if_statement "if ((_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4) == 0) {\n    cVar3 = FUN_00115b70(&local_50);\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)cVar3);\nLAB_001248cc:\n    bVar2 = *DAT_00168ae0;\n  }\n  else {\n    do {\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    } while ((_sch_istable[(ulong)bVar2 * 2] & 4) != 0);\n    pbVar6[1] = 0;\n    if (DAT_00168ad0 != 0) {\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)(char)bVar2);\n    bVar2 = *DAT_00168ae0;\n  }" if (parenthesized_expression "((_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4) == 0)" ( (binary_expression "(_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4) == 0" (parenthesized_expression "(_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4)" ( (binary_expression "_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4" (subscript_expression "_sch_istable[(ulong)*DAT_00168ae0 * 2]" identifier [ (binary_expression "(ulong)*DAT_00168ae0 * 2" (binary_expression "(ulong)*DAT_00168ae0" (parenthesized_expression "(ulong)" ( identifier )) * identifier) * number_literal) ]) & number_literal) )) == number_literal) )) (compound_statement "{\n    cVar3 = FUN_00115b70(&local_50);\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)cVar3);\nLAB_001248cc:\n    bVar2 = *DAT_00168ae0;\n  }" { (expression_statement "cVar3 = FUN_00115b70(&local_50);" (assignment_expression "cVar3 = FUN_00115b70(&local_50)" identifier = (call_expression "FUN_00115b70(&local_50)" identifier (argument_list "(&local_50)" ( (pointer_expression "&local_50" & identifier) )))) ;) (expression_statement "uVar9 = FUN_0012b900(local_50);" (assignment_expression "uVar9 = FUN_0012b900(local_50)" identifier = (call_expression "FUN_0012b900(local_50)" identifier (argument_list "(local_50)" ( identifier )))) ;) (expression_statement "FUN_001174e0((int)cVar3);" (call_expression "FUN_001174e0((int)cVar3)" identifier (argument_list "((int)cVar3)" ( (cast_expression "(int)cVar3" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (labeled_statement "LAB_001248cc:\n    bVar2 = *DAT_00168ae0;" statement_identifier : (expression_statement "bVar2 = *DAT_00168ae0;" (assignment_expression "bVar2 = *DAT_00168ae0" identifier = (pointer_expression "*DAT_00168ae0" * identifier)) ;)) }) (else_clause "else {\n    do {\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    } while ((_sch_istable[(ulong)bVar2 * 2] & 4) != 0);\n    pbVar6[1] = 0;\n    if (DAT_00168ad0 != 0) {\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)(char)bVar2);\n    bVar2 = *DAT_00168ae0;\n  }" else (compound_statement "{\n    do {\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    } while ((_sch_istable[(ulong)bVar2 * 2] & 4) != 0);\n    pbVar6[1] = 0;\n    if (DAT_00168ad0 != 0) {\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)(char)bVar2);\n    bVar2 = *DAT_00168ae0;\n  }" { (do_statement "do {\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    } while ((_sch_istable[(ulong)bVar2 * 2] & 4) != 0);" do (compound_statement "{\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    }" { (expression_statement "pbVar6 = DAT_00168ae0;" (assignment_expression "pbVar6 = DAT_00168ae0" identifier = identifier) ;) (expression_statement "DAT_00168ae0 = pbVar6 + 1;" (assignment_expression "DAT_00168ae0 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "bVar2 = pbVar6[1];" (assignment_expression "bVar2 = pbVar6[1]" identifier = (subscript_expression "pbVar6[1]" identifier [ number_literal ])) ;) }) while (parenthesized_expression "((_sch_istable[(ulong)bVar2 * 2] & 4) != 0)" ( (binary_expression "(_sch_istable[(ulong)bVar2 * 2] & 4) != 0" (parenthesized_expression "(_sch_istable[(ulong)bVar2 * 2] & 4)" ( (binary_expression "_sch_istable[(ulong)bVar2 * 2] & 4" (subscript_expression "_sch_istable[(ulong)bVar2 * 2]" identifier [ (binary_expression "(ulong)bVar2 * 2" (cast_expression "(ulong)bVar2" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal) ]) & number_literal) )) != number_literal) )) ;) (expression_statement "pbVar6[1] = 0;" (assignment_expression "pbVar6[1] = 0" (subscript_expression "pbVar6[1]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (DAT_00168ad0 != 0) {\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }" if (parenthesized_expression "(DAT_00168ad0 != 0)" ( (binary_expression "DAT_00168ad0 != 0" identifier != number_literal) )) (compound_statement "{\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }" { (expression_statement "__s = (char *)FUN_00129e50();" (assignment_expression "__s = (char *)FUN_00129e50()" identifier = (cast_expression "(char *)FUN_00129e50()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00129e50()" identifier (argument_list "()" ( ))))) ;) (expression_statement "sVar5 = strlen(__s);" (assignment_expression "sVar5 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));" (assignment_expression "pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50))" identifier = (cast_expression "(byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50))" identifier (argument_list "(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50))" ( (binary_expression "DAT_00168ae0 + ((sVar5 + 1) - (long)local_50)" identifier + (parenthesized_expression "((sVar5 + 1) - (long)local_50)" ( (binary_expression "(sVar5 + 1) - (long)local_50" (parenthesized_expression "(sVar5 + 1)" ( (binary_expression "sVar5 + 1" identifier + number_literal) )) - (cast_expression "(long)local_50" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) ))))) ;) (expression_statement "uVar9 = FUN_00129e50(DAT_00168ad0);" (assignment_expression "uVar9 = FUN_00129e50(DAT_00168ad0)" identifier = (call_expression "FUN_00129e50(DAT_00168ad0)" identifier (argument_list "(DAT_00168ad0)" ( identifier )))) ;) (expression_statement "sprintf((char *)pbVar6,"%s%s",local_50,uVar9);" (call_expression "sprintf((char *)pbVar6,"%s%s",local_50,uVar9)" identifier (argument_list "((char *)pbVar6,"%s%s",local_50,uVar9)" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""%s%s"" " string_content ") , identifier , identifier ))) ;) (expression_statement "local_50 = pbVar6;" (assignment_expression "local_50 = pbVar6" identifier = identifier) ;) (expression_statement "uVar9 = FUN_0012b900(pbVar6);" (assignment_expression "uVar9 = FUN_0012b900(pbVar6)" identifier = (call_expression "FUN_0012b900(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;) (expression_statement "FUN_001174e0((int)(char)bVar2);" (call_expression "FUN_001174e0((int)(char)bVar2)" identifier (argument_list "((int)(char)bVar2)" ( (cast_expression "(int)(char)bVar2" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (expression_statement "free(pbVar6);" (call_expression "free(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier ))) ;) (goto_statement "goto LAB_001248cc;" goto statement_identifier ;) })) (expression_statement "uVar9 = FUN_0012b900(local_50);" (assignment_expression "uVar9 = FUN_0012b900(local_50)" identifier = (call_expression "FUN_0012b900(local_50)" identifier (argument_list "(local_50)" ( identifier )))) ;) (expression_statement "FUN_001174e0((int)(char)bVar2);" (call_expression "FUN_001174e0((int)(char)bVar2)" identifier (argument_list "((int)(char)bVar2)" ( (cast_expression "(int)(char)bVar2" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (expression_statement "bVar2 = *DAT_00168ae0;" (assignment_expression "bVar2 = *DAT_00168ae0" identifier = (pointer_expression "*DAT_00168ae0" * identifier)) ;) }))) (if_statement "if (bVar2 == 0x2c) {\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n    lVar7 = FUN_0011ef30(local_48);\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) goto LAB_00124aa0;\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n    if (lVar7 != 0) {\n      lVar8 = FUN_0012cab0(uVar9);\n      *(long *)(lVar8 + 0x30) = lVar7;\n    }\n  }\n  else {\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) {\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n  }" if (parenthesized_expression "(bVar2 == 0x2c)" ( (binary_expression "bVar2 == 0x2c" identifier == number_literal) )) (compound_statement "{\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n    lVar7 = FUN_0011ef30(local_48);\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) goto LAB_00124aa0;\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n    if (lVar7 != 0) {\n      lVar8 = FUN_0012cab0(uVar9);\n      *(long *)(lVar8 + 0x30) = lVar7;\n    }\n  }" { (expression_statement "DAT_00168ae0 = DAT_00168ae0 + 1;" (assignment_expression "DAT_00168ae0 = DAT_00168ae0 + 1" identifier = (binary_expression "DAT_00168ae0 + 1" identifier + number_literal)) ;) (expression_statement "lVar7 = FUN_0011ef30(local_48);" (assignment_expression "lVar7 = FUN_0011ef30(local_48)" identifier = (call_expression "FUN_0011ef30(local_48)" identifier (argument_list "(local_48)" ( identifier )))) ;) (expression_statement "iVar4 = FUN_00129b50(uVar9);" (assignment_expression "iVar4 = FUN_00129b50(uVar9)" identifier = (call_expression "FUN_00129b50(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) ;) (if_statement "if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) goto LAB_00124aa0;" if (parenthesized_expression "((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0))" ( (binary_expression "(iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar4 = FUN_00129b20(uVar9), iVar4 == 0)" ( (comma_expression "iVar4 = FUN_00129b20(uVar9), iVar4 == 0" (assignment_expression "iVar4 = FUN_00129b20(uVar9)" identifier = (call_expression "FUN_00129b20(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00124aa0;" goto statement_identifier ;)) (expression_statement "FUN_0012b360(uVar9);" (call_expression "FUN_0012b360(uVar9)" identifier (argument_list "(uVar9)" ( identifier ))) ;) (expression_statement "FUN_00129eb0(uVar9,_bfd_std_section);" (call_expression "FUN_00129eb0(uVar9,_bfd_std_section)" identifier (argument_list "(uVar9,_bfd_std_section)" ( identifier , identifier ))) ;) (expression_statement "DAT_00168ac0 = uVar9;" (assignment_expression "DAT_00168ac0 = uVar9" identifier = identifier) ;) (if_statement "if (lVar7 != 0) {\n      lVar8 = FUN_0012cab0(uVar9);\n      *(long *)(lVar8 + 0x30) = lVar7;\n    }" if (parenthesized_expression "(lVar7 != 0)" ( (binary_expression "lVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      lVar8 = FUN_0012cab0(uVar9);\n      *(long *)(lVar8 + 0x30) = lVar7;\n    }" { (expression_statement "lVar8 = FUN_0012cab0(uVar9);" (assignment_expression "lVar8 = FUN_0012cab0(uVar9)" identifier = (call_expression "FUN_0012cab0(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) ;) (expression_statement "*(long *)(lVar8 + 0x30) = lVar7;" (assignment_expression "*(long *)(lVar8 + 0x30) = lVar7" (pointer_expression "*(long *)(lVar8 + 0x30)" * (cast_expression "(long *)(lVar8 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x30)" ( (binary_expression "lVar8 + 0x30" identifier + number_literal) )))) = identifier) ;) })) }) (else_clause "else {\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) {\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n  }" else (compound_statement "{\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) {\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n  }" { (expression_statement "iVar4 = FUN_00129b50(uVar9);" (assignment_expression "iVar4 = FUN_00129b50(uVar9)" identifier = (call_expression "FUN_00129b50(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) ;) (if_statement "if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) {\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }" if (parenthesized_expression "((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0))" ( (binary_expression "(iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar4 = FUN_00129b20(uVar9), iVar4 == 0)" ( (comma_expression "iVar4 = FUN_00129b20(uVar9), iVar4 == 0" (assignment_expression "iVar4 = FUN_00129b20(uVar9)" identifier = (call_expression "FUN_00129b20(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }" { (labeled_statement "LAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);" statement_identifier : (expression_statement "uVar9 = FUN_00129e50(uVar9);" (assignment_expression "uVar9 = FUN_00129e50(uVar9)" identifier = (call_expression "FUN_00129e50(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) ;)) (expression_statement "uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);" (assignment_expression "uVar10 = dcgettext(0,"symbol `%s\' is already defined",5)" identifier = (call_expression "dcgettext(0,"symbol `%s\' is already defined",5)" identifier (argument_list "(0,"symbol `%s\' is already defined",5)" ( number_literal , (string_literal ""symbol `%s\' is already defined"" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0011e700(uVar10,uVar9);" (call_expression "FUN_0011e700(uVar10,uVar9)" identifier (argument_list "(uVar10,uVar9)" ( identifier , identifier ))) ;) (expression_statement "FUN_00120850();" (call_expression "FUN_00120850()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_001202e0(pbVar11,(int)(char)bVar1);" (call_expression "FUN_001202e0(pbVar11,(int)(char)bVar1)" identifier (argument_list "(pbVar11,(int)(char)bVar1)" ( identifier , (cast_expression "(int)(char)bVar1" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_0012b360(uVar9);" (call_expression "FUN_0012b360(uVar9)" identifier (argument_list "(uVar9)" ( identifier ))) ;) (expression_statement "FUN_00129eb0(uVar9,_bfd_std_section);" (call_expression "FUN_00129eb0(uVar9,_bfd_std_section)" identifier (argument_list "(uVar9,_bfd_std_section)" ( identifier , identifier ))) ;) (expression_statement "DAT_00168ac0 = uVar9;" (assignment_expression "DAT_00168ac0 = uVar9" identifier = identifier) ;) }))) (if_statement "if (DAT_00168ad0 != 0) {\n    local_30 = 3;\n    local_38 = 0;\n    local_48[0] = uVar9;\n    FUN_0012c460(DAT_00168ad0,local_48);\n    FUN_0012c570(DAT_00168ad0,&DAT_00168860);\n    FUN_00129eb0(DAT_00168ad0,DAT_00168820);\n  }" if (parenthesized_expression "(DAT_00168ad0 != 0)" ( (binary_expression "DAT_00168ad0 != 0" identifier != number_literal) )) (compound_statement "{\n    local_30 = 3;\n    local_38 = 0;\n    local_48[0] = uVar9;\n    FUN_0012c460(DAT_00168ad0,local_48);\n    FUN_0012c570(DAT_00168ad0,&DAT_00168860);\n    FUN_00129eb0(DAT_00168ad0,DAT_00168820);\n  }" { (expression_statement "local_30 = 3;" (assignment_expression "local_30 = 3" identifier = number_literal) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (expression_statement "local_48[0] = uVar9;" (assignment_expression "local_48[0] = uVar9" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0012c460(DAT_00168ad0,local_48);" (call_expression "FUN_0012c460(DAT_00168ad0,local_48)" identifier (argument_list "(DAT_00168ad0,local_48)" ( identifier , identifier ))) ;) (expression_statement "FUN_0012c570(DAT_00168ad0,&DAT_00168860);" (call_expression "FUN_0012c570(DAT_00168ad0,&DAT_00168860)" identifier (argument_list "(DAT_00168ad0,&DAT_00168860)" ( identifier , (pointer_expression "&DAT_00168860" & identifier) ))) ;) (expression_statement "FUN_00129eb0(DAT_00168ad0,DAT_00168820);" (call_expression "FUN_00129eb0(DAT_00168ad0,DAT_00168820)" identifier (argument_list "(DAT_00168ad0,DAT_00168820)" ( identifier , identifier ))) ;) })) (expression_statement "pbVar6 = DAT_00168ae0;" (assignment_expression "pbVar6 = DAT_00168ae0" identifier = identifier) ;) (if_statement "if ((*DAT_00168ae0 == 0x2c) && (pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c)) {\n    pbVar6 = DAT_00168ae0 + 4;\n  }" if (parenthesized_expression "((*DAT_00168ae0 == 0x2c) && (pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c))" ( (binary_expression "(*DAT_00168ae0 == 0x2c) && (pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c)" (parenthesized_expression "(*DAT_00168ae0 == 0x2c)" ( (binary_expression "*DAT_00168ae0 == 0x2c" (pointer_expression "*DAT_00168ae0" * identifier) == number_literal) )) && (parenthesized_expression "(pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c)" ( (comma_expression "pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c" (assignment_expression "pbVar6 = DAT_00168ae0 + 2" identifier = (binary_expression "DAT_00168ae0 + 2" identifier + number_literal)) , (binary_expression "DAT_00168ae0[2] == 0x2c" (subscript_expression "DAT_00168ae0[2]" identifier [ number_literal ]) == number_literal)) ))) )) (compound_statement "{\n    pbVar6 = DAT_00168ae0 + 4;\n  }" { (expression_statement "pbVar6 = DAT_00168ae0 + 4;" (assignment_expression "pbVar6 = DAT_00168ae0 + 4" identifier = (binary_expression "DAT_00168ae0 + 4" identifier + number_literal)) ;) })) (expression_statement "DAT_00168ae0 = pbVar6;" (assignment_expression "DAT_00168ae0 = pbVar6" identifier = identifier) ;) (expression_statement "FUN_00120a70();" (call_expression "FUN_00120a70()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_001202e0(pbVar11,(int)(char)bVar1);" (call_expression "FUN_001202e0(pbVar11,(int)(char)bVar1)" identifier (argument_list "(pbVar11,(int)(char)bVar1)" ( identifier , (cast_expression "(int)(char)bVar1" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void s_mri_common(int small)\n\n{\n  byte bVar1;\n  byte c;\n  char cVar2;\n  int iVar3;\n  size_t sVar4;\n  bfd *pbVar5;\n  asymbol *paVar6;\n  symbolS *s;\n  char *pcVar7;\n  char *pcVar8;\n  byte *stop;\n  char *name;\n  expressionS exp;\n  \n  if (flag_mri == 0) {\n    s_comm_internal(0,(_func_symbolS_ptr_int_symbolS_ptr_addressT *)0x0);\n    return;\n  }\n  bVar1 = *input_line_pointer;\n  cVar2 = is_end_of_line[bVar1];\n  stop = (byte *)input_line_pointer;\n  while (cVar2 == '\0') {\n    stop = stop + 1;\n    bVar1 = *stop;\n    cVar2 = is_end_of_line[bVar1];\n  }\n  *stop = 0;\n  if (*input_line_pointer == ' ') {\n    input_line_pointer = input_line_pointer + 1;\n  }\n  name = input_line_pointer;\n  if ((_sch_istable[(ulong)(byte)*input_line_pointer * 2] & 4) == 0) {\n    cVar2 = get_symbol_name(&name);\n    s = symbol_find_or_make(name);\n    restore_line_pointer(cVar2);\nLAB_001248cc:\n    cVar2 = *input_line_pointer;\n  }\n  else {\n    do {\n      pcVar7 = input_line_pointer;\n      input_line_pointer = pcVar7 + 1;\n      c = pcVar7[1];\n    } while ((_sch_istable[(ulong)c * 2] & 4) != 0);\n    pcVar7[1] = '\0';\n    if (line_label != (symbolS *)0x0) {\n      pcVar7 = S_GET_NAME(line_label);\n      sVar4 = strlen(pcVar7);\n      pcVar7 = (char *)xmalloc(input_line_pointer + ((sVar4 + 1) - (long)name));\n      pcVar8 = S_GET_NAME(line_label);\n      sprintf(pcVar7,"%s%s",name,pcVar8);\n      name = pcVar7;\n      s = symbol_find_or_make(pcVar7);\n      restore_line_pointer(c);\n      free(pcVar7);\n      goto LAB_001248cc;\n    }\n    s = symbol_find_or_make(name);\n    restore_line_pointer(c);\n    cVar2 = *input_line_pointer;\n  }\n  if (cVar2 == ',') {\n    input_line_pointer = input_line_pointer + 1;\n    pbVar5 = (bfd *)get_absolute_expr(&exp);\n    iVar3 = S_IS_DEFINED(s);\n    if ((iVar3 != 0) && (iVar3 = S_IS_COMMON(s), iVar3 == 0)) goto LAB_00124aa0;\n    S_SET_EXTERNAL(s);\n    S_SET_SEGMENT(s,(segT)_bfd_std_section);\n    mri_common_symbol = s;\n    if (pbVar5 != (bfd *)0x0) {\n      paVar6 = symbol_get_bfdsym(s);\n      paVar6[1].the_bfd = pbVar5;\n    }\n  }\n  else {\n    iVar3 = S_IS_DEFINED(s);\n    if ((iVar3 != 0) && (iVar3 = S_IS_COMMON(s), iVar3 == 0)) {\nLAB_00124aa0:\n      pcVar7 = S_GET_NAME(s);\n      pcVar8 = (char *)dcgettext(0,"symbol `%s\' is already defined",5);\n      as_bad(pcVar8,pcVar7);\n      ignore_rest_of_line();\n      mri_comment_end((char *)stop,(int)(char)bVar1);\n      return;\n    }\n    S_SET_EXTERNAL(s);\n    S_SET_SEGMENT(s,(segT)_bfd_std_section);\n    mri_common_symbol = s;\n  }\n  if (line_label != (symbolS *)0x0) {\n    exp._24_1_ = 3;\n    exp.X_add_number = 0;\n    exp.X_add_symbol = s;\n    symbol_set_value_expression(line_label,&exp);\n    symbol_set_frag(line_label,&zero_address_frag);\n    S_SET_SEGMENT(line_label,expr_section);\n  }\n  pcVar7 = input_line_pointer;\n  if ((*input_line_pointer == ',') &&\n     (pcVar7 = input_line_pointer + 2, input_line_pointer[2] == ',')) {\n    pcVar7 = input_line_pointer + 4;\n  }\n  input_line_pointer = pcVar7;\n  demand_empty_rest_of_line();\n  mri_comment_end((char *)stop,(int)(char)bVar1);\n  return;\n}\n\n" (function_definition "void s_mri_common(int small)\n\n{\n  byte bVar1;\n  byte c;\n  char cVar2;\n  int iVar3;\n  size_t sVar4;\n  bfd *pbVar5;\n  asymbol *paVar6;\n  symbolS *s;\n  char *pcVar7;\n  char *pcVar8;\n  byte *stop;\n  char *name;\n  expressionS exp;\n  \n  if (flag_mri == 0) {\n    s_comm_internal(0,(_func_symbolS_ptr_int_symbolS_ptr_addressT *)0x0);\n    return;\n  }\n  bVar1 = *input_line_pointer;\n  cVar2 = is_end_of_line[bVar1];\n  stop = (byte *)input_line_pointer;\n  while (cVar2 == '\0') {\n    stop = stop + 1;\n    bVar1 = *stop;\n    cVar2 = is_end_of_line[bVar1];\n  }\n  *stop = 0;\n  if (*input_line_pointer == ' ') {\n    input_line_pointer = input_line_pointer + 1;\n  }\n  name = input_line_pointer;\n  if ((_sch_istable[(ulong)(byte)*input_line_pointer * 2] & 4) == 0) {\n    cVar2 = get_symbol_name(&name);\n    s = symbol_find_or_make(name);\n    restore_line_pointer(cVar2);\nLAB_001248cc:\n    cVar2 = *input_line_pointer;\n  }\n  else {\n    do {\n      pcVar7 = input_line_pointer;\n      input_line_pointer = pcVar7 + 1;\n      c = pcVar7[1];\n    } while ((_sch_istable[(ulong)c * 2] & 4) != 0);\n    pcVar7[1] = '\0';\n    if (line_label != (symbolS *)0x0) {\n      pcVar7 = S_GET_NAME(line_label);\n      sVar4 = strlen(pcVar7);\n      pcVar7 = (char *)xmalloc(input_line_pointer + ((sVar4 + 1) - (long)name));\n      pcVar8 = S_GET_NAME(line_label);\n      sprintf(pcVar7,"%s%s",name,pcVar8);\n      name = pcVar7;\n      s = symbol_find_or_make(pcVar7);\n      restore_line_pointer(c);\n      free(pcVar7);\n      goto LAB_001248cc;\n    }\n    s = symbol_find_or_make(name);\n    restore_line_pointer(c);\n    cVar2 = *input_line_pointer;\n  }\n  if (cVar2 == ',') {\n    input_line_pointer = input_line_pointer + 1;\n    pbVar5 = (bfd *)get_absolute_expr(&exp);\n    iVar3 = S_IS_DEFINED(s);\n    if ((iVar3 != 0) && (iVar3 = S_IS_COMMON(s), iVar3 == 0)) goto LAB_00124aa0;\n    S_SET_EXTERNAL(s);\n    S_SET_SEGMENT(s,(segT)_bfd_std_section);\n    mri_common_symbol = s;\n    if (pbVar5 != (bfd *)0x0) {\n      paVar6 = symbol_get_bfdsym(s);\n      paVar6[1].the_bfd = pbVar5;\n    }\n  }\n  else {\n    iVar3 = S_IS_DEFINED(s);\n    if ((iVar3 != 0) && (iVar3 = S_IS_COMMON(s), iVar3 == 0)) {\nLAB_00124aa0:\n      pcVar7 = S_GET_NAME(s);\n      pcVar8 = (char *)dcgettext(0,"symbol `%s\' is already defined",5);\n      as_bad(pcVar8,pcVar7);\n      ignore_rest_of_line();\n      mri_comment_end((char *)stop,(int)(char)bVar1);\n      return;\n    }\n    S_SET_EXTERNAL(s);\n    S_SET_SEGMENT(s,(segT)_bfd_std_section);\n    mri_common_symbol = s;\n  }\n  if (line_label != (symbolS *)0x0) {\n    exp._24_1_ = 3;\n    exp.X_add_number = 0;\n    exp.X_add_symbol = s;\n    symbol_set_value_expression(line_label,&exp);\n    symbol_set_frag(line_label,&zero_address_frag);\n    S_SET_SEGMENT(line_label,expr_section);\n  }\n  pcVar7 = input_line_pointer;\n  if ((*input_line_pointer == ',') &&\n     (pcVar7 = input_line_pointer + 2, input_line_pointer[2] == ',')) {\n    pcVar7 = input_line_pointer + 4;\n  }\n  input_line_pointer = pcVar7;\n  demand_empty_rest_of_line();\n  mri_comment_end((char *)stop,(int)(char)bVar1);\n  return;\n}" primitive_type (function_declarator "s_mri_common(int small)" identifier (parameter_list "(int small)" ( (parameter_declaration "int small" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  byte c;\n  char cVar2;\n  int iVar3;\n  size_t sVar4;\n  bfd *pbVar5;\n  asymbol *paVar6;\n  symbolS *s;\n  char *pcVar7;\n  char *pcVar8;\n  byte *stop;\n  char *name;\n  expressionS exp;\n  \n  if (flag_mri == 0) {\n    s_comm_internal(0,(_func_symbolS_ptr_int_symbolS_ptr_addressT *)0x0);\n    return;\n  }\n  bVar1 = *input_line_pointer;\n  cVar2 = is_end_of_line[bVar1];\n  stop = (byte *)input_line_pointer;\n  while (cVar2 == '\0') {\n    stop = stop + 1;\n    bVar1 = *stop;\n    cVar2 = is_end_of_line[bVar1];\n  }\n  *stop = 0;\n  if (*input_line_pointer == ' ') {\n    input_line_pointer = input_line_pointer + 1;\n  }\n  name = input_line_pointer;\n  if ((_sch_istable[(ulong)(byte)*input_line_pointer * 2] & 4) == 0) {\n    cVar2 = get_symbol_name(&name);\n    s = symbol_find_or_make(name);\n    restore_line_pointer(cVar2);\nLAB_001248cc:\n    cVar2 = *input_line_pointer;\n  }\n  else {\n    do {\n      pcVar7 = input_line_pointer;\n      input_line_pointer = pcVar7 + 1;\n      c = pcVar7[1];\n    } while ((_sch_istable[(ulong)c * 2] & 4) != 0);\n    pcVar7[1] = '\0';\n    if (line_label != (symbolS *)0x0) {\n      pcVar7 = S_GET_NAME(line_label);\n      sVar4 = strlen(pcVar7);\n      pcVar7 = (char *)xmalloc(input_line_pointer + ((sVar4 + 1) - (long)name));\n      pcVar8 = S_GET_NAME(line_label);\n      sprintf(pcVar7,"%s%s",name,pcVar8);\n      name = pcVar7;\n      s = symbol_find_or_make(pcVar7);\n      restore_line_pointer(c);\n      free(pcVar7);\n      goto LAB_001248cc;\n    }\n    s = symbol_find_or_make(name);\n    restore_line_pointer(c);\n    cVar2 = *input_line_pointer;\n  }\n  if (cVar2 == ',') {\n    input_line_pointer = input_line_pointer + 1;\n    pbVar5 = (bfd *)get_absolute_expr(&exp);\n    iVar3 = S_IS_DEFINED(s);\n    if ((iVar3 != 0) && (iVar3 = S_IS_COMMON(s), iVar3 == 0)) goto LAB_00124aa0;\n    S_SET_EXTERNAL(s);\n    S_SET_SEGMENT(s,(segT)_bfd_std_section);\n    mri_common_symbol = s;\n    if (pbVar5 != (bfd *)0x0) {\n      paVar6 = symbol_get_bfdsym(s);\n      paVar6[1].the_bfd = pbVar5;\n    }\n  }\n  else {\n    iVar3 = S_IS_DEFINED(s);\n    if ((iVar3 != 0) && (iVar3 = S_IS_COMMON(s), iVar3 == 0)) {\nLAB_00124aa0:\n      pcVar7 = S_GET_NAME(s);\n      pcVar8 = (char *)dcgettext(0,"symbol `%s\' is already defined",5);\n      as_bad(pcVar8,pcVar7);\n      ignore_rest_of_line();\n      mri_comment_end((char *)stop,(int)(char)bVar1);\n      return;\n    }\n    S_SET_EXTERNAL(s);\n    S_SET_SEGMENT(s,(segT)_bfd_std_section);\n    mri_common_symbol = s;\n  }\n  if (line_label != (symbolS *)0x0) {\n    exp._24_1_ = 3;\n    exp.X_add_number = 0;\n    exp.X_add_symbol = s;\n    symbol_set_value_expression(line_label,&exp);\n    symbol_set_frag(line_label,&zero_address_frag);\n    S_SET_SEGMENT(line_label,expr_section);\n  }\n  pcVar7 = input_line_pointer;\n  if ((*input_line_pointer == ',') &&\n     (pcVar7 = input_line_pointer + 2, input_line_pointer[2] == ',')) {\n    pcVar7 = input_line_pointer + 4;\n  }\n  input_line_pointer = pcVar7;\n  demand_empty_rest_of_line();\n  mri_comment_end((char *)stop,(int)(char)bVar1);\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "byte c;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "size_t sVar4;" primitive_type identifier ;) (declaration "bfd *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "asymbol *paVar6;" type_identifier (pointer_declarator "*paVar6" * identifier) ;) (declaration "symbolS *s;" type_identifier (pointer_declarator "*s" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "byte *stop;" type_identifier (pointer_declarator "*stop" * identifier) ;) (declaration "char *name;" primitive_type (pointer_declarator "*name" * identifier) ;) (declaration "expressionS exp;" type_identifier identifier ;) (if_statement "if (flag_mri == 0) {\n    s_comm_internal(0,(_func_symbolS_ptr_int_symbolS_ptr_addressT *)0x0);\n    return;\n  }" if (parenthesized_expression "(flag_mri == 0)" ( (binary_expression "flag_mri == 0" identifier == number_literal) )) (compound_statement "{\n    s_comm_internal(0,(_func_symbolS_ptr_int_symbolS_ptr_addressT *)0x0);\n    return;\n  }" { (expression_statement "s_comm_internal(0,(_func_symbolS_ptr_int_symbolS_ptr_addressT *)0x0);" (call_expression "s_comm_internal(0,(_func_symbolS_ptr_int_symbolS_ptr_addressT *)0x0)" identifier (argument_list "(0,(_func_symbolS_ptr_int_symbolS_ptr_addressT *)0x0)" ( number_literal , (cast_expression "(_func_symbolS_ptr_int_symbolS_ptr_addressT *)0x0" ( (type_descriptor "_func_symbolS_ptr_int_symbolS_ptr_addressT *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "bVar1 = *input_line_pointer;" (assignment_expression "bVar1 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;) (expression_statement "cVar2 = is_end_of_line[bVar1];" (assignment_expression "cVar2 = is_end_of_line[bVar1]" identifier = (subscript_expression "is_end_of_line[bVar1]" identifier [ identifier ])) ;) (expression_statement "stop = (byte *)input_line_pointer;" (assignment_expression "stop = (byte *)input_line_pointer" identifier = (cast_expression "(byte *)input_line_pointer" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (while_statement "while (cVar2 == '\0') {\n    stop = stop + 1;\n    bVar1 = *stop;\n    cVar2 = is_end_of_line[bVar1];\n  }" while (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    stop = stop + 1;\n    bVar1 = *stop;\n    cVar2 = is_end_of_line[bVar1];\n  }" { (expression_statement "stop = stop + 1;" (assignment_expression "stop = stop + 1" identifier = (binary_expression "stop + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *stop;" (assignment_expression "bVar1 = *stop" identifier = (pointer_expression "*stop" * identifier)) ;) (expression_statement "cVar2 = is_end_of_line[bVar1];" (assignment_expression "cVar2 = is_end_of_line[bVar1]" identifier = (subscript_expression "is_end_of_line[bVar1]" identifier [ identifier ])) ;) })) (expression_statement "*stop = 0;" (assignment_expression "*stop = 0" (pointer_expression "*stop" * identifier) = number_literal) ;) (if_statement "if (*input_line_pointer == ' ') {\n    input_line_pointer = input_line_pointer + 1;\n  }" if (parenthesized_expression "(*input_line_pointer == ' ')" ( (binary_expression "*input_line_pointer == ' '" (pointer_expression "*input_line_pointer" * identifier) == (char_literal "' '" ' character ')) )) (compound_statement "{\n    input_line_pointer = input_line_pointer + 1;\n  }" { (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 "name = input_line_pointer;" (assignment_expression "name = input_line_pointer" identifier = identifier) ;) (if_statement "if ((_sch_istable[(ulong)(byte)*input_line_pointer * 2] & 4) == 0) {\n    cVar2 = get_symbol_name(&name);\n    s = symbol_find_or_make(name);\n    restore_line_pointer(cVar2);\nLAB_001248cc:\n    cVar2 = *input_line_pointer;\n  }\n  else {\n    do {\n      pcVar7 = input_line_pointer;\n      input_line_pointer = pcVar7 + 1;\n      c = pcVar7[1];\n    } while ((_sch_istable[(ulong)c * 2] & 4) != 0);\n    pcVar7[1] = '\0';\n    if (line_label != (symbolS *)0x0) {\n      pcVar7 = S_GET_NAME(line_label);\n      sVar4 = strlen(pcVar7);\n      pcVar7 = (char *)xmalloc(input_line_pointer + ((sVar4 + 1) - (long)name));\n      pcVar8 = S_GET_NAME(line_label);\n      sprintf(pcVar7,"%s%s",name,pcVar8);\n      name = pcVar7;\n      s = symbol_find_or_make(pcVar7);\n      restore_line_pointer(c);\n      free(pcVar7);\n      goto LAB_001248cc;\n    }\n    s = symbol_find_or_make(name);\n    restore_line_pointer(c);\n    cVar2 = *input_line_pointer;\n  }" if (parenthesized_expression "((_sch_istable[(ulong)(byte)*input_line_pointer * 2] & 4) == 0)" ( (binary_expression "(_sch_istable[(ulong)(byte)*input_line_pointer * 2] & 4) == 0" (parenthesized_expression "(_sch_istable[(ulong)(byte)*input_line_pointer * 2] & 4)" ( (binary_expression "_sch_istable[(ulong)(byte)*input_line_pointer * 2] & 4" (subscript_expression "_sch_istable[(ulong)(byte)*input_line_pointer * 2]" identifier [ (binary_expression "(ulong)(byte)*input_line_pointer * 2" (binary_expression "(ulong)(byte)*input_line_pointer" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier) * number_literal) ]) & number_literal) )) == number_literal) )) (compound_statement "{\n    cVar2 = get_symbol_name(&name);\n    s = symbol_find_or_make(name);\n    restore_line_pointer(cVar2);\nLAB_001248cc:\n    cVar2 = *input_line_pointer;\n  }" { (expression_statement "cVar2 = get_symbol_name(&name);" (assignment_expression "cVar2 = get_symbol_name(&name)" identifier = (call_expression "get_symbol_name(&name)" identifier (argument_list "(&name)" ( (pointer_expression "&name" & identifier) )))) ;) (expression_statement "s = symbol_find_or_make(name);" (assignment_expression "s = symbol_find_or_make(name)" identifier = (call_expression "symbol_find_or_make(name)" identifier (argument_list "(name)" ( identifier )))) ;) (expression_statement "restore_line_pointer(cVar2);" (call_expression "restore_line_pointer(cVar2)" identifier (argument_list "(cVar2)" ( identifier ))) ;) (labeled_statement "LAB_001248cc:\n    cVar2 = *input_line_pointer;" statement_identifier : (expression_statement "cVar2 = *input_line_pointer;" (assignment_expression "cVar2 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;)) }) (else_clause "else {\n    do {\n      pcVar7 = input_line_pointer;\n      input_line_pointer = pcVar7 + 1;\n      c = pcVar7[1];\n    } while ((_sch_istable[(ulong)c * 2] & 4) != 0);\n    pcVar7[1] = '\0';\n    if (line_label != (symbolS *)0x0) {\n      pcVar7 = S_GET_NAME(line_label);\n      sVar4 = strlen(pcVar7);\n      pcVar7 = (char *)xmalloc(input_line_pointer + ((sVar4 + 1) - (long)name));\n      pcVar8 = S_GET_NAME(line_label);\n      sprintf(pcVar7,"%s%s",name,pcVar8);\n      name = pcVar7;\n      s = symbol_find_or_make(pcVar7);\n      restore_line_pointer(c);\n      free(pcVar7);\n      goto LAB_001248cc;\n    }\n    s = symbol_find_or_make(name);\n    restore_line_pointer(c);\n    cVar2 = *input_line_pointer;\n  }" else (compound_statement "{\n    do {\n      pcVar7 = input_line_pointer;\n      input_line_pointer = pcVar7 + 1;\n      c = pcVar7[1];\n    } while ((_sch_istable[(ulong)c * 2] & 4) != 0);\n    pcVar7[1] = '\0';\n    if (line_label != (symbolS *)0x0) {\n      pcVar7 = S_GET_NAME(line_label);\n      sVar4 = strlen(pcVar7);\n      pcVar7 = (char *)xmalloc(input_line_pointer + ((sVar4 + 1) - (long)name));\n      pcVar8 = S_GET_NAME(line_label);\n      sprintf(pcVar7,"%s%s",name,pcVar8);\n      name = pcVar7;\n      s = symbol_find_or_make(pcVar7);\n      restore_line_pointer(c);\n      free(pcVar7);\n      goto LAB_001248cc;\n    }\n    s = symbol_find_or_make(name);\n    restore_line_pointer(c);\n    cVar2 = *input_line_pointer;\n  }" { (do_statement "do {\n      pcVar7 = input_line_pointer;\n      input_line_pointer = pcVar7 + 1;\n      c = pcVar7[1];\n    } while ((_sch_istable[(ulong)c * 2] & 4) != 0);" do (compound_statement "{\n      pcVar7 = input_line_pointer;\n      input_line_pointer = pcVar7 + 1;\n      c = pcVar7[1];\n    }" { (expression_statement "pcVar7 = input_line_pointer;" (assignment_expression "pcVar7 = input_line_pointer" identifier = identifier) ;) (expression_statement "input_line_pointer = pcVar7 + 1;" (assignment_expression "input_line_pointer = pcVar7 + 1" identifier = (binary_expression "pcVar7 + 1" identifier + number_literal)) ;) (expression_statement "c = pcVar7[1];" (assignment_expression "c = pcVar7[1]" identifier = (subscript_expression "pcVar7[1]" identifier [ number_literal ])) ;) }) while (parenthesized_expression "((_sch_istable[(ulong)c * 2] & 4) != 0)" ( (binary_expression "(_sch_istable[(ulong)c * 2] & 4) != 0" (parenthesized_expression "(_sch_istable[(ulong)c * 2] & 4)" ( (binary_expression "_sch_istable[(ulong)c * 2] & 4" (subscript_expression "_sch_istable[(ulong)c * 2]" identifier [ (binary_expression "(ulong)c * 2" (cast_expression "(ulong)c" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal) ]) & number_literal) )) != number_literal) )) ;) (expression_statement "pcVar7[1] = '\0';" (assignment_expression "pcVar7[1] = '\0'" (subscript_expression "pcVar7[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (line_label != (symbolS *)0x0) {\n      pcVar7 = S_GET_NAME(line_label);\n      sVar4 = strlen(pcVar7);\n      pcVar7 = (char *)xmalloc(input_line_pointer + ((sVar4 + 1) - (long)name));\n      pcVar8 = S_GET_NAME(line_label);\n      sprintf(pcVar7,"%s%s",name,pcVar8);\n      name = pcVar7;\n      s = symbol_find_or_make(pcVar7);\n      restore_line_pointer(c);\n      free(pcVar7);\n      goto LAB_001248cc;\n    }" if (parenthesized_expression "(line_label != (symbolS *)0x0)" ( (binary_expression "line_label != (symbolS *)0x0" identifier != (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar7 = S_GET_NAME(line_label);\n      sVar4 = strlen(pcVar7);\n      pcVar7 = (char *)xmalloc(input_line_pointer + ((sVar4 + 1) - (long)name));\n      pcVar8 = S_GET_NAME(line_label);\n      sprintf(pcVar7,"%s%s",name,pcVar8);\n      name = pcVar7;\n      s = symbol_find_or_make(pcVar7);\n      restore_line_pointer(c);\n      free(pcVar7);\n      goto LAB_001248cc;\n    }" { (expression_statement "pcVar7 = S_GET_NAME(line_label);" (assignment_expression "pcVar7 = S_GET_NAME(line_label)" identifier = (call_expression "S_GET_NAME(line_label)" identifier (argument_list "(line_label)" ( identifier )))) ;) (expression_statement "sVar4 = strlen(pcVar7);" (assignment_expression "sVar4 = strlen(pcVar7)" identifier = (call_expression "strlen(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "pcVar7 = (char *)xmalloc(input_line_pointer + ((sVar4 + 1) - (long)name));" (assignment_expression "pcVar7 = (char *)xmalloc(input_line_pointer + ((sVar4 + 1) - (long)name))" identifier = (cast_expression "(char *)xmalloc(input_line_pointer + ((sVar4 + 1) - (long)name))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(input_line_pointer + ((sVar4 + 1) - (long)name))" identifier (argument_list "(input_line_pointer + ((sVar4 + 1) - (long)name))" ( (binary_expression "input_line_pointer + ((sVar4 + 1) - (long)name)" identifier + (parenthesized_expression "((sVar4 + 1) - (long)name)" ( (binary_expression "(sVar4 + 1) - (long)name" (parenthesized_expression "(sVar4 + 1)" ( (binary_expression "sVar4 + 1" identifier + number_literal) )) - (cast_expression "(long)name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) ))))) ;) (expression_statement "pcVar8 = S_GET_NAME(line_label);" (assignment_expression "pcVar8 = S_GET_NAME(line_label)" identifier = (call_expression "S_GET_NAME(line_label)" identifier (argument_list "(line_label)" ( identifier )))) ;) (expression_statement "sprintf(pcVar7,"%s%s",name,pcVar8);" (call_expression "sprintf(pcVar7,"%s%s",name,pcVar8)" identifier (argument_list "(pcVar7,"%s%s",name,pcVar8)" ( identifier , (string_literal ""%s%s"" " string_content ") , identifier , identifier ))) ;) (expression_statement "name = pcVar7;" (assignment_expression "name = pcVar7" identifier = identifier) ;) (expression_statement "s = symbol_find_or_make(pcVar7);" (assignment_expression "s = symbol_find_or_make(pcVar7)" identifier = (call_expression "symbol_find_or_make(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "restore_line_pointer(c);" (call_expression "restore_line_pointer(c)" identifier (argument_list "(c)" ( identifier ))) ;) (expression_statement "free(pcVar7);" (call_expression "free(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (goto_statement "goto LAB_001248cc;" goto statement_identifier ;) })) (expression_statement "s = symbol_find_or_make(name);" (assignment_expression "s = symbol_find_or_make(name)" identifier = (call_expression "symbol_find_or_make(name)" identifier (argument_list "(name)" ( identifier )))) ;) (expression_statement "restore_line_pointer(c);" (call_expression "restore_line_pointer(c)" identifier (argument_list "(c)" ( identifier ))) ;) (expression_statement "cVar2 = *input_line_pointer;" (assignment_expression "cVar2 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;) }))) (if_statement "if (cVar2 == ',') {\n    input_line_pointer = input_line_pointer + 1;\n    pbVar5 = (bfd *)get_absolute_expr(&exp);\n    iVar3 = S_IS_DEFINED(s);\n    if ((iVar3 != 0) && (iVar3 = S_IS_COMMON(s), iVar3 == 0)) goto LAB_00124aa0;\n    S_SET_EXTERNAL(s);\n    S_SET_SEGMENT(s,(segT)_bfd_std_section);\n    mri_common_symbol = s;\n    if (pbVar5 != (bfd *)0x0) {\n      paVar6 = symbol_get_bfdsym(s);\n      paVar6[1].the_bfd = pbVar5;\n    }\n  }\n  else {\n    iVar3 = S_IS_DEFINED(s);\n    if ((iVar3 != 0) && (iVar3 = S_IS_COMMON(s), iVar3 == 0)) {\nLAB_00124aa0:\n      pcVar7 = S_GET_NAME(s);\n      pcVar8 = (char *)dcgettext(0,"symbol `%s\' is already defined",5);\n      as_bad(pcVar8,pcVar7);\n      ignore_rest_of_line();\n      mri_comment_end((char *)stop,(int)(char)bVar1);\n      return;\n    }\n    S_SET_EXTERNAL(s);\n    S_SET_SEGMENT(s,(segT)_bfd_std_section);\n    mri_common_symbol = s;\n  }" if (parenthesized_expression "(cVar2 == ',')" ( (binary_expression "cVar2 == ','" identifier == (char_literal "','" ' character ')) )) (compound_statement "{\n    input_line_pointer = input_line_pointer + 1;\n    pbVar5 = (bfd *)get_absolute_expr(&exp);\n    iVar3 = S_IS_DEFINED(s);\n    if ((iVar3 != 0) && (iVar3 = S_IS_COMMON(s), iVar3 == 0)) goto LAB_00124aa0;\n    S_SET_EXTERNAL(s);\n    S_SET_SEGMENT(s,(segT)_bfd_std_section);\n    mri_common_symbol = s;\n    if (pbVar5 != (bfd *)0x0) {\n      paVar6 = symbol_get_bfdsym(s);\n      paVar6[1].the_bfd = pbVar5;\n    }\n  }" { (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 "pbVar5 = (bfd *)get_absolute_expr(&exp);" (assignment_expression "pbVar5 = (bfd *)get_absolute_expr(&exp)" identifier = (cast_expression "(bfd *)get_absolute_expr(&exp)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "get_absolute_expr(&exp)" identifier (argument_list "(&exp)" ( (pointer_expression "&exp" & identifier) ))))) ;) (expression_statement "iVar3 = S_IS_DEFINED(s);" (assignment_expression "iVar3 = S_IS_DEFINED(s)" identifier = (call_expression "S_IS_DEFINED(s)" identifier (argument_list "(s)" ( identifier )))) ;) (if_statement "if ((iVar3 != 0) && (iVar3 = S_IS_COMMON(s), iVar3 == 0)) goto LAB_00124aa0;" if (parenthesized_expression "((iVar3 != 0) && (iVar3 = S_IS_COMMON(s), iVar3 == 0))" ( (binary_expression "(iVar3 != 0) && (iVar3 = S_IS_COMMON(s), iVar3 == 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar3 = S_IS_COMMON(s), iVar3 == 0)" ( (comma_expression "iVar3 = S_IS_COMMON(s), iVar3 == 0" (assignment_expression "iVar3 = S_IS_COMMON(s)" identifier = (call_expression "S_IS_COMMON(s)" identifier (argument_list "(s)" ( identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00124aa0;" goto statement_identifier ;)) (expression_statement "S_SET_EXTERNAL(s);" (call_expression "S_SET_EXTERNAL(s)" identifier (argument_list "(s)" ( identifier ))) ;) (expression_statement "S_SET_SEGMENT(s,(segT)_bfd_std_section);" (call_expression "S_SET_SEGMENT(s,(segT)_bfd_std_section)" identifier (argument_list "(s,(segT)_bfd_std_section)" ( identifier , (cast_expression "(segT)_bfd_std_section" ( (type_descriptor "segT" type_identifier) ) identifier) ))) ;) (expression_statement "mri_common_symbol = s;" (assignment_expression "mri_common_symbol = s" identifier = identifier) ;) (if_statement "if (pbVar5 != (bfd *)0x0) {\n      paVar6 = symbol_get_bfdsym(s);\n      paVar6[1].the_bfd = pbVar5;\n    }" if (parenthesized_expression "(pbVar5 != (bfd *)0x0)" ( (binary_expression "pbVar5 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      paVar6 = symbol_get_bfdsym(s);\n      paVar6[1].the_bfd = pbVar5;\n    }" { (expression_statement "paVar6 = symbol_get_bfdsym(s);" (assignment_expression "paVar6 = symbol_get_bfdsym(s)" identifier = (call_expression "symbol_get_bfdsym(s)" identifier (argument_list "(s)" ( identifier )))) ;) (expression_statement "paVar6[1].the_bfd = pbVar5;" (assignment_expression "paVar6[1].the_bfd = pbVar5" (field_expression "paVar6[1].the_bfd" (subscript_expression "paVar6[1]" identifier [ number_literal ]) . field_identifier) = identifier) ;) })) }) (else_clause "else {\n    iVar3 = S_IS_DEFINED(s);\n    if ((iVar3 != 0) && (iVar3 = S_IS_COMMON(s), iVar3 == 0)) {\nLAB_00124aa0:\n      pcVar7 = S_GET_NAME(s);\n      pcVar8 = (char *)dcgettext(0,"symbol `%s\' is already defined",5);\n      as_bad(pcVar8,pcVar7);\n      ignore_rest_of_line();\n      mri_comment_end((char *)stop,(int)(char)bVar1);\n      return;\n    }\n    S_SET_EXTERNAL(s);\n    S_SET_SEGMENT(s,(segT)_bfd_std_section);\n    mri_common_symbol = s;\n  }" else (compound_statement "{\n    iVar3 = S_IS_DEFINED(s);\n    if ((iVar3 != 0) && (iVar3 = S_IS_COMMON(s), iVar3 == 0)) {\nLAB_00124aa0:\n      pcVar7 = S_GET_NAME(s);\n      pcVar8 = (char *)dcgettext(0,"symbol `%s\' is already defined",5);\n      as_bad(pcVar8,pcVar7);\n      ignore_rest_of_line();\n      mri_comment_end((char *)stop,(int)(char)bVar1);\n      return;\n    }\n    S_SET_EXTERNAL(s);\n    S_SET_SEGMENT(s,(segT)_bfd_std_section);\n    mri_common_symbol = s;\n  }" { (expression_statement "iVar3 = S_IS_DEFINED(s);" (assignment_expression "iVar3 = S_IS_DEFINED(s)" identifier = (call_expression "S_IS_DEFINED(s)" identifier (argument_list "(s)" ( identifier )))) ;) (if_statement "if ((iVar3 != 0) && (iVar3 = S_IS_COMMON(s), iVar3 == 0)) {\nLAB_00124aa0:\n      pcVar7 = S_GET_NAME(s);\n      pcVar8 = (char *)dcgettext(0,"symbol `%s\' is already defined",5);\n      as_bad(pcVar8,pcVar7);\n      ignore_rest_of_line();\n      mri_comment_end((char *)stop,(int)(char)bVar1);\n      return;\n    }" if (parenthesized_expression "((iVar3 != 0) && (iVar3 = S_IS_COMMON(s), iVar3 == 0))" ( (binary_expression "(iVar3 != 0) && (iVar3 = S_IS_COMMON(s), iVar3 == 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar3 = S_IS_COMMON(s), iVar3 == 0)" ( (comma_expression "iVar3 = S_IS_COMMON(s), iVar3 == 0" (assignment_expression "iVar3 = S_IS_COMMON(s)" identifier = (call_expression "S_IS_COMMON(s)" identifier (argument_list "(s)" ( identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_00124aa0:\n      pcVar7 = S_GET_NAME(s);\n      pcVar8 = (char *)dcgettext(0,"symbol `%s\' is already defined",5);\n      as_bad(pcVar8,pcVar7);\n      ignore_rest_of_line();\n      mri_comment_end((char *)stop,(int)(char)bVar1);\n      return;\n    }" { (labeled_statement "LAB_00124aa0:\n      pcVar7 = S_GET_NAME(s);" statement_identifier : (expression_statement "pcVar7 = S_GET_NAME(s);" (assignment_expression "pcVar7 = S_GET_NAME(s)" identifier = (call_expression "S_GET_NAME(s)" identifier (argument_list "(s)" ( identifier )))) ;)) (expression_statement "pcVar8 = (char *)dcgettext(0,"symbol `%s\' is already defined",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"symbol `%s\' is already defined",5)" identifier = (cast_expression "(char *)dcgettext(0,"symbol `%s\' is already defined",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"symbol `%s\' is already defined",5)" identifier (argument_list "(0,"symbol `%s\' is already defined",5)" ( number_literal , (string_literal ""symbol `%s\' is already defined"" " string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar8,pcVar7);" (call_expression "as_bad(pcVar8,pcVar7)" identifier (argument_list "(pcVar8,pcVar7)" ( identifier , identifier ))) ;) (expression_statement "ignore_rest_of_line();" (call_expression "ignore_rest_of_line()" identifier (argument_list "()" ( ))) ;) (expression_statement "mri_comment_end((char *)stop,(int)(char)bVar1);" (call_expression "mri_comment_end((char *)stop,(int)(char)bVar1)" identifier (argument_list "((char *)stop,(int)(char)bVar1)" ( (cast_expression "(char *)stop" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)(char)bVar1" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (return_statement "return;" return ;) })) (expression_statement "S_SET_EXTERNAL(s);" (call_expression "S_SET_EXTERNAL(s)" identifier (argument_list "(s)" ( identifier ))) ;) (expression_statement "S_SET_SEGMENT(s,(segT)_bfd_std_section);" (call_expression "S_SET_SEGMENT(s,(segT)_bfd_std_section)" identifier (argument_list "(s,(segT)_bfd_std_section)" ( identifier , (cast_expression "(segT)_bfd_std_section" ( (type_descriptor "segT" type_identifier) ) identifier) ))) ;) (expression_statement "mri_common_symbol = s;" (assignment_expression "mri_common_symbol = s" identifier = identifier) ;) }))) (if_statement "if (line_label != (symbolS *)0x0) {\n    exp._24_1_ = 3;\n    exp.X_add_number = 0;\n    exp.X_add_symbol = s;\n    symbol_set_value_expression(line_label,&exp);\n    symbol_set_frag(line_label,&zero_address_frag);\n    S_SET_SEGMENT(line_label,expr_section);\n  }" if (parenthesized_expression "(line_label != (symbolS *)0x0)" ( (binary_expression "line_label != (symbolS *)0x0" identifier != (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    exp._24_1_ = 3;\n    exp.X_add_number = 0;\n    exp.X_add_symbol = s;\n    symbol_set_value_expression(line_label,&exp);\n    symbol_set_frag(line_label,&zero_address_frag);\n    S_SET_SEGMENT(line_label,expr_section);\n  }" { (expression_statement "exp._24_1_ = 3;" (assignment_expression "exp._24_1_ = 3" (field_expression "exp._24_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number = 0;" (assignment_expression "exp.X_add_number = 0" (field_expression "exp.X_add_number" identifier . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_symbol = s;" (assignment_expression "exp.X_add_symbol = s" (field_expression "exp.X_add_symbol" identifier . field_identifier) = identifier) ;) (expression_statement "symbol_set_value_expression(line_label,&exp);" (call_expression "symbol_set_value_expression(line_label,&exp)" identifier (argument_list "(line_label,&exp)" ( identifier , (pointer_expression "&exp" & identifier) ))) ;) (expression_statement "symbol_set_frag(line_label,&zero_address_frag);" (call_expression "symbol_set_frag(line_label,&zero_address_frag)" identifier (argument_list "(line_label,&zero_address_frag)" ( identifier , (pointer_expression "&zero_address_frag" & identifier) ))) ;) (expression_statement "S_SET_SEGMENT(line_label,expr_section);" (call_expression "S_SET_SEGMENT(line_label,expr_section)" identifier (argument_list "(line_label,expr_section)" ( identifier , identifier ))) ;) })) (expression_statement "pcVar7 = input_line_pointer;" (assignment_expression "pcVar7 = input_line_pointer" identifier = identifier) ;) (if_statement "if ((*input_line_pointer == ',') &&\n     (pcVar7 = input_line_pointer + 2, input_line_pointer[2] == ',')) {\n    pcVar7 = input_line_pointer + 4;\n  }" if (parenthesized_expression "((*input_line_pointer == ',') &&\n     (pcVar7 = input_line_pointer + 2, input_line_pointer[2] == ','))" ( (binary_expression "(*input_line_pointer == ',') &&\n     (pcVar7 = input_line_pointer + 2, input_line_pointer[2] == ',')" (parenthesized_expression "(*input_line_pointer == ',')" ( (binary_expression "*input_line_pointer == ','" (pointer_expression "*input_line_pointer" * identifier) == (char_literal "','" ' character ')) )) && (parenthesized_expression "(pcVar7 = input_line_pointer + 2, input_line_pointer[2] == ',')" ( (comma_expression "pcVar7 = input_line_pointer + 2, input_line_pointer[2] == ','" (assignment_expression "pcVar7 = input_line_pointer + 2" identifier = (binary_expression "input_line_pointer + 2" identifier + number_literal)) , (binary_expression "input_line_pointer[2] == ','" (subscript_expression "input_line_pointer[2]" identifier [ number_literal ]) == (char_literal "','" ' character '))) ))) )) (compound_statement "{\n    pcVar7 = input_line_pointer + 4;\n  }" { (expression_statement "pcVar7 = input_line_pointer + 4;" (assignment_expression "pcVar7 = input_line_pointer + 4" identifier = (binary_expression "input_line_pointer + 4" identifier + number_literal)) ;) })) (expression_statement "input_line_pointer = pcVar7;" (assignment_expression "input_line_pointer = pcVar7" identifier = identifier) ;) (expression_statement "demand_empty_rest_of_line();" (call_expression "demand_empty_rest_of_line()" identifier (argument_list "()" ( ))) ;) (expression_statement "mri_comment_end((char *)stop,(int)(char)bVar1);" (call_expression "mri_comment_end((char *)stop,(int)(char)bVar1)" identifier (argument_list "((char *)stop,(int)(char)bVar1)" ( (cast_expression "(char *)stop" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)(char)bVar1" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_001247b0(void)\n\n{\n  byte bVar1;\n  byte bVar2;\n  char cVar3;\n  int iVar4;\n  char *__s;\n  size_t sVar5;\n  byte *pbVar6;\n  long lVar7;\n  long lVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  byte *pbVar11;\n  byte *local_50;\n  undefined8 local_48 [2];\n  undefined8 local_38;\n  undefined1 local_30;\n  \n  if (DAT_001689b0 == 0) {\n    FUN_00124480(0,0);\n    return;\n  }\n  bVar1 = *DAT_00168ae0;\n  cVar3 = (&DAT_0015f4e0)[bVar1];\n  pbVar11 = DAT_00168ae0;\n  while (cVar3 == '\0') {\n    pbVar11 = pbVar11 + 1;\n    bVar1 = *pbVar11;\n    cVar3 = (&DAT_0015f4e0)[bVar1];\n  }\n  *pbVar11 = 0;\n  if (*DAT_00168ae0 == 0x20) {\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n  }\n  local_50 = DAT_00168ae0;\n  if ((_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4) == 0) {\n    cVar3 = FUN_00115b70(&local_50);\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)cVar3);\nLAB_001248cc:\n    bVar2 = *DAT_00168ae0;\n  }\n  else {\n    do {\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    } while ((_sch_istable[(ulong)bVar2 * 2] & 4) != 0);\n    pbVar6[1] = 0;\n    if (DAT_00168ad0 != 0) {\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)(char)bVar2);\n    bVar2 = *DAT_00168ae0;\n  }\n  if (bVar2 == 0x2c) {\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n    lVar7 = FUN_0011ef30(local_48);\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) goto LAB_00124aa0;\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n    if (lVar7 != 0) {\n      lVar8 = FUN_0012cab0(uVar9);\n      *(long *)(lVar8 + 0x30) = lVar7;\n    }\n  }\n  else {\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) {\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n  }\n  if (DAT_00168ad0 != 0) {\n    local_30 = 3;\n    local_38 = 0;\n    local_48[0] = uVar9;\n    FUN_0012c460(DAT_00168ad0,local_48);\n    FUN_0012c570(DAT_00168ad0,&DAT_00168860);\n    FUN_00129eb0(DAT_00168ad0,DAT_00168820);\n  }\n  pbVar6 = DAT_00168ae0;\n  if ((*DAT_00168ae0 == 0x2c) && (pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c)) {\n    pbVar6 = DAT_00168ae0 + 4;\n  }\n  DAT_00168ae0 = pbVar6;\n  FUN_00120a70();\n  FUN_001202e0(pbVar11,(int)(char)bVar1);\n  return;\n}\n\n" (function_definition "void FUN_001247b0(void)\n\n{\n  byte bVar1;\n  byte bVar2;\n  char cVar3;\n  int iVar4;\n  char *__s;\n  size_t sVar5;\n  byte *pbVar6;\n  long lVar7;\n  long lVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  byte *pbVar11;\n  byte *local_50;\n  undefined8 local_48 [2];\n  undefined8 local_38;\n  undefined1 local_30;\n  \n  if (DAT_001689b0 == 0) {\n    FUN_00124480(0,0);\n    return;\n  }\n  bVar1 = *DAT_00168ae0;\n  cVar3 = (&DAT_0015f4e0)[bVar1];\n  pbVar11 = DAT_00168ae0;\n  while (cVar3 == '\0') {\n    pbVar11 = pbVar11 + 1;\n    bVar1 = *pbVar11;\n    cVar3 = (&DAT_0015f4e0)[bVar1];\n  }\n  *pbVar11 = 0;\n  if (*DAT_00168ae0 == 0x20) {\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n  }\n  local_50 = DAT_00168ae0;\n  if ((_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4) == 0) {\n    cVar3 = FUN_00115b70(&local_50);\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)cVar3);\nLAB_001248cc:\n    bVar2 = *DAT_00168ae0;\n  }\n  else {\n    do {\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    } while ((_sch_istable[(ulong)bVar2 * 2] & 4) != 0);\n    pbVar6[1] = 0;\n    if (DAT_00168ad0 != 0) {\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)(char)bVar2);\n    bVar2 = *DAT_00168ae0;\n  }\n  if (bVar2 == 0x2c) {\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n    lVar7 = FUN_0011ef30(local_48);\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) goto LAB_00124aa0;\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n    if (lVar7 != 0) {\n      lVar8 = FUN_0012cab0(uVar9);\n      *(long *)(lVar8 + 0x30) = lVar7;\n    }\n  }\n  else {\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) {\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n  }\n  if (DAT_00168ad0 != 0) {\n    local_30 = 3;\n    local_38 = 0;\n    local_48[0] = uVar9;\n    FUN_0012c460(DAT_00168ad0,local_48);\n    FUN_0012c570(DAT_00168ad0,&DAT_00168860);\n    FUN_00129eb0(DAT_00168ad0,DAT_00168820);\n  }\n  pbVar6 = DAT_00168ae0;\n  if ((*DAT_00168ae0 == 0x2c) && (pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c)) {\n    pbVar6 = DAT_00168ae0 + 4;\n  }\n  DAT_00168ae0 = pbVar6;\n  FUN_00120a70();\n  FUN_001202e0(pbVar11,(int)(char)bVar1);\n  return;\n}" primitive_type (function_declarator "FUN_001247b0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  byte bVar1;\n  byte bVar2;\n  char cVar3;\n  int iVar4;\n  char *__s;\n  size_t sVar5;\n  byte *pbVar6;\n  long lVar7;\n  long lVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  byte *pbVar11;\n  byte *local_50;\n  undefined8 local_48 [2];\n  undefined8 local_38;\n  undefined1 local_30;\n  \n  if (DAT_001689b0 == 0) {\n    FUN_00124480(0,0);\n    return;\n  }\n  bVar1 = *DAT_00168ae0;\n  cVar3 = (&DAT_0015f4e0)[bVar1];\n  pbVar11 = DAT_00168ae0;\n  while (cVar3 == '\0') {\n    pbVar11 = pbVar11 + 1;\n    bVar1 = *pbVar11;\n    cVar3 = (&DAT_0015f4e0)[bVar1];\n  }\n  *pbVar11 = 0;\n  if (*DAT_00168ae0 == 0x20) {\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n  }\n  local_50 = DAT_00168ae0;\n  if ((_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4) == 0) {\n    cVar3 = FUN_00115b70(&local_50);\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)cVar3);\nLAB_001248cc:\n    bVar2 = *DAT_00168ae0;\n  }\n  else {\n    do {\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    } while ((_sch_istable[(ulong)bVar2 * 2] & 4) != 0);\n    pbVar6[1] = 0;\n    if (DAT_00168ad0 != 0) {\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)(char)bVar2);\n    bVar2 = *DAT_00168ae0;\n  }\n  if (bVar2 == 0x2c) {\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n    lVar7 = FUN_0011ef30(local_48);\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) goto LAB_00124aa0;\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n    if (lVar7 != 0) {\n      lVar8 = FUN_0012cab0(uVar9);\n      *(long *)(lVar8 + 0x30) = lVar7;\n    }\n  }\n  else {\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) {\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n  }\n  if (DAT_00168ad0 != 0) {\n    local_30 = 3;\n    local_38 = 0;\n    local_48[0] = uVar9;\n    FUN_0012c460(DAT_00168ad0,local_48);\n    FUN_0012c570(DAT_00168ad0,&DAT_00168860);\n    FUN_00129eb0(DAT_00168ad0,DAT_00168820);\n  }\n  pbVar6 = DAT_00168ae0;\n  if ((*DAT_00168ae0 == 0x2c) && (pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c)) {\n    pbVar6 = DAT_00168ae0 + 4;\n  }\n  DAT_00168ae0 = pbVar6;\n  FUN_00120a70();\n  FUN_001202e0(pbVar11,(int)(char)bVar1);\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "undefined8 uVar10;" type_identifier identifier ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "byte *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "undefined8 local_48 [2];" type_identifier (array_declarator "local_48 [2]" identifier [ number_literal ]) ;) (declaration "undefined8 local_38;" type_identifier identifier ;) (declaration "undefined1 local_30;" type_identifier identifier ;) (if_statement "if (DAT_001689b0 == 0) {\n    FUN_00124480(0,0);\n    return;\n  }" if (parenthesized_expression "(DAT_001689b0 == 0)" ( (binary_expression "DAT_001689b0 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_00124480(0,0);\n    return;\n  }" { (expression_statement "FUN_00124480(0,0);" (call_expression "FUN_00124480(0,0)" identifier (argument_list "(0,0)" ( number_literal , number_literal ))) ;) (return_statement "return;" return ;) })) (expression_statement "bVar1 = *DAT_00168ae0;" (assignment_expression "bVar1 = *DAT_00168ae0" identifier = (pointer_expression "*DAT_00168ae0" * identifier)) ;) (expression_statement "cVar3 = (&DAT_0015f4e0)[bVar1];" (assignment_expression "cVar3 = (&DAT_0015f4e0)[bVar1]" identifier = (subscript_expression "(&DAT_0015f4e0)[bVar1]" (parenthesized_expression "(&DAT_0015f4e0)" ( (pointer_expression "&DAT_0015f4e0" & identifier) )) [ identifier ])) ;) (expression_statement "pbVar11 = DAT_00168ae0;" (assignment_expression "pbVar11 = DAT_00168ae0" identifier = identifier) ;) (while_statement "while (cVar3 == '\0') {\n    pbVar11 = pbVar11 + 1;\n    bVar1 = *pbVar11;\n    cVar3 = (&DAT_0015f4e0)[bVar1];\n  }" while (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pbVar11 = pbVar11 + 1;\n    bVar1 = *pbVar11;\n    cVar3 = (&DAT_0015f4e0)[bVar1];\n  }" { (expression_statement "pbVar11 = pbVar11 + 1;" (assignment_expression "pbVar11 = pbVar11 + 1" identifier = (binary_expression "pbVar11 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *pbVar11;" (assignment_expression "bVar1 = *pbVar11" identifier = (pointer_expression "*pbVar11" * identifier)) ;) (expression_statement "cVar3 = (&DAT_0015f4e0)[bVar1];" (assignment_expression "cVar3 = (&DAT_0015f4e0)[bVar1]" identifier = (subscript_expression "(&DAT_0015f4e0)[bVar1]" (parenthesized_expression "(&DAT_0015f4e0)" ( (pointer_expression "&DAT_0015f4e0" & identifier) )) [ identifier ])) ;) })) (expression_statement "*pbVar11 = 0;" (assignment_expression "*pbVar11 = 0" (pointer_expression "*pbVar11" * identifier) = number_literal) ;) (if_statement "if (*DAT_00168ae0 == 0x20) {\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n  }" if (parenthesized_expression "(*DAT_00168ae0 == 0x20)" ( (binary_expression "*DAT_00168ae0 == 0x20" (pointer_expression "*DAT_00168ae0" * identifier) == number_literal) )) (compound_statement "{\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n  }" { (expression_statement "DAT_00168ae0 = DAT_00168ae0 + 1;" (assignment_expression "DAT_00168ae0 = DAT_00168ae0 + 1" identifier = (binary_expression "DAT_00168ae0 + 1" identifier + number_literal)) ;) })) (expression_statement "local_50 = DAT_00168ae0;" (assignment_expression "local_50 = DAT_00168ae0" identifier = identifier) ;) (if_statement "if ((_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4) == 0) {\n    cVar3 = FUN_00115b70(&local_50);\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)cVar3);\nLAB_001248cc:\n    bVar2 = *DAT_00168ae0;\n  }\n  else {\n    do {\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    } while ((_sch_istable[(ulong)bVar2 * 2] & 4) != 0);\n    pbVar6[1] = 0;\n    if (DAT_00168ad0 != 0) {\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)(char)bVar2);\n    bVar2 = *DAT_00168ae0;\n  }" if (parenthesized_expression "((_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4) == 0)" ( (binary_expression "(_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4) == 0" (parenthesized_expression "(_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4)" ( (binary_expression "_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4" (subscript_expression "_sch_istable[(ulong)*DAT_00168ae0 * 2]" identifier [ (binary_expression "(ulong)*DAT_00168ae0 * 2" (binary_expression "(ulong)*DAT_00168ae0" (parenthesized_expression "(ulong)" ( identifier )) * identifier) * number_literal) ]) & number_literal) )) == number_literal) )) (compound_statement "{\n    cVar3 = FUN_00115b70(&local_50);\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)cVar3);\nLAB_001248cc:\n    bVar2 = *DAT_00168ae0;\n  }" { (expression_statement "cVar3 = FUN_00115b70(&local_50);" (assignment_expression "cVar3 = FUN_00115b70(&local_50)" identifier = (call_expression "FUN_00115b70(&local_50)" identifier (argument_list "(&local_50)" ( (pointer_expression "&local_50" & identifier) )))) ;) (expression_statement "uVar9 = FUN_0012b900(local_50);" (assignment_expression "uVar9 = FUN_0012b900(local_50)" identifier = (call_expression "FUN_0012b900(local_50)" identifier (argument_list "(local_50)" ( identifier )))) ;) (expression_statement "FUN_001174e0((int)cVar3);" (call_expression "FUN_001174e0((int)cVar3)" identifier (argument_list "((int)cVar3)" ( (cast_expression "(int)cVar3" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (labeled_statement "LAB_001248cc:\n    bVar2 = *DAT_00168ae0;" statement_identifier : (expression_statement "bVar2 = *DAT_00168ae0;" (assignment_expression "bVar2 = *DAT_00168ae0" identifier = (pointer_expression "*DAT_00168ae0" * identifier)) ;)) }) (else_clause "else {\n    do {\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    } while ((_sch_istable[(ulong)bVar2 * 2] & 4) != 0);\n    pbVar6[1] = 0;\n    if (DAT_00168ad0 != 0) {\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)(char)bVar2);\n    bVar2 = *DAT_00168ae0;\n  }" else (compound_statement "{\n    do {\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    } while ((_sch_istable[(ulong)bVar2 * 2] & 4) != 0);\n    pbVar6[1] = 0;\n    if (DAT_00168ad0 != 0) {\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)(char)bVar2);\n    bVar2 = *DAT_00168ae0;\n  }" { (do_statement "do {\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    } while ((_sch_istable[(ulong)bVar2 * 2] & 4) != 0);" do (compound_statement "{\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    }" { (expression_statement "pbVar6 = DAT_00168ae0;" (assignment_expression "pbVar6 = DAT_00168ae0" identifier = identifier) ;) (expression_statement "DAT_00168ae0 = pbVar6 + 1;" (assignment_expression "DAT_00168ae0 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "bVar2 = pbVar6[1];" (assignment_expression "bVar2 = pbVar6[1]" identifier = (subscript_expression "pbVar6[1]" identifier [ number_literal ])) ;) }) while (parenthesized_expression "((_sch_istable[(ulong)bVar2 * 2] & 4) != 0)" ( (binary_expression "(_sch_istable[(ulong)bVar2 * 2] & 4) != 0" (parenthesized_expression "(_sch_istable[(ulong)bVar2 * 2] & 4)" ( (binary_expression "_sch_istable[(ulong)bVar2 * 2] & 4" (subscript_expression "_sch_istable[(ulong)bVar2 * 2]" identifier [ (binary_expression "(ulong)bVar2 * 2" (cast_expression "(ulong)bVar2" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal) ]) & number_literal) )) != number_literal) )) ;) (expression_statement "pbVar6[1] = 0;" (assignment_expression "pbVar6[1] = 0" (subscript_expression "pbVar6[1]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (DAT_00168ad0 != 0) {\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }" if (parenthesized_expression "(DAT_00168ad0 != 0)" ( (binary_expression "DAT_00168ad0 != 0" identifier != number_literal) )) (compound_statement "{\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }" { (expression_statement "__s = (char *)FUN_00129e50();" (assignment_expression "__s = (char *)FUN_00129e50()" identifier = (cast_expression "(char *)FUN_00129e50()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00129e50()" identifier (argument_list "()" ( ))))) ;) (expression_statement "sVar5 = strlen(__s);" (assignment_expression "sVar5 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));" (assignment_expression "pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50))" identifier = (cast_expression "(byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50))" identifier (argument_list "(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50))" ( (binary_expression "DAT_00168ae0 + ((sVar5 + 1) - (long)local_50)" identifier + (parenthesized_expression "((sVar5 + 1) - (long)local_50)" ( (binary_expression "(sVar5 + 1) - (long)local_50" (parenthesized_expression "(sVar5 + 1)" ( (binary_expression "sVar5 + 1" identifier + number_literal) )) - (cast_expression "(long)local_50" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) ))))) ;) (expression_statement "uVar9 = FUN_00129e50(DAT_00168ad0);" (assignment_expression "uVar9 = FUN_00129e50(DAT_00168ad0)" identifier = (call_expression "FUN_00129e50(DAT_00168ad0)" identifier (argument_list "(DAT_00168ad0)" ( identifier )))) ;) (expression_statement "sprintf((char *)pbVar6,"%s%s",local_50,uVar9);" (call_expression "sprintf((char *)pbVar6,"%s%s",local_50,uVar9)" identifier (argument_list "((char *)pbVar6,"%s%s",local_50,uVar9)" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""%s%s"" " string_content ") , identifier , identifier ))) ;) (expression_statement "local_50 = pbVar6;" (assignment_expression "local_50 = pbVar6" identifier = identifier) ;) (expression_statement "uVar9 = FUN_0012b900(pbVar6);" (assignment_expression "uVar9 = FUN_0012b900(pbVar6)" identifier = (call_expression "FUN_0012b900(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;) (expression_statement "FUN_001174e0((int)(char)bVar2);" (call_expression "FUN_001174e0((int)(char)bVar2)" identifier (argument_list "((int)(char)bVar2)" ( (cast_expression "(int)(char)bVar2" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (expression_statement "free(pbVar6);" (call_expression "free(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier ))) ;) (goto_statement "goto LAB_001248cc;" goto statement_identifier ;) })) (expression_statement "uVar9 = FUN_0012b900(local_50);" (assignment_expression "uVar9 = FUN_0012b900(local_50)" identifier = (call_expression "FUN_0012b900(local_50)" identifier (argument_list "(local_50)" ( identifier )))) ;) (expression_statement "FUN_001174e0((int)(char)bVar2);" (call_expression "FUN_001174e0((int)(char)bVar2)" identifier (argument_list "((int)(char)bVar2)" ( (cast_expression "(int)(char)bVar2" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (expression_statement "bVar2 = *DAT_00168ae0;" (assignment_expression "bVar2 = *DAT_00168ae0" identifier = (pointer_expression "*DAT_00168ae0" * identifier)) ;) }))) (if_statement "if (bVar2 == 0x2c) {\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n    lVar7 = FUN_0011ef30(local_48);\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) goto LAB_00124aa0;\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n    if (lVar7 != 0) {\n      lVar8 = FUN_0012cab0(uVar9);\n      *(long *)(lVar8 + 0x30) = lVar7;\n    }\n  }\n  else {\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) {\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n  }" if (parenthesized_expression "(bVar2 == 0x2c)" ( (binary_expression "bVar2 == 0x2c" identifier == number_literal) )) (compound_statement "{\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n    lVar7 = FUN_0011ef30(local_48);\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) goto LAB_00124aa0;\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n    if (lVar7 != 0) {\n      lVar8 = FUN_0012cab0(uVar9);\n      *(long *)(lVar8 + 0x30) = lVar7;\n    }\n  }" { (expression_statement "DAT_00168ae0 = DAT_00168ae0 + 1;" (assignment_expression "DAT_00168ae0 = DAT_00168ae0 + 1" identifier = (binary_expression "DAT_00168ae0 + 1" identifier + number_literal)) ;) (expression_statement "lVar7 = FUN_0011ef30(local_48);" (assignment_expression "lVar7 = FUN_0011ef30(local_48)" identifier = (call_expression "FUN_0011ef30(local_48)" identifier (argument_list "(local_48)" ( identifier )))) ;) (expression_statement "iVar4 = FUN_00129b50(uVar9);" (assignment_expression "iVar4 = FUN_00129b50(uVar9)" identifier = (call_expression "FUN_00129b50(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) ;) (if_statement "if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) goto LAB_00124aa0;" if (parenthesized_expression "((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0))" ( (binary_expression "(iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar4 = FUN_00129b20(uVar9), iVar4 == 0)" ( (comma_expression "iVar4 = FUN_00129b20(uVar9), iVar4 == 0" (assignment_expression "iVar4 = FUN_00129b20(uVar9)" identifier = (call_expression "FUN_00129b20(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00124aa0;" goto statement_identifier ;)) (expression_statement "FUN_0012b360(uVar9);" (call_expression "FUN_0012b360(uVar9)" identifier (argument_list "(uVar9)" ( identifier ))) ;) (expression_statement "FUN_00129eb0(uVar9,_bfd_std_section);" (call_expression "FUN_00129eb0(uVar9,_bfd_std_section)" identifier (argument_list "(uVar9,_bfd_std_section)" ( identifier , identifier ))) ;) (expression_statement "DAT_00168ac0 = uVar9;" (assignment_expression "DAT_00168ac0 = uVar9" identifier = identifier) ;) (if_statement "if (lVar7 != 0) {\n      lVar8 = FUN_0012cab0(uVar9);\n      *(long *)(lVar8 + 0x30) = lVar7;\n    }" if (parenthesized_expression "(lVar7 != 0)" ( (binary_expression "lVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      lVar8 = FUN_0012cab0(uVar9);\n      *(long *)(lVar8 + 0x30) = lVar7;\n    }" { (expression_statement "lVar8 = FUN_0012cab0(uVar9);" (assignment_expression "lVar8 = FUN_0012cab0(uVar9)" identifier = (call_expression "FUN_0012cab0(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) ;) (expression_statement "*(long *)(lVar8 + 0x30) = lVar7;" (assignment_expression "*(long *)(lVar8 + 0x30) = lVar7" (pointer_expression "*(long *)(lVar8 + 0x30)" * (cast_expression "(long *)(lVar8 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x30)" ( (binary_expression "lVar8 + 0x30" identifier + number_literal) )))) = identifier) ;) })) }) (else_clause "else {\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) {\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n  }" else (compound_statement "{\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) {\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n  }" { (expression_statement "iVar4 = FUN_00129b50(uVar9);" (assignment_expression "iVar4 = FUN_00129b50(uVar9)" identifier = (call_expression "FUN_00129b50(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) ;) (if_statement "if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) {\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }" if (parenthesized_expression "((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0))" ( (binary_expression "(iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar4 = FUN_00129b20(uVar9), iVar4 == 0)" ( (comma_expression "iVar4 = FUN_00129b20(uVar9), iVar4 == 0" (assignment_expression "iVar4 = FUN_00129b20(uVar9)" identifier = (call_expression "FUN_00129b20(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }" { (labeled_statement "LAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);" statement_identifier : (expression_statement "uVar9 = FUN_00129e50(uVar9);" (assignment_expression "uVar9 = FUN_00129e50(uVar9)" identifier = (call_expression "FUN_00129e50(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) ;)) (expression_statement "uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);" (assignment_expression "uVar10 = dcgettext(0,"symbol `%s\' is already defined",5)" identifier = (call_expression "dcgettext(0,"symbol `%s\' is already defined",5)" identifier (argument_list "(0,"symbol `%s\' is already defined",5)" ( number_literal , (string_literal ""symbol `%s\' is already defined"" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0011e700(uVar10,uVar9);" (call_expression "FUN_0011e700(uVar10,uVar9)" identifier (argument_list "(uVar10,uVar9)" ( identifier , identifier ))) ;) (expression_statement "FUN_00120850();" (call_expression "FUN_00120850()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_001202e0(pbVar11,(int)(char)bVar1);" (call_expression "FUN_001202e0(pbVar11,(int)(char)bVar1)" identifier (argument_list "(pbVar11,(int)(char)bVar1)" ( identifier , (cast_expression "(int)(char)bVar1" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_0012b360(uVar9);" (call_expression "FUN_0012b360(uVar9)" identifier (argument_list "(uVar9)" ( identifier ))) ;) (expression_statement "FUN_00129eb0(uVar9,_bfd_std_section);" (call_expression "FUN_00129eb0(uVar9,_bfd_std_section)" identifier (argument_list "(uVar9,_bfd_std_section)" ( identifier , identifier ))) ;) (expression_statement "DAT_00168ac0 = uVar9;" (assignment_expression "DAT_00168ac0 = uVar9" identifier = identifier) ;) }))) (if_statement "if (DAT_00168ad0 != 0) {\n    local_30 = 3;\n    local_38 = 0;\n    local_48[0] = uVar9;\n    FUN_0012c460(DAT_00168ad0,local_48);\n    FUN_0012c570(DAT_00168ad0,&DAT_00168860);\n    FUN_00129eb0(DAT_00168ad0,DAT_00168820);\n  }" if (parenthesized_expression "(DAT_00168ad0 != 0)" ( (binary_expression "DAT_00168ad0 != 0" identifier != number_literal) )) (compound_statement "{\n    local_30 = 3;\n    local_38 = 0;\n    local_48[0] = uVar9;\n    FUN_0012c460(DAT_00168ad0,local_48);\n    FUN_0012c570(DAT_00168ad0,&DAT_00168860);\n    FUN_00129eb0(DAT_00168ad0,DAT_00168820);\n  }" { (expression_statement "local_30 = 3;" (assignment_expression "local_30 = 3" identifier = number_literal) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (expression_statement "local_48[0] = uVar9;" (assignment_expression "local_48[0] = uVar9" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0012c460(DAT_00168ad0,local_48);" (call_expression "FUN_0012c460(DAT_00168ad0,local_48)" identifier (argument_list "(DAT_00168ad0,local_48)" ( identifier , identifier ))) ;) (expression_statement "FUN_0012c570(DAT_00168ad0,&DAT_00168860);" (call_expression "FUN_0012c570(DAT_00168ad0,&DAT_00168860)" identifier (argument_list "(DAT_00168ad0,&DAT_00168860)" ( identifier , (pointer_expression "&DAT_00168860" & identifier) ))) ;) (expression_statement "FUN_00129eb0(DAT_00168ad0,DAT_00168820);" (call_expression "FUN_00129eb0(DAT_00168ad0,DAT_00168820)" identifier (argument_list "(DAT_00168ad0,DAT_00168820)" ( identifier , identifier ))) ;) })) (expression_statement "pbVar6 = DAT_00168ae0;" (assignment_expression "pbVar6 = DAT_00168ae0" identifier = identifier) ;) (if_statement "if ((*DAT_00168ae0 == 0x2c) && (pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c)) {\n    pbVar6 = DAT_00168ae0 + 4;\n  }" if (parenthesized_expression "((*DAT_00168ae0 == 0x2c) && (pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c))" ( (binary_expression "(*DAT_00168ae0 == 0x2c) && (pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c)" (parenthesized_expression "(*DAT_00168ae0 == 0x2c)" ( (binary_expression "*DAT_00168ae0 == 0x2c" (pointer_expression "*DAT_00168ae0" * identifier) == number_literal) )) && (parenthesized_expression "(pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c)" ( (comma_expression "pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c" (assignment_expression "pbVar6 = DAT_00168ae0 + 2" identifier = (binary_expression "DAT_00168ae0 + 2" identifier + number_literal)) , (binary_expression "DAT_00168ae0[2] == 0x2c" (subscript_expression "DAT_00168ae0[2]" identifier [ number_literal ]) == number_literal)) ))) )) (compound_statement "{\n    pbVar6 = DAT_00168ae0 + 4;\n  }" { (expression_statement "pbVar6 = DAT_00168ae0 + 4;" (assignment_expression "pbVar6 = DAT_00168ae0 + 4" identifier = (binary_expression "DAT_00168ae0 + 4" identifier + number_literal)) ;) })) (expression_statement "DAT_00168ae0 = pbVar6;" (assignment_expression "DAT_00168ae0 = pbVar6" identifier = identifier) ;) (expression_statement "FUN_00120a70();" (call_expression "FUN_00120a70()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_001202e0(pbVar11,(int)(char)bVar1);" (call_expression "FUN_001202e0(pbVar11,(int)(char)bVar1)" identifier (argument_list "(pbVar11,(int)(char)bVar1)" ( identifier , (cast_expression "(int)(char)bVar1" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , LIT ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ])) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) * LIT) ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ]) & LIT) )) != LIT) )) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ))) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (subscript_expression IDENT [ LIT ]) == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) (return_statement return ;) })))
(function_definition "void FUN_001247b0(void)\n\n{\n  byte bVar1;\n  byte bVar2;\n  char cVar3;\n  int iVar4;\n  char *__s;\n  size_t sVar5;\n  byte *pbVar6;\n  long lVar7;\n  long lVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  byte *pbVar11;\n  byte *local_50;\n  undefined8 local_48 [2];\n  undefined8 local_38;\n  undefined1 local_30;\n  \n  if (DAT_001689b0 == 0) {\n    FUN_00124480(0,0);\n    return;\n  }\n  bVar1 = *DAT_00168ae0;\n  cVar3 = (&DAT_0015f4e0)[bVar1];\n  pbVar11 = DAT_00168ae0;\n  while (cVar3 == '\0') {\n    pbVar11 = pbVar11 + 1;\n    bVar1 = *pbVar11;\n    cVar3 = (&DAT_0015f4e0)[bVar1];\n  }\n  *pbVar11 = 0;\n  if (*DAT_00168ae0 == 0x20) {\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n  }\n  local_50 = DAT_00168ae0;\n  if ((_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4) == 0) {\n    cVar3 = FUN_00115b70(&local_50);\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)cVar3);\nLAB_001248cc:\n    bVar2 = *DAT_00168ae0;\n  }\n  else {\n    do {\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    } while ((_sch_istable[(ulong)bVar2 * 2] & 4) != 0);\n    pbVar6[1] = 0;\n    if (DAT_00168ad0 != 0) {\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)(char)bVar2);\n    bVar2 = *DAT_00168ae0;\n  }\n  if (bVar2 == 0x2c) {\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n    lVar7 = FUN_0011ef30(local_48);\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) goto LAB_00124aa0;\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n    if (lVar7 != 0) {\n      lVar8 = FUN_0012cab0(uVar9);\n      *(long *)(lVar8 + 0x30) = lVar7;\n    }\n  }\n  else {\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) {\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n  }\n  if (DAT_00168ad0 != 0) {\n    local_30 = 3;\n    local_38 = 0;\n    local_48[0] = uVar9;\n    FUN_0012c460(DAT_00168ad0,local_48);\n    FUN_0012c570(DAT_00168ad0,&DAT_00168860);\n    FUN_00129eb0(DAT_00168ad0,DAT_00168820);\n  }\n  pbVar6 = DAT_00168ae0;\n  if ((*DAT_00168ae0 == 0x2c) && (pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c)) {\n    pbVar6 = DAT_00168ae0 + 4;\n  }\n  DAT_00168ae0 = pbVar6;\n  FUN_00120a70();\n  FUN_001202e0(pbVar11,(int)(char)bVar1);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_001247b0(void)" (identifier "FUN_001247b0") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  byte bVar1;\n  byte bVar2;\n  char cVar3;\n  int iVar4;\n  char *__s;\n  size_t sVar5;\n  byte *pbVar6;\n  long lVar7;\n  long lVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  byte *pbVar11;\n  byte *local_50;\n  undefined8 local_48 [2];\n  undefined8 local_38;\n  undefined1 local_30;\n  \n  if (DAT_001689b0 == 0) {\n    FUN_00124480(0,0);\n    return;\n  }\n  bVar1 = *DAT_00168ae0;\n  cVar3 = (&DAT_0015f4e0)[bVar1];\n  pbVar11 = DAT_00168ae0;\n  while (cVar3 == '\0') {\n    pbVar11 = pbVar11 + 1;\n    bVar1 = *pbVar11;\n    cVar3 = (&DAT_0015f4e0)[bVar1];\n  }\n  *pbVar11 = 0;\n  if (*DAT_00168ae0 == 0x20) {\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n  }\n  local_50 = DAT_00168ae0;\n  if ((_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4) == 0) {\n    cVar3 = FUN_00115b70(&local_50);\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)cVar3);\nLAB_001248cc:\n    bVar2 = *DAT_00168ae0;\n  }\n  else {\n    do {\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    } while ((_sch_istable[(ulong)bVar2 * 2] & 4) != 0);\n    pbVar6[1] = 0;\n    if (DAT_00168ad0 != 0) {\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)(char)bVar2);\n    bVar2 = *DAT_00168ae0;\n  }\n  if (bVar2 == 0x2c) {\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n    lVar7 = FUN_0011ef30(local_48);\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) goto LAB_00124aa0;\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n    if (lVar7 != 0) {\n      lVar8 = FUN_0012cab0(uVar9);\n      *(long *)(lVar8 + 0x30) = lVar7;\n    }\n  }\n  else {\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) {\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n  }\n  if (DAT_00168ad0 != 0) {\n    local_30 = 3;\n    local_38 = 0;\n    local_48[0] = uVar9;\n    FUN_0012c460(DAT_00168ad0,local_48);\n    FUN_0012c570(DAT_00168ad0,&DAT_00168860);\n    FUN_00129eb0(DAT_00168ad0,DAT_00168820);\n  }\n  pbVar6 = DAT_00168ae0;\n  if ((*DAT_00168ae0 == 0x2c) && (pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c)) {\n    pbVar6 = DAT_00168ae0 + 4;\n  }\n  DAT_00168ae0 = pbVar6;\n  FUN_00120a70();\n  FUN_001202e0(pbVar11,(int)(char)bVar1);\n  return;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "char *__s;" (primitive_type "char") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "size_t sVar5;" (primitive_type "size_t") (identifier "sVar5") (; ";")) (declaration "byte *pbVar6;" (type_identifier "byte") (pointer_declarator "*pbVar6" (* "*") (identifier "pbVar6")) (; ";")) (declaration "long lVar7;" (sized_type_specifier "long" (long "long")) (identifier "lVar7") (; ";")) (declaration "long lVar8;" (sized_type_specifier "long" (long "long")) (identifier "lVar8") (; ";")) (declaration "undefined8 uVar9;" (type_identifier "undefined8") (identifier "uVar9") (; ";")) (declaration "undefined8 uVar10;" (type_identifier "undefined8") (identifier "uVar10") (; ";")) (declaration "byte *pbVar11;" (type_identifier "byte") (pointer_declarator "*pbVar11" (* "*") (identifier "pbVar11")) (; ";")) (declaration "byte *local_50;" (type_identifier "byte") (pointer_declarator "*local_50" (* "*") (identifier "local_50")) (; ";")) (declaration "undefined8 local_48 [2];" (type_identifier "undefined8") (array_declarator "local_48 [2]" (identifier "local_48") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "undefined8 local_38;" (type_identifier "undefined8") (identifier "local_38") (; ";")) (declaration "undefined1 local_30;" (type_identifier "undefined1") (identifier "local_30") (; ";")) (if_statement "if (DAT_001689b0 == 0) {\n    FUN_00124480(0,0);\n    return;\n  }" (if "if") (parenthesized_expression "(DAT_001689b0 == 0)" (( "(") (binary_expression "DAT_001689b0 == 0" (identifier "DAT_001689b0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_00124480(0,0);\n    return;\n  }" ({ "{") (expression_statement "FUN_00124480(0,0);" (call_expression "FUN_00124480(0,0)" (identifier "FUN_00124480") (argument_list "(0,0)" (( "(") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "bVar1 = *DAT_00168ae0;" (assignment_expression "bVar1 = *DAT_00168ae0" (identifier "bVar1") (= "=") (pointer_expression "*DAT_00168ae0" (* "*") (identifier "DAT_00168ae0"))) (; ";")) (expression_statement "cVar3 = (&DAT_0015f4e0)[bVar1];" (assignment_expression "cVar3 = (&DAT_0015f4e0)[bVar1]" (identifier "cVar3") (= "=") (subscript_expression "(&DAT_0015f4e0)[bVar1]" (parenthesized_expression "(&DAT_0015f4e0)" (( "(") (pointer_expression "&DAT_0015f4e0" (& "&") (identifier "DAT_0015f4e0")) () ")")) ([ "[") (identifier "bVar1") (] "]"))) (; ";")) (expression_statement "pbVar11 = DAT_00168ae0;" (assignment_expression "pbVar11 = DAT_00168ae0" (identifier "pbVar11") (= "=") (identifier "DAT_00168ae0")) (; ";")) (while_statement "while (cVar3 == '\0') {\n    pbVar11 = pbVar11 + 1;\n    bVar1 = *pbVar11;\n    cVar3 = (&DAT_0015f4e0)[bVar1];\n  }" (while "while") (parenthesized_expression "(cVar3 == '\0')" (( "(") (binary_expression "cVar3 == '\0'" (identifier "cVar3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    pbVar11 = pbVar11 + 1;\n    bVar1 = *pbVar11;\n    cVar3 = (&DAT_0015f4e0)[bVar1];\n  }" ({ "{") (expression_statement "pbVar11 = pbVar11 + 1;" (assignment_expression "pbVar11 = pbVar11 + 1" (identifier "pbVar11") (= "=") (binary_expression "pbVar11 + 1" (identifier "pbVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar1 = *pbVar11;" (assignment_expression "bVar1 = *pbVar11" (identifier "bVar1") (= "=") (pointer_expression "*pbVar11" (* "*") (identifier "pbVar11"))) (; ";")) (expression_statement "cVar3 = (&DAT_0015f4e0)[bVar1];" (assignment_expression "cVar3 = (&DAT_0015f4e0)[bVar1]" (identifier "cVar3") (= "=") (subscript_expression "(&DAT_0015f4e0)[bVar1]" (parenthesized_expression "(&DAT_0015f4e0)" (( "(") (pointer_expression "&DAT_0015f4e0" (& "&") (identifier "DAT_0015f4e0")) () ")")) ([ "[") (identifier "bVar1") (] "]"))) (; ";")) (} "}"))) (expression_statement "*pbVar11 = 0;" (assignment_expression "*pbVar11 = 0" (pointer_expression "*pbVar11" (* "*") (identifier "pbVar11")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (*DAT_00168ae0 == 0x20) {\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n  }" (if "if") (parenthesized_expression "(*DAT_00168ae0 == 0x20)" (( "(") (binary_expression "*DAT_00168ae0 == 0x20" (pointer_expression "*DAT_00168ae0" (* "*") (identifier "DAT_00168ae0")) (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n  }" ({ "{") (expression_statement "DAT_00168ae0 = DAT_00168ae0 + 1;" (assignment_expression "DAT_00168ae0 = DAT_00168ae0 + 1" (identifier "DAT_00168ae0") (= "=") (binary_expression "DAT_00168ae0 + 1" (identifier "DAT_00168ae0") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "local_50 = DAT_00168ae0;" (assignment_expression "local_50 = DAT_00168ae0" (identifier "local_50") (= "=") (identifier "DAT_00168ae0")) (; ";")) (if_statement "if ((_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4) == 0) {\n    cVar3 = FUN_00115b70(&local_50);\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)cVar3);\nLAB_001248cc:\n    bVar2 = *DAT_00168ae0;\n  }\n  else {\n    do {\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    } while ((_sch_istable[(ulong)bVar2 * 2] & 4) != 0);\n    pbVar6[1] = 0;\n    if (DAT_00168ad0 != 0) {\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)(char)bVar2);\n    bVar2 = *DAT_00168ae0;\n  }" (if "if") (parenthesized_expression "((_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4) == 0)" (( "(") (binary_expression "(_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4) == 0" (parenthesized_expression "(_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4)" (( "(") (binary_expression "_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4" (subscript_expression "_sch_istable[(ulong)*DAT_00168ae0 * 2]" (identifier "_sch_istable") ([ "[") (binary_expression "(ulong)*DAT_00168ae0 * 2" (binary_expression "(ulong)*DAT_00168ae0" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (identifier "DAT_00168ae0")) (* "*") (number_literal "2")) (] "]")) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    cVar3 = FUN_00115b70(&local_50);\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)cVar3);\nLAB_001248cc:\n    bVar2 = *DAT_00168ae0;\n  }" ({ "{") (expression_statement "cVar3 = FUN_00115b70(&local_50);" (assignment_expression "cVar3 = FUN_00115b70(&local_50)" (identifier "cVar3") (= "=") (call_expression "FUN_00115b70(&local_50)" (identifier "FUN_00115b70") (argument_list "(&local_50)" (( "(") (pointer_expression "&local_50" (& "&") (identifier "local_50")) () ")")))) (; ";")) (expression_statement "uVar9 = FUN_0012b900(local_50);" (assignment_expression "uVar9 = FUN_0012b900(local_50)" (identifier "uVar9") (= "=") (call_expression "FUN_0012b900(local_50)" (identifier "FUN_0012b900") (argument_list "(local_50)" (( "(") (identifier "local_50") () ")")))) (; ";")) (expression_statement "FUN_001174e0((int)cVar3);" (call_expression "FUN_001174e0((int)cVar3)" (identifier "FUN_001174e0") (argument_list "((int)cVar3)" (( "(") (cast_expression "(int)cVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "cVar3")) () ")"))) (; ";")) (labeled_statement "LAB_001248cc:\n    bVar2 = *DAT_00168ae0;" (statement_identifier "LAB_001248cc") (: ":") (expression_statement "bVar2 = *DAT_00168ae0;" (assignment_expression "bVar2 = *DAT_00168ae0" (identifier "bVar2") (= "=") (pointer_expression "*DAT_00168ae0" (* "*") (identifier "DAT_00168ae0"))) (; ";"))) (} "}")) (else_clause "else {\n    do {\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    } while ((_sch_istable[(ulong)bVar2 * 2] & 4) != 0);\n    pbVar6[1] = 0;\n    if (DAT_00168ad0 != 0) {\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)(char)bVar2);\n    bVar2 = *DAT_00168ae0;\n  }" (else "else") (compound_statement "{\n    do {\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    } while ((_sch_istable[(ulong)bVar2 * 2] & 4) != 0);\n    pbVar6[1] = 0;\n    if (DAT_00168ad0 != 0) {\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }\n    uVar9 = FUN_0012b900(local_50);\n    FUN_001174e0((int)(char)bVar2);\n    bVar2 = *DAT_00168ae0;\n  }" ({ "{") (do_statement "do {\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    } while ((_sch_istable[(ulong)bVar2 * 2] & 4) != 0);" (do "do") (compound_statement "{\n      pbVar6 = DAT_00168ae0;\n      DAT_00168ae0 = pbVar6 + 1;\n      bVar2 = pbVar6[1];\n    }" ({ "{") (expression_statement "pbVar6 = DAT_00168ae0;" (assignment_expression "pbVar6 = DAT_00168ae0" (identifier "pbVar6") (= "=") (identifier "DAT_00168ae0")) (; ";")) (expression_statement "DAT_00168ae0 = pbVar6 + 1;" (assignment_expression "DAT_00168ae0 = pbVar6 + 1" (identifier "DAT_00168ae0") (= "=") (binary_expression "pbVar6 + 1" (identifier "pbVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar2 = pbVar6[1];" (assignment_expression "bVar2 = pbVar6[1]" (identifier "bVar2") (= "=") (subscript_expression "pbVar6[1]" (identifier "pbVar6") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((_sch_istable[(ulong)bVar2 * 2] & 4) != 0)" (( "(") (binary_expression "(_sch_istable[(ulong)bVar2 * 2] & 4) != 0" (parenthesized_expression "(_sch_istable[(ulong)bVar2 * 2] & 4)" (( "(") (binary_expression "_sch_istable[(ulong)bVar2 * 2] & 4" (subscript_expression "_sch_istable[(ulong)bVar2 * 2]" (identifier "_sch_istable") ([ "[") (binary_expression "(ulong)bVar2 * 2" (cast_expression "(ulong)bVar2" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar2")) (* "*") (number_literal "2")) (] "]")) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "pbVar6[1] = 0;" (assignment_expression "pbVar6[1] = 0" (subscript_expression "pbVar6[1]" (identifier "pbVar6") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (DAT_00168ad0 != 0) {\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }" (if "if") (parenthesized_expression "(DAT_00168ad0 != 0)" (( "(") (binary_expression "DAT_00168ad0 != 0" (identifier "DAT_00168ad0") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      __s = (char *)FUN_00129e50();\n      sVar5 = strlen(__s);\n      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));\n      uVar9 = FUN_00129e50(DAT_00168ad0);\n      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);\n      local_50 = pbVar6;\n      uVar9 = FUN_0012b900(pbVar6);\n      FUN_001174e0((int)(char)bVar2);\n      free(pbVar6);\n      goto LAB_001248cc;\n    }" ({ "{") (expression_statement "__s = (char *)FUN_00129e50();" (assignment_expression "__s = (char *)FUN_00129e50()" (identifier "__s") (= "=") (cast_expression "(char *)FUN_00129e50()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00129e50()" (identifier "FUN_00129e50") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "sVar5 = strlen(__s);" (assignment_expression "sVar5 = strlen(__s)" (identifier "sVar5") (= "=") (call_expression "strlen(__s)" (identifier "strlen") (argument_list "(__s)" (( "(") (identifier "__s") () ")")))) (; ";")) (expression_statement "pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));" (assignment_expression "pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50))" (identifier "pbVar6") (= "=") (cast_expression "(byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50))" (identifier "xmalloc") (argument_list "(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50))" (( "(") (binary_expression "DAT_00168ae0 + ((sVar5 + 1) - (long)local_50)" (identifier "DAT_00168ae0") (+ "+") (parenthesized_expression "((sVar5 + 1) - (long)local_50)" (( "(") (binary_expression "(sVar5 + 1) - (long)local_50" (parenthesized_expression "(sVar5 + 1)" (( "(") (binary_expression "sVar5 + 1" (identifier "sVar5") (+ "+") (number_literal "1")) () ")")) (- "-") (cast_expression "(long)local_50" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_50"))) () ")"))) () ")"))))) (; ";")) (expression_statement "uVar9 = FUN_00129e50(DAT_00168ad0);" (assignment_expression "uVar9 = FUN_00129e50(DAT_00168ad0)" (identifier "uVar9") (= "=") (call_expression "FUN_00129e50(DAT_00168ad0)" (identifier "FUN_00129e50") (argument_list "(DAT_00168ad0)" (( "(") (identifier "DAT_00168ad0") () ")")))) (; ";")) (expression_statement "sprintf((char *)pbVar6,"%s%s",local_50,uVar9);" (call_expression "sprintf((char *)pbVar6,"%s%s",local_50,uVar9)" (identifier "sprintf") (argument_list "((char *)pbVar6,"%s%s",local_50,uVar9)" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""%s%s"" (" """) (string_content "%s%s") (" """)) (, ",") (identifier "local_50") (, ",") (identifier "uVar9") () ")"))) (; ";")) (expression_statement "local_50 = pbVar6;" (assignment_expression "local_50 = pbVar6" (identifier "local_50") (= "=") (identifier "pbVar6")) (; ";")) (expression_statement "uVar9 = FUN_0012b900(pbVar6);" (assignment_expression "uVar9 = FUN_0012b900(pbVar6)" (identifier "uVar9") (= "=") (call_expression "FUN_0012b900(pbVar6)" (identifier "FUN_0012b900") (argument_list "(pbVar6)" (( "(") (identifier "pbVar6") () ")")))) (; ";")) (expression_statement "FUN_001174e0((int)(char)bVar2);" (call_expression "FUN_001174e0((int)(char)bVar2)" (identifier "FUN_001174e0") (argument_list "((int)(char)bVar2)" (( "(") (cast_expression "(int)(char)bVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bVar2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar2"))) () ")"))) (; ";")) (expression_statement "free(pbVar6);" (call_expression "free(pbVar6)" (identifier "free") (argument_list "(pbVar6)" (( "(") (identifier "pbVar6") () ")"))) (; ";")) (goto_statement "goto LAB_001248cc;" (goto "goto") (statement_identifier "LAB_001248cc") (; ";")) (} "}"))) (expression_statement "uVar9 = FUN_0012b900(local_50);" (assignment_expression "uVar9 = FUN_0012b900(local_50)" (identifier "uVar9") (= "=") (call_expression "FUN_0012b900(local_50)" (identifier "FUN_0012b900") (argument_list "(local_50)" (( "(") (identifier "local_50") () ")")))) (; ";")) (expression_statement "FUN_001174e0((int)(char)bVar2);" (call_expression "FUN_001174e0((int)(char)bVar2)" (identifier "FUN_001174e0") (argument_list "((int)(char)bVar2)" (( "(") (cast_expression "(int)(char)bVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bVar2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar2"))) () ")"))) (; ";")) (expression_statement "bVar2 = *DAT_00168ae0;" (assignment_expression "bVar2 = *DAT_00168ae0" (identifier "bVar2") (= "=") (pointer_expression "*DAT_00168ae0" (* "*") (identifier "DAT_00168ae0"))) (; ";")) (} "}")))) (if_statement "if (bVar2 == 0x2c) {\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n    lVar7 = FUN_0011ef30(local_48);\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) goto LAB_00124aa0;\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n    if (lVar7 != 0) {\n      lVar8 = FUN_0012cab0(uVar9);\n      *(long *)(lVar8 + 0x30) = lVar7;\n    }\n  }\n  else {\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) {\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n  }" (if "if") (parenthesized_expression "(bVar2 == 0x2c)" (( "(") (binary_expression "bVar2 == 0x2c" (identifier "bVar2") (== "==") (number_literal "0x2c")) () ")")) (compound_statement "{\n    DAT_00168ae0 = DAT_00168ae0 + 1;\n    lVar7 = FUN_0011ef30(local_48);\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) goto LAB_00124aa0;\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n    if (lVar7 != 0) {\n      lVar8 = FUN_0012cab0(uVar9);\n      *(long *)(lVar8 + 0x30) = lVar7;\n    }\n  }" ({ "{") (expression_statement "DAT_00168ae0 = DAT_00168ae0 + 1;" (assignment_expression "DAT_00168ae0 = DAT_00168ae0 + 1" (identifier "DAT_00168ae0") (= "=") (binary_expression "DAT_00168ae0 + 1" (identifier "DAT_00168ae0") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "lVar7 = FUN_0011ef30(local_48);" (assignment_expression "lVar7 = FUN_0011ef30(local_48)" (identifier "lVar7") (= "=") (call_expression "FUN_0011ef30(local_48)" (identifier "FUN_0011ef30") (argument_list "(local_48)" (( "(") (identifier "local_48") () ")")))) (; ";")) (expression_statement "iVar4 = FUN_00129b50(uVar9);" (assignment_expression "iVar4 = FUN_00129b50(uVar9)" (identifier "iVar4") (= "=") (call_expression "FUN_00129b50(uVar9)" (identifier "FUN_00129b50") (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")")))) (; ";")) (if_statement "if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) goto LAB_00124aa0;" (if "if") (parenthesized_expression "((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0))" (( "(") (binary_expression "(iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)" (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = FUN_00129b20(uVar9), iVar4 == 0)" (( "(") (comma_expression "iVar4 = FUN_00129b20(uVar9), iVar4 == 0" (assignment_expression "iVar4 = FUN_00129b20(uVar9)" (identifier "iVar4") (= "=") (call_expression "FUN_00129b20(uVar9)" (identifier "FUN_00129b20") (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_00124aa0;" (goto "goto") (statement_identifier "LAB_00124aa0") (; ";"))) (expression_statement "FUN_0012b360(uVar9);" (call_expression "FUN_0012b360(uVar9)" (identifier "FUN_0012b360") (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")"))) (; ";")) (expression_statement "FUN_00129eb0(uVar9,_bfd_std_section);" (call_expression "FUN_00129eb0(uVar9,_bfd_std_section)" (identifier "FUN_00129eb0") (argument_list "(uVar9,_bfd_std_section)" (( "(") (identifier "uVar9") (, ",") (identifier "_bfd_std_section") () ")"))) (; ";")) (expression_statement "DAT_00168ac0 = uVar9;" (assignment_expression "DAT_00168ac0 = uVar9" (identifier "DAT_00168ac0") (= "=") (identifier "uVar9")) (; ";")) (if_statement "if (lVar7 != 0) {\n      lVar8 = FUN_0012cab0(uVar9);\n      *(long *)(lVar8 + 0x30) = lVar7;\n    }" (if "if") (parenthesized_expression "(lVar7 != 0)" (( "(") (binary_expression "lVar7 != 0" (identifier "lVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      lVar8 = FUN_0012cab0(uVar9);\n      *(long *)(lVar8 + 0x30) = lVar7;\n    }" ({ "{") (expression_statement "lVar8 = FUN_0012cab0(uVar9);" (assignment_expression "lVar8 = FUN_0012cab0(uVar9)" (identifier "lVar8") (= "=") (call_expression "FUN_0012cab0(uVar9)" (identifier "FUN_0012cab0") (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")")))) (; ";")) (expression_statement "*(long *)(lVar8 + 0x30) = lVar7;" (assignment_expression "*(long *)(lVar8 + 0x30) = lVar7" (pointer_expression "*(long *)(lVar8 + 0x30)" (* "*") (cast_expression "(long *)(lVar8 + 0x30)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 0x30)" (( "(") (binary_expression "lVar8 + 0x30" (identifier "lVar8") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "lVar7")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) {\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n  }" (else "else") (compound_statement "{\n    iVar4 = FUN_00129b50(uVar9);\n    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) {\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }\n    FUN_0012b360(uVar9);\n    FUN_00129eb0(uVar9,_bfd_std_section);\n    DAT_00168ac0 = uVar9;\n  }" ({ "{") (expression_statement "iVar4 = FUN_00129b50(uVar9);" (assignment_expression "iVar4 = FUN_00129b50(uVar9)" (identifier "iVar4") (= "=") (call_expression "FUN_00129b50(uVar9)" (identifier "FUN_00129b50") (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")")))) (; ";")) (if_statement "if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) {\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }" (if "if") (parenthesized_expression "((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0))" (( "(") (binary_expression "(iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)" (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = FUN_00129b20(uVar9), iVar4 == 0)" (( "(") (comma_expression "iVar4 = FUN_00129b20(uVar9), iVar4 == 0" (assignment_expression "iVar4 = FUN_00129b20(uVar9)" (identifier "iVar4") (= "=") (call_expression "FUN_00129b20(uVar9)" (identifier "FUN_00129b20") (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\nLAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);\n      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);\n      FUN_0011e700(uVar10,uVar9);\n      FUN_00120850();\n      FUN_001202e0(pbVar11,(int)(char)bVar1);\n      return;\n    }" ({ "{") (labeled_statement "LAB_00124aa0:\n      uVar9 = FUN_00129e50(uVar9);" (statement_identifier "LAB_00124aa0") (: ":") (expression_statement "uVar9 = FUN_00129e50(uVar9);" (assignment_expression "uVar9 = FUN_00129e50(uVar9)" (identifier "uVar9") (= "=") (call_expression "FUN_00129e50(uVar9)" (identifier "FUN_00129e50") (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")")))) (; ";"))) (expression_statement "uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);" (assignment_expression "uVar10 = dcgettext(0,"symbol `%s\' is already defined",5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"symbol `%s\' is already defined",5)" (identifier "dcgettext") (argument_list "(0,"symbol `%s\' is already defined",5)" (( "(") (number_literal "0") (, ",") (string_literal ""symbol `%s\' is already defined"" (" """) (string_content "symbol `%s") (escape_sequence "\'") (string_content " is already defined") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0011e700(uVar10,uVar9);" (call_expression "FUN_0011e700(uVar10,uVar9)" (identifier "FUN_0011e700") (argument_list "(uVar10,uVar9)" (( "(") (identifier "uVar10") (, ",") (identifier "uVar9") () ")"))) (; ";")) (expression_statement "FUN_00120850();" (call_expression "FUN_00120850()" (identifier "FUN_00120850") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_001202e0(pbVar11,(int)(char)bVar1);" (call_expression "FUN_001202e0(pbVar11,(int)(char)bVar1)" (identifier "FUN_001202e0") (argument_list "(pbVar11,(int)(char)bVar1)" (( "(") (identifier "pbVar11") (, ",") (cast_expression "(int)(char)bVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar1"))) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_0012b360(uVar9);" (call_expression "FUN_0012b360(uVar9)" (identifier "FUN_0012b360") (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")"))) (; ";")) (expression_statement "FUN_00129eb0(uVar9,_bfd_std_section);" (call_expression "FUN_00129eb0(uVar9,_bfd_std_section)" (identifier "FUN_00129eb0") (argument_list "(uVar9,_bfd_std_section)" (( "(") (identifier "uVar9") (, ",") (identifier "_bfd_std_section") () ")"))) (; ";")) (expression_statement "DAT_00168ac0 = uVar9;" (assignment_expression "DAT_00168ac0 = uVar9" (identifier "DAT_00168ac0") (= "=") (identifier "uVar9")) (; ";")) (} "}")))) (if_statement "if (DAT_00168ad0 != 0) {\n    local_30 = 3;\n    local_38 = 0;\n    local_48[0] = uVar9;\n    FUN_0012c460(DAT_00168ad0,local_48);\n    FUN_0012c570(DAT_00168ad0,&DAT_00168860);\n    FUN_00129eb0(DAT_00168ad0,DAT_00168820);\n  }" (if "if") (parenthesized_expression "(DAT_00168ad0 != 0)" (( "(") (binary_expression "DAT_00168ad0 != 0" (identifier "DAT_00168ad0") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_30 = 3;\n    local_38 = 0;\n    local_48[0] = uVar9;\n    FUN_0012c460(DAT_00168ad0,local_48);\n    FUN_0012c570(DAT_00168ad0,&DAT_00168860);\n    FUN_00129eb0(DAT_00168ad0,DAT_00168820);\n  }" ({ "{") (expression_statement "local_30 = 3;" (assignment_expression "local_30 = 3" (identifier "local_30") (= "=") (number_literal "3")) (; ";")) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" (identifier "local_38") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_48[0] = uVar9;" (assignment_expression "local_48[0] = uVar9" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "FUN_0012c460(DAT_00168ad0,local_48);" (call_expression "FUN_0012c460(DAT_00168ad0,local_48)" (identifier "FUN_0012c460") (argument_list "(DAT_00168ad0,local_48)" (( "(") (identifier "DAT_00168ad0") (, ",") (identifier "local_48") () ")"))) (; ";")) (expression_statement "FUN_0012c570(DAT_00168ad0,&DAT_00168860);" (call_expression "FUN_0012c570(DAT_00168ad0,&DAT_00168860)" (identifier "FUN_0012c570") (argument_list "(DAT_00168ad0,&DAT_00168860)" (( "(") (identifier "DAT_00168ad0") (, ",") (pointer_expression "&DAT_00168860" (& "&") (identifier "DAT_00168860")) () ")"))) (; ";")) (expression_statement "FUN_00129eb0(DAT_00168ad0,DAT_00168820);" (call_expression "FUN_00129eb0(DAT_00168ad0,DAT_00168820)" (identifier "FUN_00129eb0") (argument_list "(DAT_00168ad0,DAT_00168820)" (( "(") (identifier "DAT_00168ad0") (, ",") (identifier "DAT_00168820") () ")"))) (; ";")) (} "}"))) (expression_statement "pbVar6 = DAT_00168ae0;" (assignment_expression "pbVar6 = DAT_00168ae0" (identifier "pbVar6") (= "=") (identifier "DAT_00168ae0")) (; ";")) (if_statement "if ((*DAT_00168ae0 == 0x2c) && (pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c)) {\n    pbVar6 = DAT_00168ae0 + 4;\n  }" (if "if") (parenthesized_expression "((*DAT_00168ae0 == 0x2c) && (pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c))" (( "(") (binary_expression "(*DAT_00168ae0 == 0x2c) && (pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c)" (parenthesized_expression "(*DAT_00168ae0 == 0x2c)" (( "(") (binary_expression "*DAT_00168ae0 == 0x2c" (pointer_expression "*DAT_00168ae0" (* "*") (identifier "DAT_00168ae0")) (== "==") (number_literal "0x2c")) () ")")) (&& "&&") (parenthesized_expression "(pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c)" (( "(") (comma_expression "pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c" (assignment_expression "pbVar6 = DAT_00168ae0 + 2" (identifier "pbVar6") (= "=") (binary_expression "DAT_00168ae0 + 2" (identifier "DAT_00168ae0") (+ "+") (number_literal "2"))) (, ",") (binary_expression "DAT_00168ae0[2] == 0x2c" (subscript_expression "DAT_00168ae0[2]" (identifier "DAT_00168ae0") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x2c"))) () ")"))) () ")")) (compound_statement "{\n    pbVar6 = DAT_00168ae0 + 4;\n  }" ({ "{") (expression_statement "pbVar6 = DAT_00168ae0 + 4;" (assignment_expression "pbVar6 = DAT_00168ae0 + 4" (identifier "pbVar6") (= "=") (binary_expression "DAT_00168ae0 + 4" (identifier "DAT_00168ae0") (+ "+") (number_literal "4"))) (; ";")) (} "}"))) (expression_statement "DAT_00168ae0 = pbVar6;" (assignment_expression "DAT_00168ae0 = pbVar6" (identifier "DAT_00168ae0") (= "=") (identifier "pbVar6")) (; ";")) (expression_statement "FUN_00120a70();" (call_expression "FUN_00120a70()" (identifier "FUN_00120a70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_001202e0(pbVar11,(int)(char)bVar1);" (call_expression "FUN_001202e0(pbVar11,(int)(char)bVar1)" (identifier "FUN_001202e0") (argument_list "(pbVar11,(int)(char)bVar1)" (( "(") (identifier "pbVar11") (, ",") (cast_expression "(int)(char)bVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar1"))) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(int small)

{
  type_1 bVar1;
  type_1 c;
  char var_3;
  int var_19;
  size_t var_14;
  type_2 *var_23;
  type_3 *paVar6;
  type_4 *s;
  char *var_9;
  char *pcVar8;
  type_1 *var_4;
  char *name;
  type_5 exp;
  
  if (var_1 == 0) {
    var_2(0,(type_6 *)0x0);
    return;
  }
  bVar1 = *var_5;
  var_3 = is_end_of_line[bVar1];
  var_4 = (type_1 *)var_5;
  while (var_3 == '\0') {
    var_4 = var_4 + 1;
    bVar1 = *var_4;
    var_3 = is_end_of_line[bVar1];
  }
  *var_4 = 0;
  if (*var_5 == ' ') {
    var_5 = var_5 + 1;
  }
  name = var_5;
  if ((_sch_istable[(type_7)(type_1)*var_5 * 2] & 4) == 0) {
    var_3 = var_6(&name);
    s = var_7(name);
    var_8(var_3);
LAB_001248cc:
    var_3 = *var_5;
  }
  else {
    do {
      var_9 = var_5;
      var_5 = var_9 + 1;
      c = var_9[1];
    } while ((_sch_istable[(type_7)c * 2] & 4) != 0);
    var_9[1] = '\0';
    if (var_10 != (type_4 *)0x0) {
      var_9 = var_11(var_10);
      var_14 = var_12(var_9);
      var_9 = (char *)var_13(var_5 + ((var_14 + 1) - (long)name));
      pcVar8 = var_11(var_10);
      var_15(var_9,"%s%s",name,pcVar8);
      name = var_9;
      s = var_7(var_9);
      var_8(c);
      var_16(var_9);
      goto LAB_001248cc;
    }
    s = var_7(name);
    var_8(c);
    var_3 = *var_5;
  }
  if (var_3 == ',') {
    var_5 = var_5 + 1;
    var_23 = (type_2 *)var_17(&exp);
    var_19 = var_18(s);
    if ((var_19 != 0) && (var_19 = var_20(s), var_19 == 0)) goto LAB_00124aa0;
    var_21(s);
    var_22(s,(type_8)_bfd_std_section);
    mri_common_symbol = s;
    if (var_23 != (type_2 *)0x0) {
      paVar6 = var_24(s);
      paVar6[1].the_bfd = var_23;
    }
  }
  else {
    var_19 = var_18(s);
    if ((var_19 != 0) && (var_19 = var_20(s), var_19 == 0)) {
LAB_00124aa0:
      var_9 = var_11(s);
      pcVar8 = (char *)var_25(0,"symbol `%s\' is already defined",5);
      var_26(pcVar8,var_9);
      var_27();
      var_28((char *)var_4,(int)(char)bVar1);
      return;
    }
    var_21(s);
    var_22(s,(type_8)_bfd_std_section);
    mri_common_symbol = s;
  }
  if (var_10 != (type_4 *)0x0) {
    exp._24_1_ = 3;
    exp.X_add_number = 0;
    exp.X_add_symbol = s;
    var_29(var_10,&exp);
    var_30(var_10,&zero_address_frag);
    var_22(var_10,expr_section);
  }
  var_9 = var_5;
  if ((*var_5 == ',') &&
     (var_9 = var_5 + 2, var_5[2] == ',')) {
    var_9 = var_5 + 4;
  }
  var_5 = var_9;
  var_31();
  var_28((char *)var_4,(int)(char)bVar1);
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (number_literal)))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)) right: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) alternative: (else_clause (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)) (string_literal (string_content)) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence) (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (return_statement))))

void MASKED(void)

{
  byte bVar1;
  byte bVar2;
  char cVar3;
  int iVar4;
  char *__s;
  size_t sVar5;
  byte *pbVar6;
  long lVar7;
  long lVar8;
  undefined8 uVar9;
  undefined8 uVar10;
  byte *pbVar11;
  byte *local_50;
  undefined8 local_48 [2];
  undefined8 local_38;
  undefined1 local_30;
  
  if (DAT_001689b0 == 0) {
    FUN_00124480(0,0);
    return;
  }
  bVar1 = *DAT_00168ae0;
  cVar3 = (&DAT_0015f4e0)[bVar1];
  pbVar11 = DAT_00168ae0;
  while (cVar3 == '\0') {
    pbVar11 = pbVar11 + 1;
    bVar1 = *pbVar11;
    cVar3 = (&DAT_0015f4e0)[bVar1];
  }
  *pbVar11 = 0;
  if (*DAT_00168ae0 == 0x20) {
    DAT_00168ae0 = DAT_00168ae0 + 1;
  }
  local_50 = DAT_00168ae0;
  if ((_sch_istable[(ulong)*DAT_00168ae0 * 2] & 4) == 0) {
    cVar3 = FUN_00115b70(&local_50);
    uVar9 = FUN_0012b900(local_50);
    FUN_001174e0((int)cVar3);
LAB_001248cc:
    bVar2 = *DAT_00168ae0;
  }
  else {
    do {
      pbVar6 = DAT_00168ae0;
      DAT_00168ae0 = pbVar6 + 1;
      bVar2 = pbVar6[1];
    } while ((_sch_istable[(ulong)bVar2 * 2] & 4) != 0);
    pbVar6[1] = 0;
    if (DAT_00168ad0 != 0) {
      __s = (char *)FUN_00129e50();
      sVar5 = strlen(__s);
      pbVar6 = (byte *)xmalloc(DAT_00168ae0 + ((sVar5 + 1) - (long)local_50));
      uVar9 = FUN_00129e50(DAT_00168ad0);
      sprintf((char *)pbVar6,"%s%s",local_50,uVar9);
      local_50 = pbVar6;
      uVar9 = FUN_0012b900(pbVar6);
      FUN_001174e0((int)(char)bVar2);
      free(pbVar6);
      goto LAB_001248cc;
    }
    uVar9 = FUN_0012b900(local_50);
    FUN_001174e0((int)(char)bVar2);
    bVar2 = *DAT_00168ae0;
  }
  if (bVar2 == 0x2c) {
    DAT_00168ae0 = DAT_00168ae0 + 1;
    lVar7 = FUN_0011ef30(local_48);
    iVar4 = FUN_00129b50(uVar9);
    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) goto LAB_00124aa0;
    FUN_0012b360(uVar9);
    FUN_00129eb0(uVar9,_bfd_std_section);
    DAT_00168ac0 = uVar9;
    if (lVar7 != 0) {
      lVar8 = FUN_0012cab0(uVar9);
      *(long *)(lVar8 + 0x30) = lVar7;
    }
  }
  else {
    iVar4 = FUN_00129b50(uVar9);
    if ((iVar4 != 0) && (iVar4 = FUN_00129b20(uVar9), iVar4 == 0)) {
LAB_00124aa0:
      uVar9 = FUN_00129e50(uVar9);
      uVar10 = dcgettext(0,"symbol `%s\' is already defined",5);
      FUN_0011e700(uVar10,uVar9);
      FUN_00120850();
      FUN_001202e0(pbVar11,(int)(char)bVar1);
      return;
    }
    FUN_0012b360(uVar9);
    FUN_00129eb0(uVar9,_bfd_std_section);
    DAT_00168ac0 = uVar9;
  }
  if (DAT_00168ad0 != 0) {
    local_30 = 3;
    local_38 = 0;
    local_48[0] = uVar9;
    FUN_0012c460(DAT_00168ad0,local_48);
    FUN_0012c570(DAT_00168ad0,&DAT_00168860);
    FUN_00129eb0(DAT_00168ad0,DAT_00168820);
  }
  pbVar6 = DAT_00168ae0;
  if ((*DAT_00168ae0 == 0x2c) && (pbVar6 = DAT_00168ae0 + 2, DAT_00168ae0[2] == 0x2c)) {
    pbVar6 = DAT_00168ae0 + 4;
  }
  DAT_00168ae0 = pbVar6;
  FUN_00120a70();
  FUN_001202e0(pbVar11,(int)(char)bVar1);
  return;
}

