
void ppc_machine(int ignore)

{
  byte bVar1;
  ppc_cpu_t pVar2;
  char c;
  ppc_cpu_t pVar3;
  char *format;
  long lVar4;
  char *pcVar5;
  byte *pbVar6;
  byte *pbVar7;
  bool bVar8;
  bool bVar9;
  bool bVar10;
  byte bVar11;
  char *cpu_string;
  
  bVar11 = 0;
  if (*input_line_pointer == ' ') {
    input_line_pointer = input_line_pointer + 1;
  }
  c = get_symbol_name(&cpu_string);
  cpu_string = (char *)xstrdup(cpu_string);
  restore_line_pointer(c);
  pVar2 = ppc_cpu;
  if (cpu_string == (char *)0x0) goto LAB_0013324f;
  bVar1 = *cpu_string;
  pbVar6 = (byte *)cpu_string;
  while (bVar10 = bVar1 == 0, !bVar10) {
    *pbVar6 = _sch_tolower[bVar1];
    bVar1 = pbVar6[1];
    pbVar6 = pbVar6 + 1;
  }
  bVar8 = false;
  lVar4 = 5;
  pbVar6 = (byte *)cpu_string;
  pbVar7 = &DAT_00144196;
  do {
    if (lVar4 == 0) break;
    lVar4 = lVar4 + -1;
    bVar8 = *pbVar6 < *pbVar7;
    bVar10 = *pbVar6 == *pbVar7;
    pbVar6 = pbVar6 + (ulong)bVar11 * -2 + 1;
    pbVar7 = pbVar7 + (ulong)bVar11 * -2 + 1;
  } while (bVar10);
  bVar9 = false;
  bVar10 = (!bVar8 && !bVar10) == bVar8;
  if (bVar10) {
    if (ppc_machine::cpu_history == (ppc_cpu_t *)0x0) {
      ppc_machine::cpu_history = (ppc_cpu_t *)xmalloc(800);
    }
    lVar4 = (long)ppc_machine::curr_hist;
    pcVar5 = ".machine stack overflow";
    if (ppc_machine::curr_hist < 100) {
      ppc_machine::curr_hist = ppc_machine::curr_hist + 1;
      ppc_machine::cpu_history[lVar4] = ppc_cpu;
      pVar3 = ppc_cpu;
    }
    else {
LAB_001332af:
      pcVar5 = (char *)dcgettext(0,pcVar5,5);
      as_bad(pcVar5);
      pVar3 = ppc_cpu;
    }
  }
  else {
    lVar4 = 4;
    pbVar6 = (byte *)cpu_string;
    pbVar7 = &DAT_001441b3;
    do {
      if (lVar4 == 0) break;
      lVar4 = lVar4 + -1;
      bVar9 = *pbVar6 < *pbVar7;
      bVar10 = *pbVar6 == *pbVar7;
      pbVar6 = pbVar6 + (ulong)bVar11 * -2 + 1;
      pbVar7 = pbVar7 + (ulong)bVar11 * -2 + 1;
    } while (bVar10);
    if ((!bVar9 && !bVar10) == bVar9) {
      if (ppc_machine::curr_hist < 1) {
        pcVar5 = ".machine stack underflow";
        goto LAB_001332af;
      }
      ppc_machine::curr_hist = ppc_machine::curr_hist + -1;
      pVar3 = ppc_machine::cpu_history[ppc_machine::curr_hist];
    }
    else {
      pVar3 = ppc_parse_cpu(ppc_cpu,&sticky);
      pcVar5 = cpu_string;
      if (pVar3 == 0) {
        format = (char *)dcgettext(0,"invalid machine `%s\'",5);
        as_bad(format,pcVar5);
        pVar3 = ppc_cpu;
      }
    }
  }
  ppc_cpu = pVar3;
  if (pVar2 != ppc_cpu) {
    ppc_setup_opcodes();
  }
LAB_0013324f:
  demand_empty_rest_of_line();
  return;
}



void FUN_00133160(void)

{
  byte bVar1;
  long lVar2;
  char cVar3;
  undefined8 uVar4;
  long lVar5;
  char *pcVar6;
  byte *pbVar7;
  byte *pbVar8;
  bool bVar9;
  bool bVar10;
  bool bVar11;
  byte bVar12;
  byte *local_20 [2];
  
  bVar12 = 0;
  if (*DAT_0019d9a0 == ' ') {
    DAT_0019d9a0 = DAT_0019d9a0 + 1;
  }
  cVar3 = FUN_00116b30(local_20);
  local_20[0] = (byte *)xstrdup(local_20[0]);
  FUN_001184c0((int)cVar3);
  lVar2 = DAT_0019d4f8;
  if (local_20[0] == (byte *)0x0) goto LAB_0013324f;
  bVar1 = *local_20[0];
  pbVar7 = local_20[0];
  while (bVar11 = bVar1 == 0, !bVar11) {
    *pbVar7 = _sch_tolower[bVar1];
    bVar1 = pbVar7[1];
    pbVar7 = pbVar7 + 1;
  }
  bVar9 = false;
  lVar5 = 5;
  pbVar7 = local_20[0];
  pbVar8 = &DAT_00144196;
  do {
    if (lVar5 == 0) break;
    lVar5 = lVar5 + -1;
    bVar9 = *pbVar7 < *pbVar8;
    bVar11 = *pbVar7 == *pbVar8;
    pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;
    pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;
  } while (bVar11);
  bVar10 = false;
  bVar11 = (!bVar9 && !bVar11) == bVar9;
  if (bVar11) {
    if (DAT_0019d508 == 0) {
      DAT_0019d508 = xmalloc(800);
    }
    lVar5 = (long)DAT_0019d500;
    pcVar6 = ".machine stack overflow";
    if (DAT_0019d500 < 100) {
      DAT_0019d500 = DAT_0019d500 + 1;
      *(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;
      lVar5 = DAT_0019d4f8;
    }
    else {
LAB_001332af:
      uVar4 = dcgettext(0,pcVar6,5);
      FUN_0011f6d0(uVar4);
      lVar5 = DAT_0019d4f8;
    }
  }
  else {
    lVar5 = 4;
    pbVar7 = local_20[0];
    pbVar8 = &DAT_001441b3;
    do {
      if (lVar5 == 0) break;
      lVar5 = lVar5 + -1;
      bVar10 = *pbVar7 < *pbVar8;
      bVar11 = *pbVar7 == *pbVar8;
      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;
      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;
    } while (bVar11);
    if ((!bVar10 && !bVar11) == bVar10) {
      if (DAT_0019d500 < 1) {
        pcVar6 = ".machine stack underflow";
        goto LAB_001332af;
      }
      DAT_0019d500 = DAT_0019d500 + -1;
      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);
    }
    else {
      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);
      pbVar7 = local_20[0];
      if (lVar5 == 0) {
        uVar4 = dcgettext(0,"invalid machine `%s\'",5);
        FUN_0011f6d0(uVar4,pbVar7);
        lVar5 = DAT_0019d4f8;
      }
    }
  }
  DAT_0019d4f8 = lVar5;
  if (lVar2 != DAT_0019d4f8) {
    FUN_00132b00();
  }
LAB_0013324f:
  FUN_00121a20();
  return;
}


PUSH RBP
PUSH RBX
SUB RSP,0x18
MOV RAX,qword ptr [0x0019d9a0]
CMP byte ptr [RAX],0x20
JNZ 0x0013317d
ADD RAX,0x1
MOV qword ptr [0x0019d9a0],RAX
LEA RDI,[RSP + 0x8]
CALL 0x00116b30
MOV RDI,qword ptr [RSP + 0x8]
MOV EBX,EAX
CALL 0x0010a320
MOVSX EDI,BL
MOV qword ptr [RSP + 0x8],RAX
CALL 0x001184c0
MOV RDX,qword ptr [RSP + 0x8]
TEST RDX,RDX
JZ 0x0013324f
MOVZX EAX,byte ptr [RDX]
MOV RBX,qword ptr [0x0019d4f8]
TEST AL,AL
JZ 0x001331df
LEA RCX,[0x1927e0]
NOP dword ptr [RAX + RAX*0x1]
MOVZX EAX,byte ptr [RCX + RAX*0x1]
ADD RDX,0x1
MOV byte ptr [RDX + -0x1],AL
MOVZX EAX,byte ptr [RDX]
TEST AL,AL
JNZ 0x001331c8
MOV RDX,qword ptr [RSP + 0x8]
MOV ECX,0x5
LEA RDI,[0x144196]
MOV RSI,RDX
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x00133260
CMP qword ptr [0x0019d508],0x0
JZ 0x001332f4
MOVSXD RAX,dword ptr [0x0019d500]
MOV EDX,0x5
LEA RSI,[0x14419b]
CMP EAX,0x63
JG 0x001332af
LEA EDX,[RAX + 0x1]
MOV RCX,qword ptr [0x0019d4f8]
MOV dword ptr [0x0019d500],EDX
MOV RDX,qword ptr [0x0019d508]
MOV qword ptr [RDX + RAX*0x8],RCX
MOV RAX,qword ptr [0x0019d4f8]
CMP RBX,RAX
JZ 0x0013324f
CALL 0x00132b00
CALL 0x00121a20
ADD RSP,0x18
POP RBX
POP RBP
RET
MOV ECX,0x4
LEA RDI,[0x1441b3]
MOV RSI,RDX
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x001332d0
MOV EAX,dword ptr [0x0019d500]
TEST EAX,EAX
JLE 0x001332a3
SUB EAX,0x1
MOV RDX,qword ptr [0x0019d508]
MOV dword ptr [0x0019d500],EAX
CDQE
MOV RAX,qword ptr [RDX + RAX*0x8]
MOV qword ptr [0x0019d4f8],RAX
JMP 0x00133245
MOV EDX,0x5
LEA RSI,[0x1441b7]
XOR EDI,EDI
CALL 0x0010a1d0
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0011f6d0
MOV RAX,qword ptr [0x0019d4f8]
JMP 0x00133245
MOV RDI,qword ptr [0x0019d4f8]
LEA RSI,[0x19d4f0]
CALL 0x0010a680
TEST RAX,RAX
JZ 0x0013330a
MOV qword ptr [0x0019d4f8],RAX
JMP 0x00133245
MOV EDI,0x320
CALL 0x0010a7d8
MOV qword ptr [0x0019d508],RAX
JMP 0x00133207
MOV RBP,qword ptr [RSP + 0x8]
MOV EDX,0x5
LEA RSI,[0x1441d0]
XOR EDI,EDI
CALL 0x0010a1d0
MOV RDI,RAX
MOV RSI,RBP
XOR EAX,EAX
CALL 0x0011f6d0
MOV RAX,qword ptr [0x0019d4f8]
JMP 0x00133245
(translation_unit "void FUN_00133160(void)\n\n{\n  byte bVar1;\n  long lVar2;\n  char cVar3;\n  undefined8 uVar4;\n  long lVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  byte *local_20 [2];\n  \n  bVar12 = 0;\n  if (*DAT_0019d9a0 == ' ') {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  cVar3 = FUN_00116b30(local_20);\n  local_20[0] = (byte *)xstrdup(local_20[0]);\n  FUN_001184c0((int)cVar3);\n  lVar2 = DAT_0019d4f8;\n  if (local_20[0] == (byte *)0x0) goto LAB_0013324f;\n  bVar1 = *local_20[0];\n  pbVar7 = local_20[0];\n  while (bVar11 = bVar1 == 0, !bVar11) {\n    *pbVar7 = _sch_tolower[bVar1];\n    bVar1 = pbVar7[1];\n    pbVar7 = pbVar7 + 1;\n  }\n  bVar9 = false;\n  lVar5 = 5;\n  pbVar7 = local_20[0];\n  pbVar8 = &DAT_00144196;\n  do {\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n    pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar11 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar11) {\n    if (DAT_0019d508 == 0) {\n      DAT_0019d508 = xmalloc(800);\n    }\n    lVar5 = (long)DAT_0019d500;\n    pcVar6 = ".machine stack overflow";\n    if (DAT_0019d500 < 100) {\n      DAT_0019d500 = DAT_0019d500 + 1;\n      *(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;\n      lVar5 = DAT_0019d4f8;\n    }\n    else {\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }\n  }\n  else {\n    lVar5 = 4;\n    pbVar7 = local_20[0];\n    pbVar8 = &DAT_001441b3;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    } while (bVar11);\n    if ((!bVar10 && !bVar11) == bVar10) {\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }\n    else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }\n  }\n  DAT_0019d4f8 = lVar5;\n  if (lVar2 != DAT_0019d4f8) {\n    FUN_00132b00();\n  }\nLAB_0013324f:\n  FUN_00121a20();\n  return;\n}\n\n" (function_definition "void FUN_00133160(void)\n\n{\n  byte bVar1;\n  long lVar2;\n  char cVar3;\n  undefined8 uVar4;\n  long lVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  byte *local_20 [2];\n  \n  bVar12 = 0;\n  if (*DAT_0019d9a0 == ' ') {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  cVar3 = FUN_00116b30(local_20);\n  local_20[0] = (byte *)xstrdup(local_20[0]);\n  FUN_001184c0((int)cVar3);\n  lVar2 = DAT_0019d4f8;\n  if (local_20[0] == (byte *)0x0) goto LAB_0013324f;\n  bVar1 = *local_20[0];\n  pbVar7 = local_20[0];\n  while (bVar11 = bVar1 == 0, !bVar11) {\n    *pbVar7 = _sch_tolower[bVar1];\n    bVar1 = pbVar7[1];\n    pbVar7 = pbVar7 + 1;\n  }\n  bVar9 = false;\n  lVar5 = 5;\n  pbVar7 = local_20[0];\n  pbVar8 = &DAT_00144196;\n  do {\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n    pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar11 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar11) {\n    if (DAT_0019d508 == 0) {\n      DAT_0019d508 = xmalloc(800);\n    }\n    lVar5 = (long)DAT_0019d500;\n    pcVar6 = ".machine stack overflow";\n    if (DAT_0019d500 < 100) {\n      DAT_0019d500 = DAT_0019d500 + 1;\n      *(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;\n      lVar5 = DAT_0019d4f8;\n    }\n    else {\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }\n  }\n  else {\n    lVar5 = 4;\n    pbVar7 = local_20[0];\n    pbVar8 = &DAT_001441b3;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    } while (bVar11);\n    if ((!bVar10 && !bVar11) == bVar10) {\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }\n    else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }\n  }\n  DAT_0019d4f8 = lVar5;\n  if (lVar2 != DAT_0019d4f8) {\n    FUN_00132b00();\n  }\nLAB_0013324f:\n  FUN_00121a20();\n  return;\n}" primitive_type (function_declarator "FUN_00133160(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  byte bVar1;\n  long lVar2;\n  char cVar3;\n  undefined8 uVar4;\n  long lVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  byte *local_20 [2];\n  \n  bVar12 = 0;\n  if (*DAT_0019d9a0 == ' ') {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  cVar3 = FUN_00116b30(local_20);\n  local_20[0] = (byte *)xstrdup(local_20[0]);\n  FUN_001184c0((int)cVar3);\n  lVar2 = DAT_0019d4f8;\n  if (local_20[0] == (byte *)0x0) goto LAB_0013324f;\n  bVar1 = *local_20[0];\n  pbVar7 = local_20[0];\n  while (bVar11 = bVar1 == 0, !bVar11) {\n    *pbVar7 = _sch_tolower[bVar1];\n    bVar1 = pbVar7[1];\n    pbVar7 = pbVar7 + 1;\n  }\n  bVar9 = false;\n  lVar5 = 5;\n  pbVar7 = local_20[0];\n  pbVar8 = &DAT_00144196;\n  do {\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n    pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar11 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar11) {\n    if (DAT_0019d508 == 0) {\n      DAT_0019d508 = xmalloc(800);\n    }\n    lVar5 = (long)DAT_0019d500;\n    pcVar6 = ".machine stack overflow";\n    if (DAT_0019d500 < 100) {\n      DAT_0019d500 = DAT_0019d500 + 1;\n      *(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;\n      lVar5 = DAT_0019d4f8;\n    }\n    else {\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }\n  }\n  else {\n    lVar5 = 4;\n    pbVar7 = local_20[0];\n    pbVar8 = &DAT_001441b3;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    } while (bVar11);\n    if ((!bVar10 && !bVar11) == bVar10) {\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }\n    else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }\n  }\n  DAT_0019d4f8 = lVar5;\n  if (lVar2 != DAT_0019d4f8) {\n    FUN_00132b00();\n  }\nLAB_0013324f:\n  FUN_00121a20();\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "byte *local_20 [2];" type_identifier (pointer_declarator "*local_20 [2]" * (array_declarator "local_20 [2]" identifier [ number_literal ])) ;) (expression_statement "bVar12 = 0;" (assignment_expression "bVar12 = 0" identifier = number_literal) ;) (if_statement "if (*DAT_0019d9a0 == ' ') {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" if (parenthesized_expression "(*DAT_0019d9a0 == ' ')" ( (binary_expression "*DAT_0019d9a0 == ' '" (pointer_expression "*DAT_0019d9a0" * identifier) == (char_literal "' '" ' character ')) )) (compound_statement "{\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" { (expression_statement "DAT_0019d9a0 = DAT_0019d9a0 + 1;" (assignment_expression "DAT_0019d9a0 = DAT_0019d9a0 + 1" identifier = (binary_expression "DAT_0019d9a0 + 1" identifier + number_literal)) ;) })) (expression_statement "cVar3 = FUN_00116b30(local_20);" (assignment_expression "cVar3 = FUN_00116b30(local_20)" identifier = (call_expression "FUN_00116b30(local_20)" identifier (argument_list "(local_20)" ( identifier )))) ;) (expression_statement "local_20[0] = (byte *)xstrdup(local_20[0]);" (assignment_expression "local_20[0] = (byte *)xstrdup(local_20[0])" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (cast_expression "(byte *)xstrdup(local_20[0])" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xstrdup(local_20[0])" identifier (argument_list "(local_20[0])" ( (subscript_expression "local_20[0]" identifier [ number_literal ]) ))))) ;) (expression_statement "FUN_001184c0((int)cVar3);" (call_expression "FUN_001184c0((int)cVar3)" identifier (argument_list "((int)cVar3)" ( (cast_expression "(int)cVar3" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (expression_statement "lVar2 = DAT_0019d4f8;" (assignment_expression "lVar2 = DAT_0019d4f8" identifier = identifier) ;) (if_statement "if (local_20[0] == (byte *)0x0) goto LAB_0013324f;" if (parenthesized_expression "(local_20[0] == (byte *)0x0)" ( (binary_expression "local_20[0] == (byte *)0x0" (subscript_expression "local_20[0]" identifier [ number_literal ]) == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0013324f;" goto statement_identifier ;)) (expression_statement "bVar1 = *local_20[0];" (assignment_expression "bVar1 = *local_20[0]" identifier = (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "pbVar7 = local_20[0];" (assignment_expression "pbVar7 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) (while_statement "while (bVar11 = bVar1 == 0, !bVar11) {\n    *pbVar7 = _sch_tolower[bVar1];\n    bVar1 = pbVar7[1];\n    pbVar7 = pbVar7 + 1;\n  }" while (parenthesized_expression "(bVar11 = bVar1 == 0, !bVar11)" ( (comma_expression "bVar11 = bVar1 == 0, !bVar11" (assignment_expression "bVar11 = bVar1 == 0" identifier = (binary_expression "bVar1 == 0" identifier == number_literal)) , (unary_expression "!bVar11" ! identifier)) )) (compound_statement "{\n    *pbVar7 = _sch_tolower[bVar1];\n    bVar1 = pbVar7[1];\n    pbVar7 = pbVar7 + 1;\n  }" { (expression_statement "*pbVar7 = _sch_tolower[bVar1];" (assignment_expression "*pbVar7 = _sch_tolower[bVar1]" (pointer_expression "*pbVar7" * identifier) = (subscript_expression "_sch_tolower[bVar1]" identifier [ identifier ])) ;) (expression_statement "bVar1 = pbVar7[1];" (assignment_expression "bVar1 = pbVar7[1]" identifier = (subscript_expression "pbVar7[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) })) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "lVar5 = 5;" (assignment_expression "lVar5 = 5" identifier = number_literal) ;) (expression_statement "pbVar7 = local_20[0];" (assignment_expression "pbVar7 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar8 = &DAT_00144196;" (assignment_expression "pbVar8 = &DAT_00144196" identifier = (pointer_expression "&DAT_00144196" & identifier)) ;) (do_statement "do {\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n    pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n  } while (bVar11);" do (compound_statement "{\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n    pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n  }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar7 < *pbVar8;" (assignment_expression "bVar9 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar11 = *pbVar7 == *pbVar8;" (assignment_expression "bVar11 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar12 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar12 * -2" identifier + (binary_expression "(ulong)bVar12 * -2" (cast_expression "(ulong)bVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar12 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar12 * -2" identifier + (binary_expression "(ulong)bVar12 * -2" (cast_expression "(ulong)bVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar11 = (!bVar9 && !bVar11) == bVar9;" (assignment_expression "bVar11 = (!bVar9 && !bVar11) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar11) == bVar9" (parenthesized_expression "(!bVar9 && !bVar11)" ( (binary_expression "!bVar9 && !bVar11" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar11) {\n    if (DAT_0019d508 == 0) {\n      DAT_0019d508 = xmalloc(800);\n    }\n    lVar5 = (long)DAT_0019d500;\n    pcVar6 = ".machine stack overflow";\n    if (DAT_0019d500 < 100) {\n      DAT_0019d500 = DAT_0019d500 + 1;\n      *(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;\n      lVar5 = DAT_0019d4f8;\n    }\n    else {\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }\n  }\n  else {\n    lVar5 = 4;\n    pbVar7 = local_20[0];\n    pbVar8 = &DAT_001441b3;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    } while (bVar11);\n    if ((!bVar10 && !bVar11) == bVar10) {\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }\n    else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }\n  }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n    if (DAT_0019d508 == 0) {\n      DAT_0019d508 = xmalloc(800);\n    }\n    lVar5 = (long)DAT_0019d500;\n    pcVar6 = ".machine stack overflow";\n    if (DAT_0019d500 < 100) {\n      DAT_0019d500 = DAT_0019d500 + 1;\n      *(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;\n      lVar5 = DAT_0019d4f8;\n    }\n    else {\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }\n  }" { (if_statement "if (DAT_0019d508 == 0) {\n      DAT_0019d508 = xmalloc(800);\n    }" if (parenthesized_expression "(DAT_0019d508 == 0)" ( (binary_expression "DAT_0019d508 == 0" identifier == number_literal) )) (compound_statement "{\n      DAT_0019d508 = xmalloc(800);\n    }" { (expression_statement "DAT_0019d508 = xmalloc(800);" (assignment_expression "DAT_0019d508 = xmalloc(800)" identifier = (call_expression "xmalloc(800)" identifier (argument_list "(800)" ( number_literal )))) ;) })) (expression_statement "lVar5 = (long)DAT_0019d500;" (assignment_expression "lVar5 = (long)DAT_0019d500" identifier = (cast_expression "(long)DAT_0019d500" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "pcVar6 = ".machine stack overflow";" (assignment_expression "pcVar6 = ".machine stack overflow"" identifier = (string_literal "".machine stack overflow"" " string_content ")) ;) (if_statement "if (DAT_0019d500 < 100) {\n      DAT_0019d500 = DAT_0019d500 + 1;\n      *(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;\n      lVar5 = DAT_0019d4f8;\n    }\n    else {\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }" if (parenthesized_expression "(DAT_0019d500 < 100)" ( (binary_expression "DAT_0019d500 < 100" identifier < number_literal) )) (compound_statement "{\n      DAT_0019d500 = DAT_0019d500 + 1;\n      *(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;\n      lVar5 = DAT_0019d4f8;\n    }" { (expression_statement "DAT_0019d500 = DAT_0019d500 + 1;" (assignment_expression "DAT_0019d500 = DAT_0019d500 + 1" identifier = (binary_expression "DAT_0019d500 + 1" identifier + number_literal)) ;) (expression_statement "*(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;" (assignment_expression "*(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8" (pointer_expression "*(long *)(DAT_0019d508 + lVar5 * 8)" * (cast_expression "(long *)(DAT_0019d508 + lVar5 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0019d508 + lVar5 * 8)" ( (binary_expression "DAT_0019d508 + lVar5 * 8" identifier + (binary_expression "lVar5 * 8" identifier * number_literal)) )))) = identifier) ;) (expression_statement "lVar5 = DAT_0019d4f8;" (assignment_expression "lVar5 = DAT_0019d4f8" identifier = identifier) ;) }) (else_clause "else {\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }" else (compound_statement "{\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }" { (labeled_statement "LAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);" statement_identifier : (expression_statement "uVar4 = dcgettext(0,pcVar6,5);" (assignment_expression "uVar4 = dcgettext(0,pcVar6,5)" identifier = (call_expression "dcgettext(0,pcVar6,5)" identifier (argument_list "(0,pcVar6,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "FUN_0011f6d0(uVar4);" (call_expression "FUN_0011f6d0(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "lVar5 = DAT_0019d4f8;" (assignment_expression "lVar5 = DAT_0019d4f8" identifier = identifier) ;) }))) }) (else_clause "else {\n    lVar5 = 4;\n    pbVar7 = local_20[0];\n    pbVar8 = &DAT_001441b3;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    } while (bVar11);\n    if ((!bVar10 && !bVar11) == bVar10) {\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }\n    else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }\n  }" else (compound_statement "{\n    lVar5 = 4;\n    pbVar7 = local_20[0];\n    pbVar8 = &DAT_001441b3;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    } while (bVar11);\n    if ((!bVar10 && !bVar11) == bVar10) {\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }\n    else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }\n  }" { (expression_statement "lVar5 = 4;" (assignment_expression "lVar5 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = local_20[0];" (assignment_expression "pbVar7 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar8 = &DAT_001441b3;" (assignment_expression "pbVar8 = &DAT_001441b3" identifier = (pointer_expression "&DAT_001441b3" & identifier)) ;) (do_statement "do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    } while (bVar11);" do (compound_statement "{\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar11 = *pbVar7 == *pbVar8;" (assignment_expression "bVar11 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar12 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar12 * -2" identifier + (binary_expression "(ulong)bVar12 * -2" (cast_expression "(ulong)bVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar12 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar12 * -2" identifier + (binary_expression "(ulong)bVar12 * -2" (cast_expression "(ulong)bVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (if_statement "if ((!bVar10 && !bVar11) == bVar10) {\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }\n    else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }" if (parenthesized_expression "((!bVar10 && !bVar11) == bVar10)" ( (binary_expression "(!bVar10 && !bVar11) == bVar10" (parenthesized_expression "(!bVar10 && !bVar11)" ( (binary_expression "!bVar10 && !bVar11" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier) )) (compound_statement "{\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }" { (if_statement "if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }" if (parenthesized_expression "(DAT_0019d500 < 1)" ( (binary_expression "DAT_0019d500 < 1" identifier < number_literal) )) (compound_statement "{\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }" { (expression_statement "pcVar6 = ".machine stack underflow";" (assignment_expression "pcVar6 = ".machine stack underflow"" identifier = (string_literal "".machine stack underflow"" " string_content ")) ;) (goto_statement "goto LAB_001332af;" goto statement_identifier ;) })) (expression_statement "DAT_0019d500 = DAT_0019d500 + -1;" (assignment_expression "DAT_0019d500 = DAT_0019d500 + -1" identifier = (binary_expression "DAT_0019d500 + -1" identifier + number_literal)) ;) (expression_statement "lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);" (assignment_expression "lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8)" identifier = (pointer_expression "*(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8)" * (cast_expression "(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0019d508 + (long)DAT_0019d500 * 8)" ( (binary_expression "DAT_0019d508 + (long)DAT_0019d500 * 8" identifier + (binary_expression "(long)DAT_0019d500 * 8" (cast_expression "(long)DAT_0019d500" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal)) ))))) ;) }) (else_clause "else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }" else (compound_statement "{\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }" { (expression_statement "lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);" (assignment_expression "lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0)" identifier = (call_expression "ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0)" identifier (argument_list "(DAT_0019d4f8,&DAT_0019d4f0)" ( identifier , (pointer_expression "&DAT_0019d4f0" & identifier) )))) ;) (expression_statement "pbVar7 = local_20[0];" (assignment_expression "pbVar7 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) (if_statement "if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }" { (expression_statement "uVar4 = dcgettext(0,"invalid machine `%s\'",5);" (assignment_expression "uVar4 = dcgettext(0,"invalid machine `%s\'",5)" identifier = (call_expression "dcgettext(0,"invalid machine `%s\'",5)" identifier (argument_list "(0,"invalid machine `%s\'",5)" ( number_literal , (string_literal ""invalid machine `%s\'"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0011f6d0(uVar4,pbVar7);" (call_expression "FUN_0011f6d0(uVar4,pbVar7)" identifier (argument_list "(uVar4,pbVar7)" ( identifier , identifier ))) ;) (expression_statement "lVar5 = DAT_0019d4f8;" (assignment_expression "lVar5 = DAT_0019d4f8" identifier = identifier) ;) })) }))) }))) (expression_statement "DAT_0019d4f8 = lVar5;" (assignment_expression "DAT_0019d4f8 = lVar5" identifier = identifier) ;) (if_statement "if (lVar2 != DAT_0019d4f8) {\n    FUN_00132b00();\n  }" if (parenthesized_expression "(lVar2 != DAT_0019d4f8)" ( (binary_expression "lVar2 != DAT_0019d4f8" identifier != identifier) )) (compound_statement "{\n    FUN_00132b00();\n  }" { (expression_statement "FUN_00132b00();" (call_expression "FUN_00132b00()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_0013324f:\n  FUN_00121a20();" statement_identifier : (expression_statement "FUN_00121a20();" (call_expression "FUN_00121a20()" identifier (argument_list "()" ( ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "void ppc_machine(int ignore)\n\n{\n  byte bVar1;\n  ppc_cpu_t pVar2;\n  char c;\n  ppc_cpu_t pVar3;\n  char *format;\n  long lVar4;\n  char *pcVar5;\n  byte *pbVar6;\n  byte *pbVar7;\n  bool bVar8;\n  bool bVar9;\n  bool bVar10;\n  byte bVar11;\n  char *cpu_string;\n  \n  bVar11 = 0;\n  if (*input_line_pointer == ' ') {\n    input_line_pointer = input_line_pointer + 1;\n  }\n  c = get_symbol_name(&cpu_string);\n  cpu_string = (char *)xstrdup(cpu_string);\n  restore_line_pointer(c);\n  pVar2 = ppc_cpu;\n  if (cpu_string == (char *)0x0) goto LAB_0013324f;\n  bVar1 = *cpu_string;\n  pbVar6 = (byte *)cpu_string;\n  while (bVar10 = bVar1 == 0, !bVar10) {\n    *pbVar6 = _sch_tolower[bVar1];\n    bVar1 = pbVar6[1];\n    pbVar6 = pbVar6 + 1;\n  }\n  bVar8 = false;\n  lVar4 = 5;\n  pbVar6 = (byte *)cpu_string;\n  pbVar7 = &DAT_00144196;\n  do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar8 = *pbVar6 < *pbVar7;\n    bVar10 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + (ulong)bVar11 * -2 + 1;\n    pbVar7 = pbVar7 + (ulong)bVar11 * -2 + 1;\n  } while (bVar10);\n  bVar9 = false;\n  bVar10 = (!bVar8 && !bVar10) == bVar8;\n  if (bVar10) {\n    if (ppc_machine::cpu_history == (ppc_cpu_t *)0x0) {\n      ppc_machine::cpu_history = (ppc_cpu_t *)xmalloc(800);\n    }\n    lVar4 = (long)ppc_machine::curr_hist;\n    pcVar5 = ".machine stack overflow";\n    if (ppc_machine::curr_hist < 100) {\n      ppc_machine::curr_hist = ppc_machine::curr_hist + 1;\n      ppc_machine::cpu_history[lVar4] = ppc_cpu;\n      pVar3 = ppc_cpu;\n    }\n    else {\nLAB_001332af:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);\n      as_bad(pcVar5);\n      pVar3 = ppc_cpu;\n    }\n  }\n  else {\n    lVar4 = 4;\n    pbVar6 = (byte *)cpu_string;\n    pbVar7 = &DAT_001441b3;\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar9 = *pbVar6 < *pbVar7;\n      bVar10 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + (ulong)bVar11 * -2 + 1;\n      pbVar7 = pbVar7 + (ulong)bVar11 * -2 + 1;\n    } while (bVar10);\n    if ((!bVar9 && !bVar10) == bVar9) {\n      if (ppc_machine::curr_hist < 1) {\n        pcVar5 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      ppc_machine::curr_hist = ppc_machine::curr_hist + -1;\n      pVar3 = ppc_machine::cpu_history[ppc_machine::curr_hist];\n    }\n    else {\n      pVar3 = ppc_parse_cpu(ppc_cpu,&sticky);\n      pcVar5 = cpu_string;\n      if (pVar3 == 0) {\n        format = (char *)dcgettext(0,"invalid machine `%s\'",5);\n        as_bad(format,pcVar5);\n        pVar3 = ppc_cpu;\n      }\n    }\n  }\n  ppc_cpu = pVar3;\n  if (pVar2 != ppc_cpu) {\n    ppc_setup_opcodes();\n  }\nLAB_0013324f:\n  demand_empty_rest_of_line();\n  return;\n}\n\n" (function_definition "void ppc_machine(int ignore)\n\n{\n  byte bVar1;\n  ppc_cpu_t pVar2;\n  char c;\n  ppc_cpu_t pVar3;\n  char *format;\n  long lVar4;\n  char *pcVar5;\n  byte *pbVar6;\n  byte *pbVar7;\n  bool bVar8;\n  bool bVar9;\n  bool bVar10;\n  byte bVar11;\n  char *cpu_string;\n  \n  bVar11 = 0;\n  if (*input_line_pointer == ' ') {\n    input_line_pointer = input_line_pointer + 1;\n  }\n  c = get_symbol_name(&cpu_string);\n  cpu_string = (char *)xstrdup(cpu_string);\n  restore_line_pointer(c);\n  pVar2 = ppc_cpu;\n  if (cpu_string == (char *)0x0) goto LAB_0013324f;\n  bVar1 = *cpu_string;\n  pbVar6 = (byte *)cpu_string;\n  while (bVar10 = bVar1 == 0, !bVar10) {\n    *pbVar6 = _sch_tolower[bVar1];\n    bVar1 = pbVar6[1];\n    pbVar6 = pbVar6 + 1;\n  }\n  bVar8 = false;\n  lVar4 = 5;\n  pbVar6 = (byte *)cpu_string;\n  pbVar7 = &DAT_00144196;\n  do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar8 = *pbVar6 < *pbVar7;\n    bVar10 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + (ulong)bVar11 * -2 + 1;\n    pbVar7 = pbVar7 + (ulong)bVar11 * -2 + 1;\n  } while (bVar10);\n  bVar9 = false;\n  bVar10 = (!bVar8 && !bVar10) == bVar8;\n  if (bVar10) {\n    if (ppc_machine::cpu_history == (ppc_cpu_t *)0x0) {\n      ppc_machine::cpu_history = (ppc_cpu_t *)xmalloc(800);\n    }\n    lVar4 = (long)ppc_machine::curr_hist;\n    pcVar5 = ".machine stack overflow";\n    if (ppc_machine::curr_hist < 100) {\n      ppc_machine::curr_hist = ppc_machine::curr_hist + 1;\n      ppc_machine::cpu_history[lVar4] = ppc_cpu;\n      pVar3 = ppc_cpu;\n    }\n    else {\nLAB_001332af:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);\n      as_bad(pcVar5);\n      pVar3 = ppc_cpu;\n    }\n  }\n  else {\n    lVar4 = 4;\n    pbVar6 = (byte *)cpu_string;\n    pbVar7 = &DAT_001441b3;\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar9 = *pbVar6 < *pbVar7;\n      bVar10 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + (ulong)bVar11 * -2 + 1;\n      pbVar7 = pbVar7 + (ulong)bVar11 * -2 + 1;\n    } while (bVar10);\n    if ((!bVar9 && !bVar10) == bVar9) {\n      if (ppc_machine::curr_hist < 1) {\n        pcVar5 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      ppc_machine::curr_hist = ppc_machine::curr_hist + -1;\n      pVar3 = ppc_machine::cpu_history[ppc_machine::curr_hist];\n    }\n    else {\n      pVar3 = ppc_parse_cpu(ppc_cpu,&sticky);\n      pcVar5 = cpu_string;\n      if (pVar3 == 0) {\n        format = (char *)dcgettext(0,"invalid machine `%s\'",5);\n        as_bad(format,pcVar5);\n        pVar3 = ppc_cpu;\n      }\n    }\n  }\n  ppc_cpu = pVar3;\n  if (pVar2 != ppc_cpu) {\n    ppc_setup_opcodes();\n  }\nLAB_0013324f:\n  demand_empty_rest_of_line();\n  return;\n}" primitive_type (function_declarator "ppc_machine(int ignore)" identifier (parameter_list "(int ignore)" ( (parameter_declaration "int ignore" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  ppc_cpu_t pVar2;\n  char c;\n  ppc_cpu_t pVar3;\n  char *format;\n  long lVar4;\n  char *pcVar5;\n  byte *pbVar6;\n  byte *pbVar7;\n  bool bVar8;\n  bool bVar9;\n  bool bVar10;\n  byte bVar11;\n  char *cpu_string;\n  \n  bVar11 = 0;\n  if (*input_line_pointer == ' ') {\n    input_line_pointer = input_line_pointer + 1;\n  }\n  c = get_symbol_name(&cpu_string);\n  cpu_string = (char *)xstrdup(cpu_string);\n  restore_line_pointer(c);\n  pVar2 = ppc_cpu;\n  if (cpu_string == (char *)0x0) goto LAB_0013324f;\n  bVar1 = *cpu_string;\n  pbVar6 = (byte *)cpu_string;\n  while (bVar10 = bVar1 == 0, !bVar10) {\n    *pbVar6 = _sch_tolower[bVar1];\n    bVar1 = pbVar6[1];\n    pbVar6 = pbVar6 + 1;\n  }\n  bVar8 = false;\n  lVar4 = 5;\n  pbVar6 = (byte *)cpu_string;\n  pbVar7 = &DAT_00144196;\n  do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar8 = *pbVar6 < *pbVar7;\n    bVar10 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + (ulong)bVar11 * -2 + 1;\n    pbVar7 = pbVar7 + (ulong)bVar11 * -2 + 1;\n  } while (bVar10);\n  bVar9 = false;\n  bVar10 = (!bVar8 && !bVar10) == bVar8;\n  if (bVar10) {\n    if (ppc_machine::cpu_history == (ppc_cpu_t *)0x0) {\n      ppc_machine::cpu_history = (ppc_cpu_t *)xmalloc(800);\n    }\n    lVar4 = (long)ppc_machine::curr_hist;\n    pcVar5 = ".machine stack overflow";\n    if (ppc_machine::curr_hist < 100) {\n      ppc_machine::curr_hist = ppc_machine::curr_hist + 1;\n      ppc_machine::cpu_history[lVar4] = ppc_cpu;\n      pVar3 = ppc_cpu;\n    }\n    else {\nLAB_001332af:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);\n      as_bad(pcVar5);\n      pVar3 = ppc_cpu;\n    }\n  }\n  else {\n    lVar4 = 4;\n    pbVar6 = (byte *)cpu_string;\n    pbVar7 = &DAT_001441b3;\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar9 = *pbVar6 < *pbVar7;\n      bVar10 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + (ulong)bVar11 * -2 + 1;\n      pbVar7 = pbVar7 + (ulong)bVar11 * -2 + 1;\n    } while (bVar10);\n    if ((!bVar9 && !bVar10) == bVar9) {\n      if (ppc_machine::curr_hist < 1) {\n        pcVar5 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      ppc_machine::curr_hist = ppc_machine::curr_hist + -1;\n      pVar3 = ppc_machine::cpu_history[ppc_machine::curr_hist];\n    }\n    else {\n      pVar3 = ppc_parse_cpu(ppc_cpu,&sticky);\n      pcVar5 = cpu_string;\n      if (pVar3 == 0) {\n        format = (char *)dcgettext(0,"invalid machine `%s\'",5);\n        as_bad(format,pcVar5);\n        pVar3 = ppc_cpu;\n      }\n    }\n  }\n  ppc_cpu = pVar3;\n  if (pVar2 != ppc_cpu) {\n    ppc_setup_opcodes();\n  }\nLAB_0013324f:\n  demand_empty_rest_of_line();\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "ppc_cpu_t pVar2;" type_identifier identifier ;) (declaration "char c;" primitive_type identifier ;) (declaration "ppc_cpu_t pVar3;" type_identifier identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "byte bVar11;" type_identifier identifier ;) (declaration "char *cpu_string;" primitive_type (pointer_declarator "*cpu_string" * identifier) ;) (expression_statement "bVar11 = 0;" (assignment_expression "bVar11 = 0" 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 "c = get_symbol_name(&cpu_string);" (assignment_expression "c = get_symbol_name(&cpu_string)" identifier = (call_expression "get_symbol_name(&cpu_string)" identifier (argument_list "(&cpu_string)" ( (pointer_expression "&cpu_string" & identifier) )))) ;) (expression_statement "cpu_string = (char *)xstrdup(cpu_string);" (assignment_expression "cpu_string = (char *)xstrdup(cpu_string)" identifier = (cast_expression "(char *)xstrdup(cpu_string)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xstrdup(cpu_string)" identifier (argument_list "(cpu_string)" ( identifier ))))) ;) (expression_statement "restore_line_pointer(c);" (call_expression "restore_line_pointer(c)" identifier (argument_list "(c)" ( identifier ))) ;) (expression_statement "pVar2 = ppc_cpu;" (assignment_expression "pVar2 = ppc_cpu" identifier = identifier) ;) (if_statement "if (cpu_string == (char *)0x0) goto LAB_0013324f;" if (parenthesized_expression "(cpu_string == (char *)0x0)" ( (binary_expression "cpu_string == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0013324f;" goto statement_identifier ;)) (expression_statement "bVar1 = *cpu_string;" (assignment_expression "bVar1 = *cpu_string" identifier = (pointer_expression "*cpu_string" * identifier)) ;) (expression_statement "pbVar6 = (byte *)cpu_string;" (assignment_expression "pbVar6 = (byte *)cpu_string" identifier = (cast_expression "(byte *)cpu_string" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (while_statement "while (bVar10 = bVar1 == 0, !bVar10) {\n    *pbVar6 = _sch_tolower[bVar1];\n    bVar1 = pbVar6[1];\n    pbVar6 = pbVar6 + 1;\n  }" while (parenthesized_expression "(bVar10 = bVar1 == 0, !bVar10)" ( (comma_expression "bVar10 = bVar1 == 0, !bVar10" (assignment_expression "bVar10 = bVar1 == 0" identifier = (binary_expression "bVar1 == 0" identifier == number_literal)) , (unary_expression "!bVar10" ! identifier)) )) (compound_statement "{\n    *pbVar6 = _sch_tolower[bVar1];\n    bVar1 = pbVar6[1];\n    pbVar6 = pbVar6 + 1;\n  }" { (expression_statement "*pbVar6 = _sch_tolower[bVar1];" (assignment_expression "*pbVar6 = _sch_tolower[bVar1]" (pointer_expression "*pbVar6" * identifier) = (subscript_expression "_sch_tolower[bVar1]" identifier [ identifier ])) ;) (expression_statement "bVar1 = pbVar6[1];" (assignment_expression "bVar1 = pbVar6[1]" identifier = (subscript_expression "pbVar6[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) })) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "lVar4 = 5;" (assignment_expression "lVar4 = 5" identifier = number_literal) ;) (expression_statement "pbVar6 = (byte *)cpu_string;" (assignment_expression "pbVar6 = (byte *)cpu_string" identifier = (cast_expression "(byte *)cpu_string" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar7 = &DAT_00144196;" (assignment_expression "pbVar7 = &DAT_00144196" identifier = (pointer_expression "&DAT_00144196" & identifier)) ;) (do_statement "do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar8 = *pbVar6 < *pbVar7;\n    bVar10 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + (ulong)bVar11 * -2 + 1;\n    pbVar7 = pbVar7 + (ulong)bVar11 * -2 + 1;\n  } while (bVar10);" do (compound_statement "{\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar8 = *pbVar6 < *pbVar7;\n    bVar10 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + (ulong)bVar11 * -2 + 1;\n    pbVar7 = pbVar7 + (ulong)bVar11 * -2 + 1;\n  }" { (if_statement "if (lVar4 == 0) break;" if (parenthesized_expression "(lVar4 == 0)" ( (binary_expression "lVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar4 = lVar4 + -1;" (assignment_expression "lVar4 = lVar4 + -1" identifier = (binary_expression "lVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar8 = *pbVar6 < *pbVar7;" (assignment_expression "bVar8 = *pbVar6 < *pbVar7" identifier = (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar10 = *pbVar6 == *pbVar7;" (assignment_expression "bVar10 = *pbVar6 == *pbVar7" identifier = (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar6 = pbVar6 + (ulong)bVar11 * -2 + 1;" (assignment_expression "pbVar6 = pbVar6 + (ulong)bVar11 * -2 + 1" identifier = (binary_expression "pbVar6 + (ulong)bVar11 * -2 + 1" (binary_expression "pbVar6 + (ulong)bVar11 * -2" identifier + (binary_expression "(ulong)bVar11 * -2" (cast_expression "(ulong)bVar11" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar11 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar11 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar11 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar11 * -2" identifier + (binary_expression "(ulong)bVar11 * -2" (cast_expression "(ulong)bVar11" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar8 && !bVar10) == bVar8;" (assignment_expression "bVar10 = (!bVar8 && !bVar10) == bVar8" identifier = (binary_expression "(!bVar8 && !bVar10) == bVar8" (parenthesized_expression "(!bVar8 && !bVar10)" ( (binary_expression "!bVar8 && !bVar10" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar10) {\n    if (ppc_machine::cpu_history == (ppc_cpu_t *)0x0) {\n      ppc_machine::cpu_history = (ppc_cpu_t *)xmalloc(800);\n    }\n    lVar4 = (long)ppc_machine::curr_hist;\n    pcVar5 = ".machine stack overflow";\n    if (ppc_machine::curr_hist < 100) {\n      ppc_machine::curr_hist = ppc_machine::curr_hist + 1;\n      ppc_machine::cpu_history[lVar4] = ppc_cpu;\n      pVar3 = ppc_cpu;\n    }\n    else {\nLAB_001332af:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);\n      as_bad(pcVar5);\n      pVar3 = ppc_cpu;\n    }\n  }\n  else {\n    lVar4 = 4;\n    pbVar6 = (byte *)cpu_string;\n    pbVar7 = &DAT_001441b3;\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar9 = *pbVar6 < *pbVar7;\n      bVar10 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + (ulong)bVar11 * -2 + 1;\n      pbVar7 = pbVar7 + (ulong)bVar11 * -2 + 1;\n    } while (bVar10);\n    if ((!bVar9 && !bVar10) == bVar9) {\n      if (ppc_machine::curr_hist < 1) {\n        pcVar5 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      ppc_machine::curr_hist = ppc_machine::curr_hist + -1;\n      pVar3 = ppc_machine::cpu_history[ppc_machine::curr_hist];\n    }\n    else {\n      pVar3 = ppc_parse_cpu(ppc_cpu,&sticky);\n      pcVar5 = cpu_string;\n      if (pVar3 == 0) {\n        format = (char *)dcgettext(0,"invalid machine `%s\'",5);\n        as_bad(format,pcVar5);\n        pVar3 = ppc_cpu;\n      }\n    }\n  }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n    if (ppc_machine::cpu_history == (ppc_cpu_t *)0x0) {\n      ppc_machine::cpu_history = (ppc_cpu_t *)xmalloc(800);\n    }\n    lVar4 = (long)ppc_machine::curr_hist;\n    pcVar5 = ".machine stack overflow";\n    if (ppc_machine::curr_hist < 100) {\n      ppc_machine::curr_hist = ppc_machine::curr_hist + 1;\n      ppc_machine::cpu_history[lVar4] = ppc_cpu;\n      pVar3 = ppc_cpu;\n    }\n    else {\nLAB_001332af:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);\n      as_bad(pcVar5);\n      pVar3 = ppc_cpu;\n    }\n  }" { (if_statement "if (ppc_machine::cpu_history == (ppc_cpu_t *)0x0) {\n      ppc_machine::cpu_history = (ppc_cpu_t *)xmalloc(800);\n    }" if (parenthesized_expression "(ppc_machine::cpu_history == (ppc_cpu_t *)0x0)" ( (ERROR "ppc_machine::" identifier : :) (binary_expression "cpu_history == (ppc_cpu_t *)0x0" identifier == (cast_expression "(ppc_cpu_t *)0x0" ( (type_descriptor "ppc_cpu_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      ppc_machine::cpu_history = (ppc_cpu_t *)xmalloc(800);\n    }" { (labeled_statement "ppc_machine::cpu_history = (ppc_cpu_t *)xmalloc(800);" statement_identifier : (ERROR ":" :) (expression_statement "cpu_history = (ppc_cpu_t *)xmalloc(800);" (assignment_expression "cpu_history = (ppc_cpu_t *)xmalloc(800)" identifier = (cast_expression "(ppc_cpu_t *)xmalloc(800)" ( (type_descriptor "ppc_cpu_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(800)" identifier (argument_list "(800)" ( number_literal ))))) ;)) })) (expression_statement "lVar4 = (long)ppc_machine::curr_hist;" (assignment_expression "lVar4 = (long)ppc_machine" identifier = (cast_expression "(long)ppc_machine" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) (ERROR "::curr_hist" : : identifier) ;) (expression_statement "pcVar5 = ".machine stack overflow";" (assignment_expression "pcVar5 = ".machine stack overflow"" identifier = (string_literal "".machine stack overflow"" " string_content ")) ;) (if_statement "if (ppc_machine::curr_hist < 100) {\n      ppc_machine::curr_hist = ppc_machine::curr_hist + 1;\n      ppc_machine::cpu_history[lVar4] = ppc_cpu;\n      pVar3 = ppc_cpu;\n    }\n    else {\nLAB_001332af:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);\n      as_bad(pcVar5);\n      pVar3 = ppc_cpu;\n    }" if (parenthesized_expression "(ppc_machine::curr_hist < 100)" ( (binary_expression "ppc_machine::curr_hist < 100" identifier (ERROR "::curr_hist" : : identifier) < number_literal) )) (compound_statement "{\n      ppc_machine::curr_hist = ppc_machine::curr_hist + 1;\n      ppc_machine::cpu_history[lVar4] = ppc_cpu;\n      pVar3 = ppc_cpu;\n    }" { (labeled_statement "ppc_machine::curr_hist = ppc_machine::curr_hist + 1;" statement_identifier (ERROR "::curr_hist = ppc_machine:" : : (assignment_expression "curr_hist = ppc_machine" identifier = identifier) :) : (expression_statement "curr_hist + 1;" (binary_expression "curr_hist + 1" identifier + number_literal) ;)) (labeled_statement "ppc_machine::cpu_history[lVar4] = ppc_cpu;" statement_identifier : (ERROR ":" :) (expression_statement "cpu_history[lVar4] = ppc_cpu;" (assignment_expression "cpu_history[lVar4] = ppc_cpu" (subscript_expression "cpu_history[lVar4]" identifier [ identifier ]) = identifier) ;)) (expression_statement "pVar3 = ppc_cpu;" (assignment_expression "pVar3 = ppc_cpu" identifier = identifier) ;) }) (else_clause "else {\nLAB_001332af:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);\n      as_bad(pcVar5);\n      pVar3 = ppc_cpu;\n    }" else (compound_statement "{\nLAB_001332af:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);\n      as_bad(pcVar5);\n      pVar3 = ppc_cpu;\n    }" { (labeled_statement "LAB_001332af:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);" statement_identifier : (expression_statement "pcVar5 = (char *)dcgettext(0,pcVar5,5);" (assignment_expression "pcVar5 = (char *)dcgettext(0,pcVar5,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar5,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar5,5)" identifier (argument_list "(0,pcVar5,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "as_bad(pcVar5);" (call_expression "as_bad(pcVar5)" identifier (argument_list "(pcVar5)" ( identifier ))) ;) (expression_statement "pVar3 = ppc_cpu;" (assignment_expression "pVar3 = ppc_cpu" identifier = identifier) ;) }))) }) (else_clause "else {\n    lVar4 = 4;\n    pbVar6 = (byte *)cpu_string;\n    pbVar7 = &DAT_001441b3;\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar9 = *pbVar6 < *pbVar7;\n      bVar10 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + (ulong)bVar11 * -2 + 1;\n      pbVar7 = pbVar7 + (ulong)bVar11 * -2 + 1;\n    } while (bVar10);\n    if ((!bVar9 && !bVar10) == bVar9) {\n      if (ppc_machine::curr_hist < 1) {\n        pcVar5 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      ppc_machine::curr_hist = ppc_machine::curr_hist + -1;\n      pVar3 = ppc_machine::cpu_history[ppc_machine::curr_hist];\n    }\n    else {\n      pVar3 = ppc_parse_cpu(ppc_cpu,&sticky);\n      pcVar5 = cpu_string;\n      if (pVar3 == 0) {\n        format = (char *)dcgettext(0,"invalid machine `%s\'",5);\n        as_bad(format,pcVar5);\n        pVar3 = ppc_cpu;\n      }\n    }\n  }" else (compound_statement "{\n    lVar4 = 4;\n    pbVar6 = (byte *)cpu_string;\n    pbVar7 = &DAT_001441b3;\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar9 = *pbVar6 < *pbVar7;\n      bVar10 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + (ulong)bVar11 * -2 + 1;\n      pbVar7 = pbVar7 + (ulong)bVar11 * -2 + 1;\n    } while (bVar10);\n    if ((!bVar9 && !bVar10) == bVar9) {\n      if (ppc_machine::curr_hist < 1) {\n        pcVar5 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      ppc_machine::curr_hist = ppc_machine::curr_hist + -1;\n      pVar3 = ppc_machine::cpu_history[ppc_machine::curr_hist];\n    }\n    else {\n      pVar3 = ppc_parse_cpu(ppc_cpu,&sticky);\n      pcVar5 = cpu_string;\n      if (pVar3 == 0) {\n        format = (char *)dcgettext(0,"invalid machine `%s\'",5);\n        as_bad(format,pcVar5);\n        pVar3 = ppc_cpu;\n      }\n    }\n  }" { (expression_statement "lVar4 = 4;" (assignment_expression "lVar4 = 4" identifier = number_literal) ;) (expression_statement "pbVar6 = (byte *)cpu_string;" (assignment_expression "pbVar6 = (byte *)cpu_string" identifier = (cast_expression "(byte *)cpu_string" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar7 = &DAT_001441b3;" (assignment_expression "pbVar7 = &DAT_001441b3" identifier = (pointer_expression "&DAT_001441b3" & identifier)) ;) (do_statement "do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar9 = *pbVar6 < *pbVar7;\n      bVar10 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + (ulong)bVar11 * -2 + 1;\n      pbVar7 = pbVar7 + (ulong)bVar11 * -2 + 1;\n    } while (bVar10);" do (compound_statement "{\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar9 = *pbVar6 < *pbVar7;\n      bVar10 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + (ulong)bVar11 * -2 + 1;\n      pbVar7 = pbVar7 + (ulong)bVar11 * -2 + 1;\n    }" { (if_statement "if (lVar4 == 0) break;" if (parenthesized_expression "(lVar4 == 0)" ( (binary_expression "lVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar4 = lVar4 + -1;" (assignment_expression "lVar4 = lVar4 + -1" identifier = (binary_expression "lVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar6 < *pbVar7;" (assignment_expression "bVar9 = *pbVar6 < *pbVar7" identifier = (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar10 = *pbVar6 == *pbVar7;" (assignment_expression "bVar10 = *pbVar6 == *pbVar7" identifier = (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar6 = pbVar6 + (ulong)bVar11 * -2 + 1;" (assignment_expression "pbVar6 = pbVar6 + (ulong)bVar11 * -2 + 1" identifier = (binary_expression "pbVar6 + (ulong)bVar11 * -2 + 1" (binary_expression "pbVar6 + (ulong)bVar11 * -2" identifier + (binary_expression "(ulong)bVar11 * -2" (cast_expression "(ulong)bVar11" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar11 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar11 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar11 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar11 * -2" identifier + (binary_expression "(ulong)bVar11 * -2" (cast_expression "(ulong)bVar11" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (if_statement "if ((!bVar9 && !bVar10) == bVar9) {\n      if (ppc_machine::curr_hist < 1) {\n        pcVar5 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      ppc_machine::curr_hist = ppc_machine::curr_hist + -1;\n      pVar3 = ppc_machine::cpu_history[ppc_machine::curr_hist];\n    }\n    else {\n      pVar3 = ppc_parse_cpu(ppc_cpu,&sticky);\n      pcVar5 = cpu_string;\n      if (pVar3 == 0) {\n        format = (char *)dcgettext(0,"invalid machine `%s\'",5);\n        as_bad(format,pcVar5);\n        pVar3 = ppc_cpu;\n      }\n    }" if (parenthesized_expression "((!bVar9 && !bVar10) == bVar9)" ( (binary_expression "(!bVar9 && !bVar10) == bVar9" (parenthesized_expression "(!bVar9 && !bVar10)" ( (binary_expression "!bVar9 && !bVar10" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier) )) (compound_statement "{\n      if (ppc_machine::curr_hist < 1) {\n        pcVar5 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      ppc_machine::curr_hist = ppc_machine::curr_hist + -1;\n      pVar3 = ppc_machine::cpu_history[ppc_machine::curr_hist];\n    }" { (if_statement "if (ppc_machine::curr_hist < 1) {\n        pcVar5 = ".machine stack underflow";\n        goto LAB_001332af;\n      }" if (parenthesized_expression "(ppc_machine::curr_hist < 1)" ( (binary_expression "ppc_machine::curr_hist < 1" identifier (ERROR "::curr_hist" : : identifier) < number_literal) )) (compound_statement "{\n        pcVar5 = ".machine stack underflow";\n        goto LAB_001332af;\n      }" { (expression_statement "pcVar5 = ".machine stack underflow";" (assignment_expression "pcVar5 = ".machine stack underflow"" identifier = (string_literal "".machine stack underflow"" " string_content ")) ;) (goto_statement "goto LAB_001332af;" goto statement_identifier ;) })) (labeled_statement "ppc_machine::curr_hist = ppc_machine::curr_hist + -1;" statement_identifier (ERROR "::curr_hist = ppc_machine:" : : (assignment_expression "curr_hist = ppc_machine" identifier = identifier) :) : (expression_statement "curr_hist + -1;" (binary_expression "curr_hist + -1" identifier + number_literal) ;)) (expression_statement "pVar3 = ppc_machine::cpu_history[ppc_machine::curr_hist];" (subscript_expression "pVar3 = ppc_machine::cpu_history[ppc_machine::curr_hist]" (assignment_expression "pVar3 = ppc_machine" identifier = identifier) (ERROR "::cpu_history" : : identifier) [ identifier (ERROR "::curr_hist" : : identifier) ]) ;) }) (else_clause "else {\n      pVar3 = ppc_parse_cpu(ppc_cpu,&sticky);\n      pcVar5 = cpu_string;\n      if (pVar3 == 0) {\n        format = (char *)dcgettext(0,"invalid machine `%s\'",5);\n        as_bad(format,pcVar5);\n        pVar3 = ppc_cpu;\n      }\n    }" else (compound_statement "{\n      pVar3 = ppc_parse_cpu(ppc_cpu,&sticky);\n      pcVar5 = cpu_string;\n      if (pVar3 == 0) {\n        format = (char *)dcgettext(0,"invalid machine `%s\'",5);\n        as_bad(format,pcVar5);\n        pVar3 = ppc_cpu;\n      }\n    }" { (expression_statement "pVar3 = ppc_parse_cpu(ppc_cpu,&sticky);" (assignment_expression "pVar3 = ppc_parse_cpu(ppc_cpu,&sticky)" identifier = (call_expression "ppc_parse_cpu(ppc_cpu,&sticky)" identifier (argument_list "(ppc_cpu,&sticky)" ( identifier , (pointer_expression "&sticky" & identifier) )))) ;) (expression_statement "pcVar5 = cpu_string;" (assignment_expression "pcVar5 = cpu_string" identifier = identifier) ;) (if_statement "if (pVar3 == 0) {\n        format = (char *)dcgettext(0,"invalid machine `%s\'",5);\n        as_bad(format,pcVar5);\n        pVar3 = ppc_cpu;\n      }" if (parenthesized_expression "(pVar3 == 0)" ( (binary_expression "pVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        format = (char *)dcgettext(0,"invalid machine `%s\'",5);\n        as_bad(format,pcVar5);\n        pVar3 = ppc_cpu;\n      }" { (expression_statement "format = (char *)dcgettext(0,"invalid machine `%s\'",5);" (assignment_expression "format = (char *)dcgettext(0,"invalid machine `%s\'",5)" identifier = (cast_expression "(char *)dcgettext(0,"invalid machine `%s\'",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"invalid machine `%s\'",5)" identifier (argument_list "(0,"invalid machine `%s\'",5)" ( number_literal , (string_literal ""invalid machine `%s\'"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "as_bad(format,pcVar5);" (call_expression "as_bad(format,pcVar5)" identifier (argument_list "(format,pcVar5)" ( identifier , identifier ))) ;) (expression_statement "pVar3 = ppc_cpu;" (assignment_expression "pVar3 = ppc_cpu" identifier = identifier) ;) })) }))) }))) (expression_statement "ppc_cpu = pVar3;" (assignment_expression "ppc_cpu = pVar3" identifier = identifier) ;) (if_statement "if (pVar2 != ppc_cpu) {\n    ppc_setup_opcodes();\n  }" if (parenthesized_expression "(pVar2 != ppc_cpu)" ( (binary_expression "pVar2 != ppc_cpu" identifier != identifier) )) (compound_statement "{\n    ppc_setup_opcodes();\n  }" { (expression_statement "ppc_setup_opcodes();" (call_expression "ppc_setup_opcodes()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_0013324f:\n  demand_empty_rest_of_line();" statement_identifier : (expression_statement "demand_empty_rest_of_line();" (call_expression "demand_empty_rest_of_line()" identifier (argument_list "()" ( ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00133160(void)\n\n{\n  byte bVar1;\n  long lVar2;\n  char cVar3;\n  undefined8 uVar4;\n  long lVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  byte *local_20 [2];\n  \n  bVar12 = 0;\n  if (*DAT_0019d9a0 == ' ') {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  cVar3 = FUN_00116b30(local_20);\n  local_20[0] = (byte *)xstrdup(local_20[0]);\n  FUN_001184c0((int)cVar3);\n  lVar2 = DAT_0019d4f8;\n  if (local_20[0] == (byte *)0x0) goto LAB_0013324f;\n  bVar1 = *local_20[0];\n  pbVar7 = local_20[0];\n  while (bVar11 = bVar1 == 0, !bVar11) {\n    *pbVar7 = _sch_tolower[bVar1];\n    bVar1 = pbVar7[1];\n    pbVar7 = pbVar7 + 1;\n  }\n  bVar9 = false;\n  lVar5 = 5;\n  pbVar7 = local_20[0];\n  pbVar8 = &DAT_00144196;\n  do {\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n    pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar11 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar11) {\n    if (DAT_0019d508 == 0) {\n      DAT_0019d508 = xmalloc(800);\n    }\n    lVar5 = (long)DAT_0019d500;\n    pcVar6 = ".machine stack overflow";\n    if (DAT_0019d500 < 100) {\n      DAT_0019d500 = DAT_0019d500 + 1;\n      *(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;\n      lVar5 = DAT_0019d4f8;\n    }\n    else {\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }\n  }\n  else {\n    lVar5 = 4;\n    pbVar7 = local_20[0];\n    pbVar8 = &DAT_001441b3;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    } while (bVar11);\n    if ((!bVar10 && !bVar11) == bVar10) {\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }\n    else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }\n  }\n  DAT_0019d4f8 = lVar5;\n  if (lVar2 != DAT_0019d4f8) {\n    FUN_00132b00();\n  }\nLAB_0013324f:\n  FUN_00121a20();\n  return;\n}\n\n" (function_definition "void FUN_00133160(void)\n\n{\n  byte bVar1;\n  long lVar2;\n  char cVar3;\n  undefined8 uVar4;\n  long lVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  byte *local_20 [2];\n  \n  bVar12 = 0;\n  if (*DAT_0019d9a0 == ' ') {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  cVar3 = FUN_00116b30(local_20);\n  local_20[0] = (byte *)xstrdup(local_20[0]);\n  FUN_001184c0((int)cVar3);\n  lVar2 = DAT_0019d4f8;\n  if (local_20[0] == (byte *)0x0) goto LAB_0013324f;\n  bVar1 = *local_20[0];\n  pbVar7 = local_20[0];\n  while (bVar11 = bVar1 == 0, !bVar11) {\n    *pbVar7 = _sch_tolower[bVar1];\n    bVar1 = pbVar7[1];\n    pbVar7 = pbVar7 + 1;\n  }\n  bVar9 = false;\n  lVar5 = 5;\n  pbVar7 = local_20[0];\n  pbVar8 = &DAT_00144196;\n  do {\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n    pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar11 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar11) {\n    if (DAT_0019d508 == 0) {\n      DAT_0019d508 = xmalloc(800);\n    }\n    lVar5 = (long)DAT_0019d500;\n    pcVar6 = ".machine stack overflow";\n    if (DAT_0019d500 < 100) {\n      DAT_0019d500 = DAT_0019d500 + 1;\n      *(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;\n      lVar5 = DAT_0019d4f8;\n    }\n    else {\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }\n  }\n  else {\n    lVar5 = 4;\n    pbVar7 = local_20[0];\n    pbVar8 = &DAT_001441b3;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    } while (bVar11);\n    if ((!bVar10 && !bVar11) == bVar10) {\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }\n    else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }\n  }\n  DAT_0019d4f8 = lVar5;\n  if (lVar2 != DAT_0019d4f8) {\n    FUN_00132b00();\n  }\nLAB_0013324f:\n  FUN_00121a20();\n  return;\n}" primitive_type (function_declarator "FUN_00133160(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  byte bVar1;\n  long lVar2;\n  char cVar3;\n  undefined8 uVar4;\n  long lVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  byte *local_20 [2];\n  \n  bVar12 = 0;\n  if (*DAT_0019d9a0 == ' ') {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  cVar3 = FUN_00116b30(local_20);\n  local_20[0] = (byte *)xstrdup(local_20[0]);\n  FUN_001184c0((int)cVar3);\n  lVar2 = DAT_0019d4f8;\n  if (local_20[0] == (byte *)0x0) goto LAB_0013324f;\n  bVar1 = *local_20[0];\n  pbVar7 = local_20[0];\n  while (bVar11 = bVar1 == 0, !bVar11) {\n    *pbVar7 = _sch_tolower[bVar1];\n    bVar1 = pbVar7[1];\n    pbVar7 = pbVar7 + 1;\n  }\n  bVar9 = false;\n  lVar5 = 5;\n  pbVar7 = local_20[0];\n  pbVar8 = &DAT_00144196;\n  do {\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n    pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar11 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar11) {\n    if (DAT_0019d508 == 0) {\n      DAT_0019d508 = xmalloc(800);\n    }\n    lVar5 = (long)DAT_0019d500;\n    pcVar6 = ".machine stack overflow";\n    if (DAT_0019d500 < 100) {\n      DAT_0019d500 = DAT_0019d500 + 1;\n      *(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;\n      lVar5 = DAT_0019d4f8;\n    }\n    else {\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }\n  }\n  else {\n    lVar5 = 4;\n    pbVar7 = local_20[0];\n    pbVar8 = &DAT_001441b3;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    } while (bVar11);\n    if ((!bVar10 && !bVar11) == bVar10) {\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }\n    else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }\n  }\n  DAT_0019d4f8 = lVar5;\n  if (lVar2 != DAT_0019d4f8) {\n    FUN_00132b00();\n  }\nLAB_0013324f:\n  FUN_00121a20();\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "byte *local_20 [2];" type_identifier (pointer_declarator "*local_20 [2]" * (array_declarator "local_20 [2]" identifier [ number_literal ])) ;) (expression_statement "bVar12 = 0;" (assignment_expression "bVar12 = 0" identifier = number_literal) ;) (if_statement "if (*DAT_0019d9a0 == ' ') {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" if (parenthesized_expression "(*DAT_0019d9a0 == ' ')" ( (binary_expression "*DAT_0019d9a0 == ' '" (pointer_expression "*DAT_0019d9a0" * identifier) == (char_literal "' '" ' character ')) )) (compound_statement "{\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" { (expression_statement "DAT_0019d9a0 = DAT_0019d9a0 + 1;" (assignment_expression "DAT_0019d9a0 = DAT_0019d9a0 + 1" identifier = (binary_expression "DAT_0019d9a0 + 1" identifier + number_literal)) ;) })) (expression_statement "cVar3 = FUN_00116b30(local_20);" (assignment_expression "cVar3 = FUN_00116b30(local_20)" identifier = (call_expression "FUN_00116b30(local_20)" identifier (argument_list "(local_20)" ( identifier )))) ;) (expression_statement "local_20[0] = (byte *)xstrdup(local_20[0]);" (assignment_expression "local_20[0] = (byte *)xstrdup(local_20[0])" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (cast_expression "(byte *)xstrdup(local_20[0])" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xstrdup(local_20[0])" identifier (argument_list "(local_20[0])" ( (subscript_expression "local_20[0]" identifier [ number_literal ]) ))))) ;) (expression_statement "FUN_001184c0((int)cVar3);" (call_expression "FUN_001184c0((int)cVar3)" identifier (argument_list "((int)cVar3)" ( (cast_expression "(int)cVar3" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (expression_statement "lVar2 = DAT_0019d4f8;" (assignment_expression "lVar2 = DAT_0019d4f8" identifier = identifier) ;) (if_statement "if (local_20[0] == (byte *)0x0) goto LAB_0013324f;" if (parenthesized_expression "(local_20[0] == (byte *)0x0)" ( (binary_expression "local_20[0] == (byte *)0x0" (subscript_expression "local_20[0]" identifier [ number_literal ]) == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0013324f;" goto statement_identifier ;)) (expression_statement "bVar1 = *local_20[0];" (assignment_expression "bVar1 = *local_20[0]" identifier = (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "pbVar7 = local_20[0];" (assignment_expression "pbVar7 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) (while_statement "while (bVar11 = bVar1 == 0, !bVar11) {\n    *pbVar7 = _sch_tolower[bVar1];\n    bVar1 = pbVar7[1];\n    pbVar7 = pbVar7 + 1;\n  }" while (parenthesized_expression "(bVar11 = bVar1 == 0, !bVar11)" ( (comma_expression "bVar11 = bVar1 == 0, !bVar11" (assignment_expression "bVar11 = bVar1 == 0" identifier = (binary_expression "bVar1 == 0" identifier == number_literal)) , (unary_expression "!bVar11" ! identifier)) )) (compound_statement "{\n    *pbVar7 = _sch_tolower[bVar1];\n    bVar1 = pbVar7[1];\n    pbVar7 = pbVar7 + 1;\n  }" { (expression_statement "*pbVar7 = _sch_tolower[bVar1];" (assignment_expression "*pbVar7 = _sch_tolower[bVar1]" (pointer_expression "*pbVar7" * identifier) = (subscript_expression "_sch_tolower[bVar1]" identifier [ identifier ])) ;) (expression_statement "bVar1 = pbVar7[1];" (assignment_expression "bVar1 = pbVar7[1]" identifier = (subscript_expression "pbVar7[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) })) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "lVar5 = 5;" (assignment_expression "lVar5 = 5" identifier = number_literal) ;) (expression_statement "pbVar7 = local_20[0];" (assignment_expression "pbVar7 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar8 = &DAT_00144196;" (assignment_expression "pbVar8 = &DAT_00144196" identifier = (pointer_expression "&DAT_00144196" & identifier)) ;) (do_statement "do {\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n    pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n  } while (bVar11);" do (compound_statement "{\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n    pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n  }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar7 < *pbVar8;" (assignment_expression "bVar9 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar11 = *pbVar7 == *pbVar8;" (assignment_expression "bVar11 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar12 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar12 * -2" identifier + (binary_expression "(ulong)bVar12 * -2" (cast_expression "(ulong)bVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar12 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar12 * -2" identifier + (binary_expression "(ulong)bVar12 * -2" (cast_expression "(ulong)bVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar11 = (!bVar9 && !bVar11) == bVar9;" (assignment_expression "bVar11 = (!bVar9 && !bVar11) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar11) == bVar9" (parenthesized_expression "(!bVar9 && !bVar11)" ( (binary_expression "!bVar9 && !bVar11" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar11) {\n    if (DAT_0019d508 == 0) {\n      DAT_0019d508 = xmalloc(800);\n    }\n    lVar5 = (long)DAT_0019d500;\n    pcVar6 = ".machine stack overflow";\n    if (DAT_0019d500 < 100) {\n      DAT_0019d500 = DAT_0019d500 + 1;\n      *(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;\n      lVar5 = DAT_0019d4f8;\n    }\n    else {\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }\n  }\n  else {\n    lVar5 = 4;\n    pbVar7 = local_20[0];\n    pbVar8 = &DAT_001441b3;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    } while (bVar11);\n    if ((!bVar10 && !bVar11) == bVar10) {\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }\n    else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }\n  }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n    if (DAT_0019d508 == 0) {\n      DAT_0019d508 = xmalloc(800);\n    }\n    lVar5 = (long)DAT_0019d500;\n    pcVar6 = ".machine stack overflow";\n    if (DAT_0019d500 < 100) {\n      DAT_0019d500 = DAT_0019d500 + 1;\n      *(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;\n      lVar5 = DAT_0019d4f8;\n    }\n    else {\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }\n  }" { (if_statement "if (DAT_0019d508 == 0) {\n      DAT_0019d508 = xmalloc(800);\n    }" if (parenthesized_expression "(DAT_0019d508 == 0)" ( (binary_expression "DAT_0019d508 == 0" identifier == number_literal) )) (compound_statement "{\n      DAT_0019d508 = xmalloc(800);\n    }" { (expression_statement "DAT_0019d508 = xmalloc(800);" (assignment_expression "DAT_0019d508 = xmalloc(800)" identifier = (call_expression "xmalloc(800)" identifier (argument_list "(800)" ( number_literal )))) ;) })) (expression_statement "lVar5 = (long)DAT_0019d500;" (assignment_expression "lVar5 = (long)DAT_0019d500" identifier = (cast_expression "(long)DAT_0019d500" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "pcVar6 = ".machine stack overflow";" (assignment_expression "pcVar6 = ".machine stack overflow"" identifier = (string_literal "".machine stack overflow"" " string_content ")) ;) (if_statement "if (DAT_0019d500 < 100) {\n      DAT_0019d500 = DAT_0019d500 + 1;\n      *(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;\n      lVar5 = DAT_0019d4f8;\n    }\n    else {\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }" if (parenthesized_expression "(DAT_0019d500 < 100)" ( (binary_expression "DAT_0019d500 < 100" identifier < number_literal) )) (compound_statement "{\n      DAT_0019d500 = DAT_0019d500 + 1;\n      *(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;\n      lVar5 = DAT_0019d4f8;\n    }" { (expression_statement "DAT_0019d500 = DAT_0019d500 + 1;" (assignment_expression "DAT_0019d500 = DAT_0019d500 + 1" identifier = (binary_expression "DAT_0019d500 + 1" identifier + number_literal)) ;) (expression_statement "*(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;" (assignment_expression "*(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8" (pointer_expression "*(long *)(DAT_0019d508 + lVar5 * 8)" * (cast_expression "(long *)(DAT_0019d508 + lVar5 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0019d508 + lVar5 * 8)" ( (binary_expression "DAT_0019d508 + lVar5 * 8" identifier + (binary_expression "lVar5 * 8" identifier * number_literal)) )))) = identifier) ;) (expression_statement "lVar5 = DAT_0019d4f8;" (assignment_expression "lVar5 = DAT_0019d4f8" identifier = identifier) ;) }) (else_clause "else {\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }" else (compound_statement "{\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }" { (labeled_statement "LAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);" statement_identifier : (expression_statement "uVar4 = dcgettext(0,pcVar6,5);" (assignment_expression "uVar4 = dcgettext(0,pcVar6,5)" identifier = (call_expression "dcgettext(0,pcVar6,5)" identifier (argument_list "(0,pcVar6,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "FUN_0011f6d0(uVar4);" (call_expression "FUN_0011f6d0(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "lVar5 = DAT_0019d4f8;" (assignment_expression "lVar5 = DAT_0019d4f8" identifier = identifier) ;) }))) }) (else_clause "else {\n    lVar5 = 4;\n    pbVar7 = local_20[0];\n    pbVar8 = &DAT_001441b3;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    } while (bVar11);\n    if ((!bVar10 && !bVar11) == bVar10) {\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }\n    else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }\n  }" else (compound_statement "{\n    lVar5 = 4;\n    pbVar7 = local_20[0];\n    pbVar8 = &DAT_001441b3;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    } while (bVar11);\n    if ((!bVar10 && !bVar11) == bVar10) {\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }\n    else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }\n  }" { (expression_statement "lVar5 = 4;" (assignment_expression "lVar5 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = local_20[0];" (assignment_expression "pbVar7 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar8 = &DAT_001441b3;" (assignment_expression "pbVar8 = &DAT_001441b3" identifier = (pointer_expression "&DAT_001441b3" & identifier)) ;) (do_statement "do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    } while (bVar11);" do (compound_statement "{\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar11 = *pbVar7 == *pbVar8;" (assignment_expression "bVar11 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar12 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar12 * -2" identifier + (binary_expression "(ulong)bVar12 * -2" (cast_expression "(ulong)bVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar12 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar12 * -2" identifier + (binary_expression "(ulong)bVar12 * -2" (cast_expression "(ulong)bVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (if_statement "if ((!bVar10 && !bVar11) == bVar10) {\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }\n    else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }" if (parenthesized_expression "((!bVar10 && !bVar11) == bVar10)" ( (binary_expression "(!bVar10 && !bVar11) == bVar10" (parenthesized_expression "(!bVar10 && !bVar11)" ( (binary_expression "!bVar10 && !bVar11" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier) )) (compound_statement "{\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }" { (if_statement "if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }" if (parenthesized_expression "(DAT_0019d500 < 1)" ( (binary_expression "DAT_0019d500 < 1" identifier < number_literal) )) (compound_statement "{\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }" { (expression_statement "pcVar6 = ".machine stack underflow";" (assignment_expression "pcVar6 = ".machine stack underflow"" identifier = (string_literal "".machine stack underflow"" " string_content ")) ;) (goto_statement "goto LAB_001332af;" goto statement_identifier ;) })) (expression_statement "DAT_0019d500 = DAT_0019d500 + -1;" (assignment_expression "DAT_0019d500 = DAT_0019d500 + -1" identifier = (binary_expression "DAT_0019d500 + -1" identifier + number_literal)) ;) (expression_statement "lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);" (assignment_expression "lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8)" identifier = (pointer_expression "*(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8)" * (cast_expression "(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0019d508 + (long)DAT_0019d500 * 8)" ( (binary_expression "DAT_0019d508 + (long)DAT_0019d500 * 8" identifier + (binary_expression "(long)DAT_0019d500 * 8" (cast_expression "(long)DAT_0019d500" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal)) ))))) ;) }) (else_clause "else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }" else (compound_statement "{\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }" { (expression_statement "lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);" (assignment_expression "lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0)" identifier = (call_expression "ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0)" identifier (argument_list "(DAT_0019d4f8,&DAT_0019d4f0)" ( identifier , (pointer_expression "&DAT_0019d4f0" & identifier) )))) ;) (expression_statement "pbVar7 = local_20[0];" (assignment_expression "pbVar7 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) (if_statement "if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }" { (expression_statement "uVar4 = dcgettext(0,"invalid machine `%s\'",5);" (assignment_expression "uVar4 = dcgettext(0,"invalid machine `%s\'",5)" identifier = (call_expression "dcgettext(0,"invalid machine `%s\'",5)" identifier (argument_list "(0,"invalid machine `%s\'",5)" ( number_literal , (string_literal ""invalid machine `%s\'"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0011f6d0(uVar4,pbVar7);" (call_expression "FUN_0011f6d0(uVar4,pbVar7)" identifier (argument_list "(uVar4,pbVar7)" ( identifier , identifier ))) ;) (expression_statement "lVar5 = DAT_0019d4f8;" (assignment_expression "lVar5 = DAT_0019d4f8" identifier = identifier) ;) })) }))) }))) (expression_statement "DAT_0019d4f8 = lVar5;" (assignment_expression "DAT_0019d4f8 = lVar5" identifier = identifier) ;) (if_statement "if (lVar2 != DAT_0019d4f8) {\n    FUN_00132b00();\n  }" if (parenthesized_expression "(lVar2 != DAT_0019d4f8)" ( (binary_expression "lVar2 != DAT_0019d4f8" identifier != identifier) )) (compound_statement "{\n    FUN_00132b00();\n  }" { (expression_statement "FUN_00132b00();" (call_expression "FUN_00132b00()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_0013324f:\n  FUN_00121a20();" statement_identifier : (expression_statement "FUN_00121a20();" (call_expression "FUN_00121a20()" identifier (argument_list "()" ( ))) ;)) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (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 (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT == LIT)) , (unary_expression ! IDENT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) * LIT)) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (return_statement return ;) })))
(function_definition "void FUN_00133160(void)\n\n{\n  byte bVar1;\n  long lVar2;\n  char cVar3;\n  undefined8 uVar4;\n  long lVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  byte *local_20 [2];\n  \n  bVar12 = 0;\n  if (*DAT_0019d9a0 == ' ') {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  cVar3 = FUN_00116b30(local_20);\n  local_20[0] = (byte *)xstrdup(local_20[0]);\n  FUN_001184c0((int)cVar3);\n  lVar2 = DAT_0019d4f8;\n  if (local_20[0] == (byte *)0x0) goto LAB_0013324f;\n  bVar1 = *local_20[0];\n  pbVar7 = local_20[0];\n  while (bVar11 = bVar1 == 0, !bVar11) {\n    *pbVar7 = _sch_tolower[bVar1];\n    bVar1 = pbVar7[1];\n    pbVar7 = pbVar7 + 1;\n  }\n  bVar9 = false;\n  lVar5 = 5;\n  pbVar7 = local_20[0];\n  pbVar8 = &DAT_00144196;\n  do {\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n    pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar11 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar11) {\n    if (DAT_0019d508 == 0) {\n      DAT_0019d508 = xmalloc(800);\n    }\n    lVar5 = (long)DAT_0019d500;\n    pcVar6 = ".machine stack overflow";\n    if (DAT_0019d500 < 100) {\n      DAT_0019d500 = DAT_0019d500 + 1;\n      *(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;\n      lVar5 = DAT_0019d4f8;\n    }\n    else {\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }\n  }\n  else {\n    lVar5 = 4;\n    pbVar7 = local_20[0];\n    pbVar8 = &DAT_001441b3;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    } while (bVar11);\n    if ((!bVar10 && !bVar11) == bVar10) {\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }\n    else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }\n  }\n  DAT_0019d4f8 = lVar5;\n  if (lVar2 != DAT_0019d4f8) {\n    FUN_00132b00();\n  }\nLAB_0013324f:\n  FUN_00121a20();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00133160(void)" (identifier "FUN_00133160") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  byte bVar1;\n  long lVar2;\n  char cVar3;\n  undefined8 uVar4;\n  long lVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  byte *local_20 [2];\n  \n  bVar12 = 0;\n  if (*DAT_0019d9a0 == ' ') {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  cVar3 = FUN_00116b30(local_20);\n  local_20[0] = (byte *)xstrdup(local_20[0]);\n  FUN_001184c0((int)cVar3);\n  lVar2 = DAT_0019d4f8;\n  if (local_20[0] == (byte *)0x0) goto LAB_0013324f;\n  bVar1 = *local_20[0];\n  pbVar7 = local_20[0];\n  while (bVar11 = bVar1 == 0, !bVar11) {\n    *pbVar7 = _sch_tolower[bVar1];\n    bVar1 = pbVar7[1];\n    pbVar7 = pbVar7 + 1;\n  }\n  bVar9 = false;\n  lVar5 = 5;\n  pbVar7 = local_20[0];\n  pbVar8 = &DAT_00144196;\n  do {\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n    pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar11 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar11) {\n    if (DAT_0019d508 == 0) {\n      DAT_0019d508 = xmalloc(800);\n    }\n    lVar5 = (long)DAT_0019d500;\n    pcVar6 = ".machine stack overflow";\n    if (DAT_0019d500 < 100) {\n      DAT_0019d500 = DAT_0019d500 + 1;\n      *(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;\n      lVar5 = DAT_0019d4f8;\n    }\n    else {\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }\n  }\n  else {\n    lVar5 = 4;\n    pbVar7 = local_20[0];\n    pbVar8 = &DAT_001441b3;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    } while (bVar11);\n    if ((!bVar10 && !bVar11) == bVar10) {\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }\n    else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }\n  }\n  DAT_0019d4f8 = lVar5;\n  if (lVar2 != DAT_0019d4f8) {\n    FUN_00132b00();\n  }\nLAB_0013324f:\n  FUN_00121a20();\n  return;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "long lVar2;" (sized_type_specifier "long" (long "long")) (identifier "lVar2") (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "undefined8 uVar4;" (type_identifier "undefined8") (identifier "uVar4") (; ";")) (declaration "long lVar5;" (sized_type_specifier "long" (long "long")) (identifier "lVar5") (; ";")) (declaration "char *pcVar6;" (primitive_type "char") (pointer_declarator "*pcVar6" (* "*") (identifier "pcVar6")) (; ";")) (declaration "byte *pbVar7;" (type_identifier "byte") (pointer_declarator "*pbVar7" (* "*") (identifier "pbVar7")) (; ";")) (declaration "byte *pbVar8;" (type_identifier "byte") (pointer_declarator "*pbVar8" (* "*") (identifier "pbVar8")) (; ";")) (declaration "bool bVar9;" (primitive_type "bool") (identifier "bVar9") (; ";")) (declaration "bool bVar10;" (primitive_type "bool") (identifier "bVar10") (; ";")) (declaration "bool bVar11;" (primitive_type "bool") (identifier "bVar11") (; ";")) (declaration "byte bVar12;" (type_identifier "byte") (identifier "bVar12") (; ";")) (declaration "byte *local_20 [2];" (type_identifier "byte") (pointer_declarator "*local_20 [2]" (* "*") (array_declarator "local_20 [2]" (identifier "local_20") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "bVar12 = 0;" (assignment_expression "bVar12 = 0" (identifier "bVar12") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*DAT_0019d9a0 == ' ') {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" (if "if") (parenthesized_expression "(*DAT_0019d9a0 == ' ')" (( "(") (binary_expression "*DAT_0019d9a0 == ' '" (pointer_expression "*DAT_0019d9a0" (* "*") (identifier "DAT_0019d9a0")) (== "==") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")")) (compound_statement "{\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" ({ "{") (expression_statement "DAT_0019d9a0 = DAT_0019d9a0 + 1;" (assignment_expression "DAT_0019d9a0 = DAT_0019d9a0 + 1" (identifier "DAT_0019d9a0") (= "=") (binary_expression "DAT_0019d9a0 + 1" (identifier "DAT_0019d9a0") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "cVar3 = FUN_00116b30(local_20);" (assignment_expression "cVar3 = FUN_00116b30(local_20)" (identifier "cVar3") (= "=") (call_expression "FUN_00116b30(local_20)" (identifier "FUN_00116b30") (argument_list "(local_20)" (( "(") (identifier "local_20") () ")")))) (; ";")) (expression_statement "local_20[0] = (byte *)xstrdup(local_20[0]);" (assignment_expression "local_20[0] = (byte *)xstrdup(local_20[0])" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(byte *)xstrdup(local_20[0])" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xstrdup(local_20[0])" (identifier "xstrdup") (argument_list "(local_20[0])" (( "(") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) () ")"))))) (; ";")) (expression_statement "FUN_001184c0((int)cVar3);" (call_expression "FUN_001184c0((int)cVar3)" (identifier "FUN_001184c0") (argument_list "((int)cVar3)" (( "(") (cast_expression "(int)cVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "cVar3")) () ")"))) (; ";")) (expression_statement "lVar2 = DAT_0019d4f8;" (assignment_expression "lVar2 = DAT_0019d4f8" (identifier "lVar2") (= "=") (identifier "DAT_0019d4f8")) (; ";")) (if_statement "if (local_20[0] == (byte *)0x0) goto LAB_0013324f;" (if "if") (parenthesized_expression "(local_20[0] == (byte *)0x0)" (( "(") (binary_expression "local_20[0] == (byte *)0x0" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0013324f;" (goto "goto") (statement_identifier "LAB_0013324f") (; ";"))) (expression_statement "bVar1 = *local_20[0];" (assignment_expression "bVar1 = *local_20[0]" (identifier "bVar1") (= "=") (pointer_expression "*local_20[0]" (* "*") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "pbVar7 = local_20[0];" (assignment_expression "pbVar7 = local_20[0]" (identifier "pbVar7") (= "=") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) (; ";")) (while_statement "while (bVar11 = bVar1 == 0, !bVar11) {\n    *pbVar7 = _sch_tolower[bVar1];\n    bVar1 = pbVar7[1];\n    pbVar7 = pbVar7 + 1;\n  }" (while "while") (parenthesized_expression "(bVar11 = bVar1 == 0, !bVar11)" (( "(") (comma_expression "bVar11 = bVar1 == 0, !bVar11" (assignment_expression "bVar11 = bVar1 == 0" (identifier "bVar11") (= "=") (binary_expression "bVar1 == 0" (identifier "bVar1") (== "==") (number_literal "0"))) (, ",") (unary_expression "!bVar11" (! "!") (identifier "bVar11"))) () ")")) (compound_statement "{\n    *pbVar7 = _sch_tolower[bVar1];\n    bVar1 = pbVar7[1];\n    pbVar7 = pbVar7 + 1;\n  }" ({ "{") (expression_statement "*pbVar7 = _sch_tolower[bVar1];" (assignment_expression "*pbVar7 = _sch_tolower[bVar1]" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (= "=") (subscript_expression "_sch_tolower[bVar1]" (identifier "_sch_tolower") ([ "[") (identifier "bVar1") (] "]"))) (; ";")) (expression_statement "bVar1 = pbVar7[1];" (assignment_expression "bVar1 = pbVar7[1]" (identifier "bVar1") (= "=") (subscript_expression "pbVar7[1]" (identifier "pbVar7") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" (identifier "bVar9") (= "=") (false "false")) (; ";")) (expression_statement "lVar5 = 5;" (assignment_expression "lVar5 = 5" (identifier "lVar5") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar7 = local_20[0];" (assignment_expression "pbVar7 = local_20[0]" (identifier "pbVar7") (= "=") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "pbVar8 = &DAT_00144196;" (assignment_expression "pbVar8 = &DAT_00144196" (identifier "pbVar8") (= "=") (pointer_expression "&DAT_00144196" (& "&") (identifier "DAT_00144196"))) (; ";")) (do_statement "do {\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n    pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n  } while (bVar11);" (do "do") (compound_statement "{\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n    pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n  }" ({ "{") (if_statement "if (lVar5 == 0) break;" (if "if") (parenthesized_expression "(lVar5 == 0)" (( "(") (binary_expression "lVar5 == 0" (identifier "lVar5") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" (identifier "lVar5") (= "=") (binary_expression "lVar5 + -1" (identifier "lVar5") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar9 = *pbVar7 < *pbVar8;" (assignment_expression "bVar9 = *pbVar7 < *pbVar8" (identifier "bVar9") (= "=") (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "bVar11 = *pbVar7 == *pbVar8;" (assignment_expression "bVar11 = *pbVar7 == *pbVar8" (identifier "bVar11") (= "=") (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + (ulong)bVar12 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar12 * -2" (identifier "pbVar7") (+ "+") (binary_expression "(ulong)bVar12 * -2" (cast_expression "(ulong)bVar12" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar12")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (ulong)bVar12 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar12 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(ulong)bVar12 * -2" (cast_expression "(ulong)bVar12" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar12")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (; ";")) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" (identifier "bVar10") (= "=") (false "false")) (; ";")) (expression_statement "bVar11 = (!bVar9 && !bVar11) == bVar9;" (assignment_expression "bVar11 = (!bVar9 && !bVar11) == bVar9" (identifier "bVar11") (= "=") (binary_expression "(!bVar9 && !bVar11) == bVar9" (parenthesized_expression "(!bVar9 && !bVar11)" (( "(") (binary_expression "!bVar9 && !bVar11" (unary_expression "!bVar9" (! "!") (identifier "bVar9")) (&& "&&") (unary_expression "!bVar11" (! "!") (identifier "bVar11"))) () ")")) (== "==") (identifier "bVar9"))) (; ";")) (if_statement "if (bVar11) {\n    if (DAT_0019d508 == 0) {\n      DAT_0019d508 = xmalloc(800);\n    }\n    lVar5 = (long)DAT_0019d500;\n    pcVar6 = ".machine stack overflow";\n    if (DAT_0019d500 < 100) {\n      DAT_0019d500 = DAT_0019d500 + 1;\n      *(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;\n      lVar5 = DAT_0019d4f8;\n    }\n    else {\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }\n  }\n  else {\n    lVar5 = 4;\n    pbVar7 = local_20[0];\n    pbVar8 = &DAT_001441b3;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    } while (bVar11);\n    if ((!bVar10 && !bVar11) == bVar10) {\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }\n    else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (compound_statement "{\n    if (DAT_0019d508 == 0) {\n      DAT_0019d508 = xmalloc(800);\n    }\n    lVar5 = (long)DAT_0019d500;\n    pcVar6 = ".machine stack overflow";\n    if (DAT_0019d500 < 100) {\n      DAT_0019d500 = DAT_0019d500 + 1;\n      *(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;\n      lVar5 = DAT_0019d4f8;\n    }\n    else {\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }\n  }" ({ "{") (if_statement "if (DAT_0019d508 == 0) {\n      DAT_0019d508 = xmalloc(800);\n    }" (if "if") (parenthesized_expression "(DAT_0019d508 == 0)" (( "(") (binary_expression "DAT_0019d508 == 0" (identifier "DAT_0019d508") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      DAT_0019d508 = xmalloc(800);\n    }" ({ "{") (expression_statement "DAT_0019d508 = xmalloc(800);" (assignment_expression "DAT_0019d508 = xmalloc(800)" (identifier "DAT_0019d508") (= "=") (call_expression "xmalloc(800)" (identifier "xmalloc") (argument_list "(800)" (( "(") (number_literal "800") () ")")))) (; ";")) (} "}"))) (expression_statement "lVar5 = (long)DAT_0019d500;" (assignment_expression "lVar5 = (long)DAT_0019d500" (identifier "lVar5") (= "=") (cast_expression "(long)DAT_0019d500" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "DAT_0019d500"))) (; ";")) (expression_statement "pcVar6 = ".machine stack overflow";" (assignment_expression "pcVar6 = ".machine stack overflow"" (identifier "pcVar6") (= "=") (string_literal "".machine stack overflow"" (" """) (string_content ".machine stack overflow") (" """))) (; ";")) (if_statement "if (DAT_0019d500 < 100) {\n      DAT_0019d500 = DAT_0019d500 + 1;\n      *(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;\n      lVar5 = DAT_0019d4f8;\n    }\n    else {\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }" (if "if") (parenthesized_expression "(DAT_0019d500 < 100)" (( "(") (binary_expression "DAT_0019d500 < 100" (identifier "DAT_0019d500") (< "<") (number_literal "100")) () ")")) (compound_statement "{\n      DAT_0019d500 = DAT_0019d500 + 1;\n      *(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;\n      lVar5 = DAT_0019d4f8;\n    }" ({ "{") (expression_statement "DAT_0019d500 = DAT_0019d500 + 1;" (assignment_expression "DAT_0019d500 = DAT_0019d500 + 1" (identifier "DAT_0019d500") (= "=") (binary_expression "DAT_0019d500 + 1" (identifier "DAT_0019d500") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;" (assignment_expression "*(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8" (pointer_expression "*(long *)(DAT_0019d508 + lVar5 * 8)" (* "*") (cast_expression "(long *)(DAT_0019d508 + lVar5 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0019d508 + lVar5 * 8)" (( "(") (binary_expression "DAT_0019d508 + lVar5 * 8" (identifier "DAT_0019d508") (+ "+") (binary_expression "lVar5 * 8" (identifier "lVar5") (* "*") (number_literal "8"))) () ")")))) (= "=") (identifier "DAT_0019d4f8")) (; ";")) (expression_statement "lVar5 = DAT_0019d4f8;" (assignment_expression "lVar5 = DAT_0019d4f8" (identifier "lVar5") (= "=") (identifier "DAT_0019d4f8")) (; ";")) (} "}")) (else_clause "else {\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }" (else "else") (compound_statement "{\nLAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);\n      FUN_0011f6d0(uVar4);\n      lVar5 = DAT_0019d4f8;\n    }" ({ "{") (labeled_statement "LAB_001332af:\n      uVar4 = dcgettext(0,pcVar6,5);" (statement_identifier "LAB_001332af") (: ":") (expression_statement "uVar4 = dcgettext(0,pcVar6,5);" (assignment_expression "uVar4 = dcgettext(0,pcVar6,5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,pcVar6,5)" (identifier "dcgettext") (argument_list "(0,pcVar6,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar6") (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "FUN_0011f6d0(uVar4);" (call_expression "FUN_0011f6d0(uVar4)" (identifier "FUN_0011f6d0") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "lVar5 = DAT_0019d4f8;" (assignment_expression "lVar5 = DAT_0019d4f8" (identifier "lVar5") (= "=") (identifier "DAT_0019d4f8")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    lVar5 = 4;\n    pbVar7 = local_20[0];\n    pbVar8 = &DAT_001441b3;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    } while (bVar11);\n    if ((!bVar10 && !bVar11) == bVar10) {\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }\n    else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    lVar5 = 4;\n    pbVar7 = local_20[0];\n    pbVar8 = &DAT_001441b3;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    } while (bVar11);\n    if ((!bVar10 && !bVar11) == bVar10) {\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }\n    else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }\n  }" ({ "{") (expression_statement "lVar5 = 4;" (assignment_expression "lVar5 = 4" (identifier "lVar5") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar7 = local_20[0];" (assignment_expression "pbVar7 = local_20[0]" (identifier "pbVar7") (= "=") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "pbVar8 = &DAT_001441b3;" (assignment_expression "pbVar8 = &DAT_001441b3" (identifier "pbVar8") (= "=") (pointer_expression "&DAT_001441b3" (& "&") (identifier "DAT_001441b3"))) (; ";")) (do_statement "do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    } while (bVar11);" (do "do") (compound_statement "{\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;\n      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;\n    }" ({ "{") (if_statement "if (lVar5 == 0) break;" (if "if") (parenthesized_expression "(lVar5 == 0)" (( "(") (binary_expression "lVar5 == 0" (identifier "lVar5") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" (identifier "lVar5") (= "=") (binary_expression "lVar5 + -1" (identifier "lVar5") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" (identifier "bVar10") (= "=") (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "bVar11 = *pbVar7 == *pbVar8;" (assignment_expression "bVar11 = *pbVar7 == *pbVar8" (identifier "bVar11") (= "=") (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + (ulong)bVar12 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar12 * -2" (identifier "pbVar7") (+ "+") (binary_expression "(ulong)bVar12 * -2" (cast_expression "(ulong)bVar12" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar12")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (ulong)bVar12 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar12 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(ulong)bVar12 * -2" (cast_expression "(ulong)bVar12" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar12")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (; ";")) (if_statement "if ((!bVar10 && !bVar11) == bVar10) {\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }\n    else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }" (if "if") (parenthesized_expression "((!bVar10 && !bVar11) == bVar10)" (( "(") (binary_expression "(!bVar10 && !bVar11) == bVar10" (parenthesized_expression "(!bVar10 && !bVar11)" (( "(") (binary_expression "!bVar10 && !bVar11" (unary_expression "!bVar10" (! "!") (identifier "bVar10")) (&& "&&") (unary_expression "!bVar11" (! "!") (identifier "bVar11"))) () ")")) (== "==") (identifier "bVar10")) () ")")) (compound_statement "{\n      if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }\n      DAT_0019d500 = DAT_0019d500 + -1;\n      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);\n    }" ({ "{") (if_statement "if (DAT_0019d500 < 1) {\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }" (if "if") (parenthesized_expression "(DAT_0019d500 < 1)" (( "(") (binary_expression "DAT_0019d500 < 1" (identifier "DAT_0019d500") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n        pcVar6 = ".machine stack underflow";\n        goto LAB_001332af;\n      }" ({ "{") (expression_statement "pcVar6 = ".machine stack underflow";" (assignment_expression "pcVar6 = ".machine stack underflow"" (identifier "pcVar6") (= "=") (string_literal "".machine stack underflow"" (" """) (string_content ".machine stack underflow") (" """))) (; ";")) (goto_statement "goto LAB_001332af;" (goto "goto") (statement_identifier "LAB_001332af") (; ";")) (} "}"))) (expression_statement "DAT_0019d500 = DAT_0019d500 + -1;" (assignment_expression "DAT_0019d500 = DAT_0019d500 + -1" (identifier "DAT_0019d500") (= "=") (binary_expression "DAT_0019d500 + -1" (identifier "DAT_0019d500") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);" (assignment_expression "lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8)" (identifier "lVar5") (= "=") (pointer_expression "*(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8)" (* "*") (cast_expression "(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0019d508 + (long)DAT_0019d500 * 8)" (( "(") (binary_expression "DAT_0019d508 + (long)DAT_0019d500 * 8" (identifier "DAT_0019d508") (+ "+") (binary_expression "(long)DAT_0019d500 * 8" (cast_expression "(long)DAT_0019d500" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "DAT_0019d500")) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }" (else "else") (compound_statement "{\n      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);\n      pbVar7 = local_20[0];\n      if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }\n    }" ({ "{") (expression_statement "lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);" (assignment_expression "lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0)" (identifier "lVar5") (= "=") (call_expression "ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0)" (identifier "ppc_parse_cpu") (argument_list "(DAT_0019d4f8,&DAT_0019d4f0)" (( "(") (identifier "DAT_0019d4f8") (, ",") (pointer_expression "&DAT_0019d4f0" (& "&") (identifier "DAT_0019d4f0")) () ")")))) (; ";")) (expression_statement "pbVar7 = local_20[0];" (assignment_expression "pbVar7 = local_20[0]" (identifier "pbVar7") (= "=") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if (lVar5 == 0) {\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }" (if "if") (parenthesized_expression "(lVar5 == 0)" (( "(") (binary_expression "lVar5 == 0" (identifier "lVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar4 = dcgettext(0,"invalid machine `%s\'",5);\n        FUN_0011f6d0(uVar4,pbVar7);\n        lVar5 = DAT_0019d4f8;\n      }" ({ "{") (expression_statement "uVar4 = dcgettext(0,"invalid machine `%s\'",5);" (assignment_expression "uVar4 = dcgettext(0,"invalid machine `%s\'",5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,"invalid machine `%s\'",5)" (identifier "dcgettext") (argument_list "(0,"invalid machine `%s\'",5)" (( "(") (number_literal "0") (, ",") (string_literal ""invalid machine `%s\'"" (" """) (string_content "invalid machine `%s") (escape_sequence "\'") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0011f6d0(uVar4,pbVar7);" (call_expression "FUN_0011f6d0(uVar4,pbVar7)" (identifier "FUN_0011f6d0") (argument_list "(uVar4,pbVar7)" (( "(") (identifier "uVar4") (, ",") (identifier "pbVar7") () ")"))) (; ";")) (expression_statement "lVar5 = DAT_0019d4f8;" (assignment_expression "lVar5 = DAT_0019d4f8" (identifier "lVar5") (= "=") (identifier "DAT_0019d4f8")) (; ";")) (} "}"))) (} "}")))) (} "}")))) (expression_statement "DAT_0019d4f8 = lVar5;" (assignment_expression "DAT_0019d4f8 = lVar5" (identifier "DAT_0019d4f8") (= "=") (identifier "lVar5")) (; ";")) (if_statement "if (lVar2 != DAT_0019d4f8) {\n    FUN_00132b00();\n  }" (if "if") (parenthesized_expression "(lVar2 != DAT_0019d4f8)" (( "(") (binary_expression "lVar2 != DAT_0019d4f8" (identifier "lVar2") (!= "!=") (identifier "DAT_0019d4f8")) () ")")) (compound_statement "{\n    FUN_00132b00();\n  }" ({ "{") (expression_statement "FUN_00132b00();" (call_expression "FUN_00132b00()" (identifier "FUN_00132b00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_0013324f:\n  FUN_00121a20();" (statement_identifier "LAB_0013324f") (: ":") (expression_statement "FUN_00121a20();" (call_expression "FUN_00121a20()" (identifier "FUN_00121a20") (argument_list "()" (( "(") () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(int ignore)

{
  type_1 var_6;
  type_2 var_19;
  char c;
  type_2 var_18;
  char *format;
  long var_8;
  char *pcVar5;
  type_1 *var_7;
  type_1 *var_9;
  bool var_10;
  bool var_16;
  bool bVar10;
  type_1 bVar11;
  char *var_5;
  
  bVar11 = 0;
  if (*var_1 == ' ') {
    var_1 = var_1 + 1;
  }
  c = var_2(&var_5);
  var_5 = (char *)var_3(var_5);
  var_4(c);
  var_19 = var_20;
  if (var_5 == (char *)0x0) goto LAB_0013324f;
  var_6 = *var_5;
  var_7 = (type_1 *)var_5;
  while (bVar10 = var_6 == 0, !bVar10) {
    *var_7 = _sch_tolower[var_6];
    var_6 = var_7[1];
    var_7 = var_7 + 1;
  }
  var_10 = false;
  var_8 = 5;
  var_7 = (type_1 *)var_5;
  var_9 = &DAT_00144196;
  do {
    if (var_8 == 0) break;
    var_8 = var_8 + -1;
    var_10 = *var_7 < *var_9;
    bVar10 = *var_7 == *var_9;
    var_7 = var_7 + (type_3)bVar11 * -2 + 1;
    var_9 = var_9 + (type_3)bVar11 * -2 + 1;
  } while (bVar10);
  var_16 = false;
  bVar10 = (!var_10 && !bVar10) == var_10;
  if (bVar10) {
    if (function_1::var_11 == (type_2 *)0x0) {
      ppc_machine::var_11 = (type_2 *)var_12(800);
    }
    var_8 = (long)function_1::var_13;
    pcVar5 = ".machine stack overflow";
    if (function_1::var_13 < 100) {
      ppc_machine::var_13 = function_1::var_13 + 1;
      ppc_machine::var_11[var_8] = var_20;
      var_18 = var_20;
    }
    else {
LAB_001332af:
      pcVar5 = (char *)var_14(0,pcVar5,5);
      var_15(pcVar5);
      var_18 = var_20;
    }
  }
  else {
    var_8 = 4;
    var_7 = (type_1 *)var_5;
    var_9 = &DAT_001441b3;
    do {
      if (var_8 == 0) break;
      var_8 = var_8 + -1;
      var_16 = *var_7 < *var_9;
      bVar10 = *var_7 == *var_9;
      var_7 = var_7 + (type_3)bVar11 * -2 + 1;
      var_9 = var_9 + (type_3)bVar11 * -2 + 1;
    } while (bVar10);
    if ((!var_16 && !bVar10) == var_16) {
      if (function_1::var_13 < 1) {
        pcVar5 = ".machine stack underflow";
        goto LAB_001332af;
      }
      ppc_machine::var_13 = function_1::var_13 + -1;
      var_18 = function_1::var_11[function_1::var_13];
    }
    else {
      var_18 = var_17(var_20,&sticky);
      pcVar5 = var_5;
      if (var_18 == 0) {
        format = (char *)var_14(0,"invalid machine `%s\'",5);
        var_15(format,pcVar5);
        var_18 = var_20;
      }
    }
  }
  var_20 = var_18;
  if (var_19 != var_20) {
    var_21();
  }
LAB_0013324f:
  var_22();
  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: (sized_type_specifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (unary_expression argument: (identifier)))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (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: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) (return_statement))))

void MASKED(void)

{
  byte bVar1;
  long lVar2;
  char cVar3;
  undefined8 uVar4;
  long lVar5;
  char *pcVar6;
  byte *pbVar7;
  byte *pbVar8;
  bool bVar9;
  bool bVar10;
  bool bVar11;
  byte bVar12;
  byte *local_20 [2];
  
  bVar12 = 0;
  if (*DAT_0019d9a0 == ' ') {
    DAT_0019d9a0 = DAT_0019d9a0 + 1;
  }
  cVar3 = FUN_00116b30(local_20);
  local_20[0] = (byte *)xstrdup(local_20[0]);
  FUN_001184c0((int)cVar3);
  lVar2 = DAT_0019d4f8;
  if (local_20[0] == (byte *)0x0) goto LAB_0013324f;
  bVar1 = *local_20[0];
  pbVar7 = local_20[0];
  while (bVar11 = bVar1 == 0, !bVar11) {
    *pbVar7 = _sch_tolower[bVar1];
    bVar1 = pbVar7[1];
    pbVar7 = pbVar7 + 1;
  }
  bVar9 = false;
  lVar5 = 5;
  pbVar7 = local_20[0];
  pbVar8 = &DAT_00144196;
  do {
    if (lVar5 == 0) break;
    lVar5 = lVar5 + -1;
    bVar9 = *pbVar7 < *pbVar8;
    bVar11 = *pbVar7 == *pbVar8;
    pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;
    pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;
  } while (bVar11);
  bVar10 = false;
  bVar11 = (!bVar9 && !bVar11) == bVar9;
  if (bVar11) {
    if (DAT_0019d508 == 0) {
      DAT_0019d508 = xmalloc(800);
    }
    lVar5 = (long)DAT_0019d500;
    pcVar6 = ".machine stack overflow";
    if (DAT_0019d500 < 100) {
      DAT_0019d500 = DAT_0019d500 + 1;
      *(long *)(DAT_0019d508 + lVar5 * 8) = DAT_0019d4f8;
      lVar5 = DAT_0019d4f8;
    }
    else {
LAB_001332af:
      uVar4 = dcgettext(0,pcVar6,5);
      FUN_0011f6d0(uVar4);
      lVar5 = DAT_0019d4f8;
    }
  }
  else {
    lVar5 = 4;
    pbVar7 = local_20[0];
    pbVar8 = &DAT_001441b3;
    do {
      if (lVar5 == 0) break;
      lVar5 = lVar5 + -1;
      bVar10 = *pbVar7 < *pbVar8;
      bVar11 = *pbVar7 == *pbVar8;
      pbVar7 = pbVar7 + (ulong)bVar12 * -2 + 1;
      pbVar8 = pbVar8 + (ulong)bVar12 * -2 + 1;
    } while (bVar11);
    if ((!bVar10 && !bVar11) == bVar10) {
      if (DAT_0019d500 < 1) {
        pcVar6 = ".machine stack underflow";
        goto LAB_001332af;
      }
      DAT_0019d500 = DAT_0019d500 + -1;
      lVar5 = *(long *)(DAT_0019d508 + (long)DAT_0019d500 * 8);
    }
    else {
      lVar5 = ppc_parse_cpu(DAT_0019d4f8,&DAT_0019d4f0);
      pbVar7 = local_20[0];
      if (lVar5 == 0) {
        uVar4 = dcgettext(0,"invalid machine `%s\'",5);
        FUN_0011f6d0(uVar4,pbVar7);
        lVar5 = DAT_0019d4f8;
      }
    }
  }
  DAT_0019d4f8 = lVar5;
  if (lVar2 != DAT_0019d4f8) {
    FUN_00132b00();
  }
LAB_0013324f:
  FUN_00121a20();
  return;
}

