
char * sparc_cons(expressionS *exp,int size)

{
  char cVar1;
  int iVar2;
  int iVar3;
  long lVar4;
  char *pcVar5;
  char *pcVar6;
  byte *pbVar7;
  char *pcVar8;
  byte *pbVar9;
  byte *pbVar10;
  bool bVar11;
  bool bVar12;
  bool bVar13;
  
  cVar1 = *input_line_pointer;
  if (cVar1 == ' ') {
    cVar1 = input_line_pointer[1];
    input_line_pointer = input_line_pointer + 1;
  }
  pcVar5 = input_line_pointer;
  input_line_pointer = pcVar5;
  if ((cVar1 != '%') || (input_line_pointer[1] != 'r')) goto LAB_001370ae;
  bVar11 = (byte)input_line_pointer[2] < 0x5f;
  bVar13 = input_line_pointer[2] == 0x5f;
  if (!bVar13) goto LAB_001370ae;
  pbVar9 = (byte *)(input_line_pointer + 3);
  pcVar6 = "disp";
  lVar4 = 4;
  pbVar7 = pbVar9;
  pbVar10 = (byte *)0x143de8;
  do {
    if (lVar4 == 0) break;
    lVar4 = lVar4 + -1;
    bVar11 = *pbVar7 < *pbVar10;
    bVar13 = *pbVar7 == *pbVar10;
    pbVar7 = pbVar7 + 1;
    pbVar10 = pbVar10 + 1;
  } while (bVar13);
  bVar12 = false;
  bVar11 = (!bVar11 && !bVar13) == bVar11;
  if (bVar11) {
    input_line_pointer = input_line_pointer + 7;
  }
  else {
    pcVar6 = "plt";
    lVar4 = 3;
    pbVar7 = pbVar9;
    pbVar10 = &DAT_00145697;
    do {
      if (lVar4 == 0) break;
      lVar4 = lVar4 + -1;
      bVar12 = *pbVar7 < *pbVar10;
      bVar11 = *pbVar7 == *pbVar10;
      pbVar7 = pbVar7 + 1;
      pbVar10 = pbVar10 + 1;
    } while (bVar11);
    bVar13 = false;
    bVar11 = (!bVar12 && !bVar11) == bVar12;
    if (bVar11) {
      pcVar8 = "Illegal operands: %%r_plt in %d-byte data field";
      if ((size - 4U & 0xfffffffb) != 0) {
LAB_0013735b:
        pcVar5 = (char *)dcgettext(0,pcVar8,5);
        as_bad(pcVar5,(ulong)(uint)size);
        goto LAB_001370ae;
      }
      input_line_pointer = input_line_pointer + 6;
    }
    else {
      pcVar6 = "tls_dtpoff";
      lVar4 = 10;
      pbVar7 = (byte *)"tls_dtpoff";
      do {
        if (lVar4 == 0) break;
        lVar4 = lVar4 + -1;
        bVar13 = *pbVar9 < *pbVar7;
        bVar11 = *pbVar9 == *pbVar7;
        pbVar9 = pbVar9 + 1;
        pbVar7 = pbVar7 + 1;
      } while (bVar11);
      if ((!bVar13 && !bVar11) != bVar13) goto LAB_001370ae;
      if ((size - 4U & 0xfffffffb) != 0) {
        pcVar8 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";
        goto LAB_0013735b;
      }
      input_line_pointer = input_line_pointer + 0xd;
    }
  }
  if (size == 2) {
    if ((*input_line_pointer == '1') && (input_line_pointer[1] == '6')) goto LAB_00137240;
  }
  else if (size < 3) {
    if (size == 1) {
      if (*input_line_pointer == '8') {
        cVar1 = input_line_pointer[1];
        input_line_pointer = input_line_pointer + 1;
        goto joined_r0x0013728d;
      }
      input_line_pointer = input_line_pointer + -1;
    }
  }
  else if (size == 4) {
    if ((*input_line_pointer == '3') && (input_line_pointer[1] == '2')) goto LAB_00137240;
  }
  else if ((size == 8) && ((*input_line_pointer == '6' && (input_line_pointer[1] == '4')))) {
LAB_00137240:
    cVar1 = input_line_pointer[2];
    input_line_pointer = input_line_pointer + 2;
joined_r0x0013728d:
    if (cVar1 == '(') {
      pcVar5 = input_line_pointer + 1;
      iVar2 = (int)input_line_pointer[1];
      input_line_pointer = pcVar5;
      if (is_end_of_line[iVar2] == '\0') {
        iVar3 = 0;
        do {
          if (iVar2 == 0x28) {
            iVar3 = iVar3 + 1;
          }
          else if (iVar2 == 0x29) {
            iVar2 = 0x29;
            if (iVar3 == 0) goto LAB_00137374;
            iVar3 = iVar3 + -1;
          }
          pcVar5 = pcVar5 + 1;
          iVar2 = (int)*pcVar5;
        } while (is_end_of_line[iVar2] == '\0');
      }
      if (iVar2 == 0x29) {
LAB_00137374:
        *pcVar5 = '\0';
        expr(0,exp,expr_normal);
        *pcVar5 = (char)iVar2;
        if (input_line_pointer == pcVar5) {
          input_line_pointer = pcVar5 + 1;
          cVar1 = pcVar5[1];
          if (cVar1 == ' ') {
            input_line_pointer = pcVar5 + 2;
            cVar1 = pcVar5[2];
          }
          if (is_end_of_line[(int)cVar1] != '\0') {
            return pcVar6;
          }
          if (cVar1 == 0x2c) {
            return pcVar6;
          }
          pcVar5 = "Illegal operands: garbage after %%r_%s%d()";
          goto LAB_00137309;
        }
      }
      pcVar5 = "Illegal operands: %%r_%s%d requires arguments in ()";
LAB_00137309:
      pcVar5 = (char *)dcgettext(0,pcVar5,5);
      as_bad(pcVar5,pcVar6,(ulong)(uint)(size * 8));
      return pcVar6;
    }
    pcVar8 = (char *)dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);
    as_bad(pcVar8,pcVar6,(ulong)(uint)(size * 8));
    input_line_pointer = pcVar5;
    goto LAB_001370ae;
  }
  pcVar8 = (char *)dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5);
  as_bad(pcVar8,pcVar6,(ulong)(uint)(size * 8),(ulong)(uint)size);
  input_line_pointer = pcVar5;
LAB_001370ae:
  expr(0,exp,expr_normal);
  return (char *)0x0;
}



char * FUN_00137070(undefined8 param_1,int param_2)

{
  char cVar1;
  int iVar2;
  undefined8 uVar3;
  int iVar4;
  long lVar5;
  char *pcVar6;
  char *pcVar7;
  byte *pbVar8;
  char *pcVar9;
  byte *pbVar10;
  byte *pbVar11;
  bool bVar12;
  bool bVar13;
  bool bVar14;
  
  cVar1 = *DAT_00187800;
  if (cVar1 == ' ') {
    cVar1 = DAT_00187800[1];
    DAT_00187800 = DAT_00187800 + 1;
  }
  pcVar6 = DAT_00187800;
  DAT_00187800 = pcVar6;
  if ((cVar1 != '%') || (DAT_00187800[1] != 'r')) goto LAB_001370ae;
  bVar12 = (byte)DAT_00187800[2] < 0x5f;
  bVar14 = DAT_00187800[2] == 0x5f;
  if (!bVar14) goto LAB_001370ae;
  pbVar10 = (byte *)(DAT_00187800 + 3);
  pcVar7 = "disp";
  lVar5 = 4;
  pbVar8 = pbVar10;
  pbVar11 = (byte *)0x143de8;
  do {
    if (lVar5 == 0) break;
    lVar5 = lVar5 + -1;
    bVar12 = *pbVar8 < *pbVar11;
    bVar14 = *pbVar8 == *pbVar11;
    pbVar8 = pbVar8 + 1;
    pbVar11 = pbVar11 + 1;
  } while (bVar14);
  bVar13 = false;
  bVar12 = (!bVar12 && !bVar14) == bVar12;
  if (bVar12) {
    DAT_00187800 = DAT_00187800 + 7;
  }
  else {
    pcVar7 = "plt";
    lVar5 = 3;
    pbVar8 = pbVar10;
    pbVar11 = &DAT_00145697;
    do {
      if (lVar5 == 0) break;
      lVar5 = lVar5 + -1;
      bVar13 = *pbVar8 < *pbVar11;
      bVar12 = *pbVar8 == *pbVar11;
      pbVar8 = pbVar8 + 1;
      pbVar11 = pbVar11 + 1;
    } while (bVar12);
    bVar14 = false;
    bVar12 = (!bVar13 && !bVar12) == bVar13;
    if (bVar12) {
      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";
      if ((param_2 - 4U & 0xfffffffb) != 0) {
LAB_0013735b:
        uVar3 = dcgettext(0,pcVar9,5);
        FUN_0011d670(uVar3,param_2);
        goto LAB_001370ae;
      }
      DAT_00187800 = DAT_00187800 + 6;
    }
    else {
      pcVar7 = "tls_dtpoff";
      lVar5 = 10;
      pbVar8 = (byte *)"tls_dtpoff";
      do {
        if (lVar5 == 0) break;
        lVar5 = lVar5 + -1;
        bVar14 = *pbVar10 < *pbVar8;
        bVar12 = *pbVar10 == *pbVar8;
        pbVar10 = pbVar10 + 1;
        pbVar8 = pbVar8 + 1;
      } while (bVar12);
      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;
      if ((param_2 - 4U & 0xfffffffb) != 0) {
        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";
        goto LAB_0013735b;
      }
      DAT_00187800 = DAT_00187800 + 0xd;
    }
  }
  if (param_2 == 2) {
    if ((*DAT_00187800 == '1') && (DAT_00187800[1] == '6')) goto LAB_00137240;
  }
  else if (param_2 < 3) {
    if (param_2 == 1) {
      if (*DAT_00187800 == '8') {
        cVar1 = DAT_00187800[1];
        DAT_00187800 = DAT_00187800 + 1;
        goto joined_r0x0013728d;
      }
      DAT_00187800 = DAT_00187800 + -1;
    }
  }
  else if (param_2 == 4) {
    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;
  }
  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {
LAB_00137240:
    cVar1 = DAT_00187800[2];
    DAT_00187800 = DAT_00187800 + 2;
joined_r0x0013728d:
    if (cVar1 == '(') {
      pcVar6 = DAT_00187800 + 1;
      iVar2 = (int)DAT_00187800[1];
      DAT_00187800 = pcVar6;
      if ((&DAT_0017d500)[iVar2] == '\0') {
        iVar4 = 0;
        do {
          if (iVar2 == 0x28) {
            iVar4 = iVar4 + 1;
          }
          else if (iVar2 == 0x29) {
            iVar2 = 0x29;
            if (iVar4 == 0) goto LAB_00137374;
            iVar4 = iVar4 + -1;
          }
          pcVar6 = pcVar6 + 1;
          iVar2 = (int)*pcVar6;
        } while ((&DAT_0017d500)[iVar2] == '\0');
      }
      if (iVar2 == 0x29) {
LAB_00137374:
        *pcVar6 = '\0';
        FUN_001155a0(0,param_1,1);
        *pcVar6 = (char)iVar2;
        if (DAT_00187800 == pcVar6) {
          DAT_00187800 = pcVar6 + 1;
          cVar1 = pcVar6[1];
          if (cVar1 == ' ') {
            DAT_00187800 = pcVar6 + 2;
            cVar1 = pcVar6[2];
          }
          if ((&DAT_0017d500)[(int)cVar1] != '\0') {
            return pcVar7;
          }
          if (cVar1 == 0x2c) {
            return pcVar7;
          }
          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";
          goto LAB_00137309;
        }
      }
      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";
LAB_00137309:
      uVar3 = dcgettext(0,pcVar6,5);
      FUN_0011d670(uVar3,pcVar7,param_2 * 8);
      return pcVar7;
    }
    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);
    FUN_0011d670(uVar3,pcVar7,param_2 * 8);
    DAT_00187800 = pcVar6;
    goto LAB_001370ae;
  }
  uVar3 = dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5);
  FUN_0011d670(uVar3,pcVar7,param_2 * 8,param_2);
  DAT_00187800 = pcVar6;
LAB_001370ae:
  FUN_001155a0(0,param_1,1);
  return (char *)0x0;
}


PUSH R15
PUSH R14
PUSH R13
MOV R13D,ESI
PUSH R12
MOV R12,RDI
PUSH RBP
PUSH RBX
SUB RSP,0x8
MOV RBX,qword ptr [0x00187800]
MOVZX EAX,byte ptr [RBX]
CMP AL,0x20
JNZ 0x001370a4
LEA RDX,[RBX + 0x1]
MOV qword ptr [0x00187800],RDX
MOVZX EAX,byte ptr [RBX + 0x1]
MOV RBX,RDX
CMP AL,0x25
JNZ 0x001370ae
CMP byte ptr [RBX + 0x1],0x72
JZ 0x001370d8
MOV EDX,0x1
MOV RSI,R12
XOR EDI,EDI
XOR EBP,EBP
CALL 0x001155a0
ADD RSP,0x8
MOV RAX,RBP
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
CMP byte ptr [RBX + 0x2],0x5f
JNZ 0x001370ae
LEA RDX,[RBX + 0x3]
LEA RBP,[0x143de8]
MOV ECX,0x4
MOV RSI,RDX
MOV RDI,RBP
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x001371b0
LEA RBP,[0x145697]
MOV ECX,0x3
MOV RSI,RDX
MOV RDI,RBP
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x001371e8
LEA EAX,[R13 + -0x4]
MOV EDX,0x5
LEA RSI,[0x1450b0]
AND EAX,0xfffffffb
JNZ 0x0013735b
LEA RAX,[RBX + 0x6]
MOV qword ptr [0x00187800],RAX
CMP R13D,0x2
JZ 0x00137226
JLE 0x001371c0
CMP R13D,0x4
JZ 0x00137330
CMP R13D,0x8
JNZ 0x00137178
MOV RDX,qword ptr [0x00187800]
CMP byte ptr [RDX],0x36
JZ 0x001373e0
NOP dword ptr [RAX]
MOV EDX,0x5
LEA RSI,[0x145150]
XOR EDI,EDI
CALL 0x001081d0
LEA EDX,[R13*0x8]
MOV ECX,R13D
MOV RSI,RBP
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0011d670
MOV qword ptr [0x00187800],RBX
JMP 0x001370ae
LEA RAX,[RBX + 0x7]
MOV qword ptr [0x00187800],RAX
JMP 0x00137148
CMP R13D,0x1
JNZ 0x00137178
MOV RDX,qword ptr [0x00187800]
CMP byte ptr [RDX],0x38
JZ 0x0013727e
SUB RDX,0x1
MOV qword ptr [0x00187800],RDX
JMP 0x00137178
LEA RBP,[0x14569b]
MOV ECX,0xa
MOV RSI,RDX
MOV RDI,RBP
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x001370ae
LEA EAX,[R13 + -0x4]
AND EAX,0xfffffffb
JNZ 0x0013734f
LEA RAX,[RBX + 0xd]
MOV qword ptr [0x00187800],RAX
JMP 0x00137148
MOV RDX,qword ptr [0x00187800]
CMP byte ptr [RDX],0x31
JNZ 0x00137178
CMP byte ptr [RDX + 0x1],0x36
JNZ 0x00137178
LEA RAX,[RDX + 0x2]
MOV qword ptr [0x00187800],RAX
CMP byte ptr [RDX + 0x2],0x28
JZ 0x0013728f
XOR EDI,EDI
MOV EDX,0x5
LEA RSI,[0x145118]
CALL 0x001081d0
LEA EDX,[R13*0x8]
MOV RSI,RBP
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0011d670
JMP 0x001371a3
LEA RAX,[RDX + 0x1]
MOV qword ptr [0x00187800],RAX
CMP byte ptr [RDX + 0x1],0x28
JNZ 0x00137251
LEA RBX,[RAX + 0x1]
LEA R15,[0x17d500]
MOV qword ptr [0x00187800],RBX
MOVSX EAX,byte ptr [RAX + 0x1]
MOVSXD RDX,EAX
MOV R14D,EAX
CMP byte ptr [R15 + RDX*0x1],0x0
JNZ 0x001372f8
XOR ECX,ECX
JMP 0x001372d9
CMP EAX,0x29
JZ 0x001372e8
ADD RBX,0x1
MOVSX EAX,byte ptr [RBX]
MOVSXD RDX,EAX
MOV R14D,EAX
CMP byte ptr [R15 + RDX*0x1],0x0
JNZ 0x001372f8
CMP EAX,0x28
JNZ 0x001372c0
ADD ECX,0x1
JMP 0x001372c5
TEST ECX,ECX
JZ 0x00137374
SUB ECX,0x1
JMP 0x001372c5
CMP EAX,0x29
JZ 0x00137374
MOV EDX,0x5
LEA RSI,[0x145118]
XOR EDI,EDI
CALL 0x001081d0
LEA EDX,[R13*0x8]
MOV RSI,RBP
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0011d670
JMP 0x001370bf
MOV RDX,qword ptr [0x00187800]
CMP byte ptr [RDX],0x33
JNZ 0x00137178
CMP byte ptr [RDX + 0x1],0x32
JNZ 0x00137178
JMP 0x00137240
MOV EDX,0x5
LEA RSI,[0x1450e0]
XOR EDI,EDI
CALL 0x001081d0
MOV ESI,R13D
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0011d670
JMP 0x001370ae
MOV byte ptr [RBX],0x0
XOR EDI,EDI
MOV EDX,0x1
MOV RSI,R12
CALL 0x001155a0
MOV byte ptr [RBX],R14B
CMP qword ptr [0x00187800],RBX
JNZ 0x001372fd
LEA RAX,[RBX + 0x1]
MOV qword ptr [0x00187800],RAX
MOVSX EAX,byte ptr [RBX + 0x1]
CMP AL,0x20
JNZ 0x001373b8
LEA RAX,[RBX + 0x2]
MOV qword ptr [0x00187800],RAX
MOVSX EAX,byte ptr [RBX + 0x2]
MOVSXD RDX,EAX
CMP byte ptr [R15 + RDX*0x1],0x0
JNZ 0x001370bf
CMP EAX,0x2c
JZ 0x001370bf
MOV EDX,0x5
LEA RSI,[0x145190]
JMP 0x00137309
CMP byte ptr [RDX + 0x1],0x34
JNZ 0x00137178
JMP 0x00137240
(translation_unit "char * FUN_00137070(undefined8 param_1,int param_2)\n\n{\n  char cVar1;\n  int iVar2;\n  undefined8 uVar3;\n  int iVar4;\n  long lVar5;\n  char *pcVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  char *pcVar9;\n  byte *pbVar10;\n  byte *pbVar11;\n  bool bVar12;\n  bool bVar13;\n  bool bVar14;\n  \n  cVar1 = *DAT_00187800;\n  if (cVar1 == ' ') {\n    cVar1 = DAT_00187800[1];\n    DAT_00187800 = DAT_00187800 + 1;\n  }\n  pcVar6 = DAT_00187800;\n  DAT_00187800 = pcVar6;\n  if ((cVar1 != '%') || (DAT_00187800[1] != 'r')) goto LAB_001370ae;\n  bVar12 = (byte)DAT_00187800[2] < 0x5f;\n  bVar14 = DAT_00187800[2] == 0x5f;\n  if (!bVar14) goto LAB_001370ae;\n  pbVar10 = (byte *)(DAT_00187800 + 3);\n  pcVar7 = "disp";\n  lVar5 = 4;\n  pbVar8 = pbVar10;\n  pbVar11 = (byte *)0x143de8;\n  do {\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar12 = *pbVar8 < *pbVar11;\n    bVar14 = *pbVar8 == *pbVar11;\n    pbVar8 = pbVar8 + 1;\n    pbVar11 = pbVar11 + 1;\n  } while (bVar14);\n  bVar13 = false;\n  bVar12 = (!bVar12 && !bVar14) == bVar12;\n  if (bVar12) {\n    DAT_00187800 = DAT_00187800 + 7;\n  }\n  else {\n    pcVar7 = "plt";\n    lVar5 = 3;\n    pbVar8 = pbVar10;\n    pbVar11 = &DAT_00145697;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 1;\n    } while (bVar12);\n    bVar14 = false;\n    bVar12 = (!bVar13 && !bVar12) == bVar13;\n    if (bVar12) {\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }\n    else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }\n  }\n  if (param_2 == 2) {\n    if ((*DAT_00187800 == '1') && (DAT_00187800[1] == '6')) goto LAB_00137240;\n  }\n  else if (param_2 < 3) {\n    if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }\n  }\n  else if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }\n  uVar3 = dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5);\n  FUN_0011d670(uVar3,pcVar7,param_2 * 8,param_2);\n  DAT_00187800 = pcVar6;\nLAB_001370ae:\n  FUN_001155a0(0,param_1,1);\n  return (char *)0x0;\n}\n\n" (function_definition "char * FUN_00137070(undefined8 param_1,int param_2)\n\n{\n  char cVar1;\n  int iVar2;\n  undefined8 uVar3;\n  int iVar4;\n  long lVar5;\n  char *pcVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  char *pcVar9;\n  byte *pbVar10;\n  byte *pbVar11;\n  bool bVar12;\n  bool bVar13;\n  bool bVar14;\n  \n  cVar1 = *DAT_00187800;\n  if (cVar1 == ' ') {\n    cVar1 = DAT_00187800[1];\n    DAT_00187800 = DAT_00187800 + 1;\n  }\n  pcVar6 = DAT_00187800;\n  DAT_00187800 = pcVar6;\n  if ((cVar1 != '%') || (DAT_00187800[1] != 'r')) goto LAB_001370ae;\n  bVar12 = (byte)DAT_00187800[2] < 0x5f;\n  bVar14 = DAT_00187800[2] == 0x5f;\n  if (!bVar14) goto LAB_001370ae;\n  pbVar10 = (byte *)(DAT_00187800 + 3);\n  pcVar7 = "disp";\n  lVar5 = 4;\n  pbVar8 = pbVar10;\n  pbVar11 = (byte *)0x143de8;\n  do {\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar12 = *pbVar8 < *pbVar11;\n    bVar14 = *pbVar8 == *pbVar11;\n    pbVar8 = pbVar8 + 1;\n    pbVar11 = pbVar11 + 1;\n  } while (bVar14);\n  bVar13 = false;\n  bVar12 = (!bVar12 && !bVar14) == bVar12;\n  if (bVar12) {\n    DAT_00187800 = DAT_00187800 + 7;\n  }\n  else {\n    pcVar7 = "plt";\n    lVar5 = 3;\n    pbVar8 = pbVar10;\n    pbVar11 = &DAT_00145697;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 1;\n    } while (bVar12);\n    bVar14 = false;\n    bVar12 = (!bVar13 && !bVar12) == bVar13;\n    if (bVar12) {\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }\n    else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }\n  }\n  if (param_2 == 2) {\n    if ((*DAT_00187800 == '1') && (DAT_00187800[1] == '6')) goto LAB_00137240;\n  }\n  else if (param_2 < 3) {\n    if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }\n  }\n  else if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }\n  uVar3 = dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5);\n  FUN_0011d670(uVar3,pcVar7,param_2 * 8,param_2);\n  DAT_00187800 = pcVar6;\nLAB_001370ae:\n  FUN_001155a0(0,param_1,1);\n  return (char *)0x0;\n}" primitive_type (pointer_declarator "* FUN_00137070(undefined8 param_1,int param_2)" * (function_declarator "FUN_00137070(undefined8 param_1,int param_2)" identifier (parameter_list "(undefined8 param_1,int param_2)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) )))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  undefined8 uVar3;\n  int iVar4;\n  long lVar5;\n  char *pcVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  char *pcVar9;\n  byte *pbVar10;\n  byte *pbVar11;\n  bool bVar12;\n  bool bVar13;\n  bool bVar14;\n  \n  cVar1 = *DAT_00187800;\n  if (cVar1 == ' ') {\n    cVar1 = DAT_00187800[1];\n    DAT_00187800 = DAT_00187800 + 1;\n  }\n  pcVar6 = DAT_00187800;\n  DAT_00187800 = pcVar6;\n  if ((cVar1 != '%') || (DAT_00187800[1] != 'r')) goto LAB_001370ae;\n  bVar12 = (byte)DAT_00187800[2] < 0x5f;\n  bVar14 = DAT_00187800[2] == 0x5f;\n  if (!bVar14) goto LAB_001370ae;\n  pbVar10 = (byte *)(DAT_00187800 + 3);\n  pcVar7 = "disp";\n  lVar5 = 4;\n  pbVar8 = pbVar10;\n  pbVar11 = (byte *)0x143de8;\n  do {\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar12 = *pbVar8 < *pbVar11;\n    bVar14 = *pbVar8 == *pbVar11;\n    pbVar8 = pbVar8 + 1;\n    pbVar11 = pbVar11 + 1;\n  } while (bVar14);\n  bVar13 = false;\n  bVar12 = (!bVar12 && !bVar14) == bVar12;\n  if (bVar12) {\n    DAT_00187800 = DAT_00187800 + 7;\n  }\n  else {\n    pcVar7 = "plt";\n    lVar5 = 3;\n    pbVar8 = pbVar10;\n    pbVar11 = &DAT_00145697;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 1;\n    } while (bVar12);\n    bVar14 = false;\n    bVar12 = (!bVar13 && !bVar12) == bVar13;\n    if (bVar12) {\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }\n    else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }\n  }\n  if (param_2 == 2) {\n    if ((*DAT_00187800 == '1') && (DAT_00187800[1] == '6')) goto LAB_00137240;\n  }\n  else if (param_2 < 3) {\n    if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }\n  }\n  else if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }\n  uVar3 = dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5);\n  FUN_0011d670(uVar3,pcVar7,param_2 * 8,param_2);\n  DAT_00187800 = pcVar6;\nLAB_001370ae:\n  FUN_001155a0(0,param_1,1);\n  return (char *)0x0;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "bool bVar12;" primitive_type identifier ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "bool bVar14;" primitive_type identifier ;) (expression_statement "cVar1 = *DAT_00187800;" (assignment_expression "cVar1 = *DAT_00187800" identifier = (pointer_expression "*DAT_00187800" * identifier)) ;) (if_statement "if (cVar1 == ' ') {\n    cVar1 = DAT_00187800[1];\n    DAT_00187800 = DAT_00187800 + 1;\n  }" if (parenthesized_expression "(cVar1 == ' ')" ( (binary_expression "cVar1 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n    cVar1 = DAT_00187800[1];\n    DAT_00187800 = DAT_00187800 + 1;\n  }" { (expression_statement "cVar1 = DAT_00187800[1];" (assignment_expression "cVar1 = DAT_00187800[1]" identifier = (subscript_expression "DAT_00187800[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_00187800 = DAT_00187800 + 1;" (assignment_expression "DAT_00187800 = DAT_00187800 + 1" identifier = (binary_expression "DAT_00187800 + 1" identifier + number_literal)) ;) })) (expression_statement "pcVar6 = DAT_00187800;" (assignment_expression "pcVar6 = DAT_00187800" identifier = identifier) ;) (expression_statement "DAT_00187800 = pcVar6;" (assignment_expression "DAT_00187800 = pcVar6" identifier = identifier) ;) (if_statement "if ((cVar1 != '%') || (DAT_00187800[1] != 'r')) goto LAB_001370ae;" if (parenthesized_expression "((cVar1 != '%') || (DAT_00187800[1] != 'r'))" ( (binary_expression "(cVar1 != '%') || (DAT_00187800[1] != 'r')" (parenthesized_expression "(cVar1 != '%')" ( (binary_expression "cVar1 != '%'" identifier != (char_literal "'%'" ' character ')) )) || (parenthesized_expression "(DAT_00187800[1] != 'r')" ( (binary_expression "DAT_00187800[1] != 'r'" (subscript_expression "DAT_00187800[1]" identifier [ number_literal ]) != (char_literal "'r'" ' character ')) ))) )) (goto_statement "goto LAB_001370ae;" goto statement_identifier ;)) (expression_statement "bVar12 = (byte)DAT_00187800[2] < 0x5f;" (assignment_expression "bVar12 = (byte)DAT_00187800[2] < 0x5f" identifier = (binary_expression "(byte)DAT_00187800[2] < 0x5f" (cast_expression "(byte)DAT_00187800[2]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "DAT_00187800[2]" identifier [ number_literal ])) < number_literal)) ;) (expression_statement "bVar14 = DAT_00187800[2] == 0x5f;" (assignment_expression "bVar14 = DAT_00187800[2] == 0x5f" identifier = (binary_expression "DAT_00187800[2] == 0x5f" (subscript_expression "DAT_00187800[2]" identifier [ number_literal ]) == number_literal)) ;) (if_statement "if (!bVar14) goto LAB_001370ae;" if (parenthesized_expression "(!bVar14)" ( (unary_expression "!bVar14" ! identifier) )) (goto_statement "goto LAB_001370ae;" goto statement_identifier ;)) (expression_statement "pbVar10 = (byte *)(DAT_00187800 + 3);" (assignment_expression "pbVar10 = (byte *)(DAT_00187800 + 3)" identifier = (cast_expression "(byte *)(DAT_00187800 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00187800 + 3)" ( (binary_expression "DAT_00187800 + 3" identifier + number_literal) )))) ;) (expression_statement "pcVar7 = "disp";" (assignment_expression "pcVar7 = "disp"" identifier = (string_literal ""disp"" " string_content ")) ;) (expression_statement "lVar5 = 4;" (assignment_expression "lVar5 = 4" identifier = number_literal) ;) (expression_statement "pbVar8 = pbVar10;" (assignment_expression "pbVar8 = pbVar10" identifier = identifier) ;) (expression_statement "pbVar11 = (byte *)0x143de8;" (assignment_expression "pbVar11 = (byte *)0x143de8" identifier = (cast_expression "(byte *)0x143de8" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar12 = *pbVar8 < *pbVar11;\n    bVar14 = *pbVar8 == *pbVar11;\n    pbVar8 = pbVar8 + 1;\n    pbVar11 = pbVar11 + 1;\n  } while (bVar14);" do (compound_statement "{\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar12 = *pbVar8 < *pbVar11;\n    bVar14 = *pbVar8 == *pbVar11;\n    pbVar8 = pbVar8 + 1;\n    pbVar11 = pbVar11 + 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 "bVar12 = *pbVar8 < *pbVar11;" (assignment_expression "bVar12 = *pbVar8 < *pbVar11" identifier = (binary_expression "*pbVar8 < *pbVar11" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar11" * identifier))) ;) (expression_statement "bVar14 = *pbVar8 == *pbVar11;" (assignment_expression "bVar14 = *pbVar8 == *pbVar11" identifier = (binary_expression "*pbVar8 == *pbVar11" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar11" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "pbVar11 = pbVar11 + 1;" (assignment_expression "pbVar11 = pbVar11 + 1" identifier = (binary_expression "pbVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar14)" ( identifier )) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar12 = (!bVar12 && !bVar14) == bVar12;" (assignment_expression "bVar12 = (!bVar12 && !bVar14) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar14) == bVar12" (parenthesized_expression "(!bVar12 && !bVar14)" ( (binary_expression "!bVar12 && !bVar14" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar14" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar12) {\n    DAT_00187800 = DAT_00187800 + 7;\n  }\n  else {\n    pcVar7 = "plt";\n    lVar5 = 3;\n    pbVar8 = pbVar10;\n    pbVar11 = &DAT_00145697;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 1;\n    } while (bVar12);\n    bVar14 = false;\n    bVar12 = (!bVar13 && !bVar12) == bVar13;\n    if (bVar12) {\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }\n    else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }\n  }" if (parenthesized_expression "(bVar12)" ( identifier )) (compound_statement "{\n    DAT_00187800 = DAT_00187800 + 7;\n  }" { (expression_statement "DAT_00187800 = DAT_00187800 + 7;" (assignment_expression "DAT_00187800 = DAT_00187800 + 7" identifier = (binary_expression "DAT_00187800 + 7" identifier + number_literal)) ;) }) (else_clause "else {\n    pcVar7 = "plt";\n    lVar5 = 3;\n    pbVar8 = pbVar10;\n    pbVar11 = &DAT_00145697;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 1;\n    } while (bVar12);\n    bVar14 = false;\n    bVar12 = (!bVar13 && !bVar12) == bVar13;\n    if (bVar12) {\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }\n    else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }\n  }" else (compound_statement "{\n    pcVar7 = "plt";\n    lVar5 = 3;\n    pbVar8 = pbVar10;\n    pbVar11 = &DAT_00145697;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 1;\n    } while (bVar12);\n    bVar14 = false;\n    bVar12 = (!bVar13 && !bVar12) == bVar13;\n    if (bVar12) {\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }\n    else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }\n  }" { (expression_statement "pcVar7 = "plt";" (assignment_expression "pcVar7 = "plt"" identifier = (string_literal ""plt"" " string_content ")) ;) (expression_statement "lVar5 = 3;" (assignment_expression "lVar5 = 3" identifier = number_literal) ;) (expression_statement "pbVar8 = pbVar10;" (assignment_expression "pbVar8 = pbVar10" identifier = identifier) ;) (expression_statement "pbVar11 = &DAT_00145697;" (assignment_expression "pbVar11 = &DAT_00145697" identifier = (pointer_expression "&DAT_00145697" & identifier)) ;) (do_statement "do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 1;\n    } while (bVar12);" do (compound_statement "{\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 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 "bVar13 = *pbVar8 < *pbVar11;" (assignment_expression "bVar13 = *pbVar8 < *pbVar11" identifier = (binary_expression "*pbVar8 < *pbVar11" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar11" * identifier))) ;) (expression_statement "bVar12 = *pbVar8 == *pbVar11;" (assignment_expression "bVar12 = *pbVar8 == *pbVar11" identifier = (binary_expression "*pbVar8 == *pbVar11" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar11" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "pbVar11 = pbVar11 + 1;" (assignment_expression "pbVar11 = pbVar11 + 1" identifier = (binary_expression "pbVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar12)" ( identifier )) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar12 = (!bVar13 && !bVar12) == bVar13;" (assignment_expression "bVar12 = (!bVar13 && !bVar12) == bVar13" identifier = (binary_expression "(!bVar13 && !bVar12) == bVar13" (parenthesized_expression "(!bVar13 && !bVar12)" ( (binary_expression "!bVar13 && !bVar12" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar12" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar12) {\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }\n    else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }" if (parenthesized_expression "(bVar12)" ( identifier )) (compound_statement "{\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }" { (expression_statement "pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";" (assignment_expression "pcVar9 = "Illegal operands: %%r_plt in %d-byte data field"" identifier = (string_literal ""Illegal operands: %%r_plt in %d-byte data field"" " string_content ")) ;) (if_statement "if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }" if (parenthesized_expression "((param_2 - 4U & 0xfffffffb) != 0)" ( (binary_expression "(param_2 - 4U & 0xfffffffb) != 0" (parenthesized_expression "(param_2 - 4U & 0xfffffffb)" ( (binary_expression "param_2 - 4U & 0xfffffffb" (binary_expression "param_2 - 4U" identifier - number_literal) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }" { (labeled_statement "LAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);" statement_identifier : (expression_statement "uVar3 = dcgettext(0,pcVar9,5);" (assignment_expression "uVar3 = dcgettext(0,pcVar9,5)" identifier = (call_expression "dcgettext(0,pcVar9,5)" identifier (argument_list "(0,pcVar9,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "FUN_0011d670(uVar3,param_2);" (call_expression "FUN_0011d670(uVar3,param_2)" identifier (argument_list "(uVar3,param_2)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_001370ae;" goto statement_identifier ;) })) (expression_statement "DAT_00187800 = DAT_00187800 + 6;" (assignment_expression "DAT_00187800 = DAT_00187800 + 6" identifier = (binary_expression "DAT_00187800 + 6" identifier + number_literal)) ;) }) (else_clause "else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }" else (compound_statement "{\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }" { (expression_statement "pcVar7 = "tls_dtpoff";" (assignment_expression "pcVar7 = "tls_dtpoff"" identifier = (string_literal ""tls_dtpoff"" " string_content ")) ;) (expression_statement "lVar5 = 10;" (assignment_expression "lVar5 = 10" identifier = number_literal) ;) (expression_statement "pbVar8 = (byte *)"tls_dtpoff";" (assignment_expression "pbVar8 = (byte *)"tls_dtpoff"" identifier = (cast_expression "(byte *)"tls_dtpoff"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""tls_dtpoff"" " string_content "))) ;) (do_statement "do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);" do (compound_statement "{\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 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 "bVar14 = *pbVar10 < *pbVar8;" (assignment_expression "bVar14 = *pbVar10 < *pbVar8" identifier = (binary_expression "*pbVar10 < *pbVar8" (pointer_expression "*pbVar10" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar12 = *pbVar10 == *pbVar8;" (assignment_expression "bVar12 = *pbVar10 == *pbVar8" identifier = (binary_expression "*pbVar10 == *pbVar8" (pointer_expression "*pbVar10" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar10 = pbVar10 + 1;" (assignment_expression "pbVar10 = pbVar10 + 1" identifier = (binary_expression "pbVar10 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar12)" ( identifier )) ;) (if_statement "if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;" if (parenthesized_expression "((!bVar14 && !bVar12) != bVar14)" ( (binary_expression "(!bVar14 && !bVar12) != bVar14" (parenthesized_expression "(!bVar14 && !bVar12)" ( (binary_expression "!bVar14 && !bVar12" (unary_expression "!bVar14" ! identifier) && (unary_expression "!bVar12" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_001370ae;" goto statement_identifier ;)) (if_statement "if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }" if (parenthesized_expression "((param_2 - 4U & 0xfffffffb) != 0)" ( (binary_expression "(param_2 - 4U & 0xfffffffb) != 0" (parenthesized_expression "(param_2 - 4U & 0xfffffffb)" ( (binary_expression "param_2 - 4U & 0xfffffffb" (binary_expression "param_2 - 4U" identifier - number_literal) & number_literal) )) != number_literal) )) (compound_statement "{\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }" { (expression_statement "pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";" (assignment_expression "pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field"" identifier = (string_literal ""Illegal operands: %%r_tls_dtpoff in %d-byte data field"" " string_content ")) ;) (goto_statement "goto LAB_0013735b;" goto statement_identifier ;) })) (expression_statement "DAT_00187800 = DAT_00187800 + 0xd;" (assignment_expression "DAT_00187800 = DAT_00187800 + 0xd" identifier = (binary_expression "DAT_00187800 + 0xd" identifier + number_literal)) ;) }))) }))) (if_statement "if (param_2 == 2) {\n    if ((*DAT_00187800 == '1') && (DAT_00187800[1] == '6')) goto LAB_00137240;\n  }\n  else if (param_2 < 3) {\n    if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }\n  }\n  else if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" if (parenthesized_expression "(param_2 == 2)" ( (binary_expression "param_2 == 2" identifier == number_literal) )) (compound_statement "{\n    if ((*DAT_00187800 == '1') && (DAT_00187800[1] == '6')) goto LAB_00137240;\n  }" { (if_statement "if ((*DAT_00187800 == '1') && (DAT_00187800[1] == '6')) goto LAB_00137240;" if (parenthesized_expression "((*DAT_00187800 == '1') && (DAT_00187800[1] == '6'))" ( (binary_expression "(*DAT_00187800 == '1') && (DAT_00187800[1] == '6')" (parenthesized_expression "(*DAT_00187800 == '1')" ( (binary_expression "*DAT_00187800 == '1'" (pointer_expression "*DAT_00187800" * identifier) == (char_literal "'1'" ' character ')) )) && (parenthesized_expression "(DAT_00187800[1] == '6')" ( (binary_expression "DAT_00187800[1] == '6'" (subscript_expression "DAT_00187800[1]" identifier [ number_literal ]) == (char_literal "'6'" ' character ')) ))) )) (goto_statement "goto LAB_00137240;" goto statement_identifier ;)) }) (else_clause "else if (param_2 < 3) {\n    if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }\n  }\n  else if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" else (if_statement "if (param_2 < 3) {\n    if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }\n  }\n  else if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" if (parenthesized_expression "(param_2 < 3)" ( (binary_expression "param_2 < 3" identifier < number_literal) )) (compound_statement "{\n    if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }\n  }" { (if_statement "if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }" if (parenthesized_expression "(param_2 == 1)" ( (binary_expression "param_2 == 1" identifier == number_literal) )) (compound_statement "{\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }" { (if_statement "if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }" if (parenthesized_expression "(*DAT_00187800 == '8')" ( (binary_expression "*DAT_00187800 == '8'" (pointer_expression "*DAT_00187800" * identifier) == (char_literal "'8'" ' character ')) )) (compound_statement "{\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }" { (expression_statement "cVar1 = DAT_00187800[1];" (assignment_expression "cVar1 = DAT_00187800[1]" identifier = (subscript_expression "DAT_00187800[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_00187800 = DAT_00187800 + 1;" (assignment_expression "DAT_00187800 = DAT_00187800 + 1" identifier = (binary_expression "DAT_00187800 + 1" identifier + number_literal)) ;) (goto_statement "goto joined_r0x0013728d;" goto statement_identifier ;) })) (expression_statement "DAT_00187800 = DAT_00187800 + -1;" (assignment_expression "DAT_00187800 = DAT_00187800 + -1" identifier = (binary_expression "DAT_00187800 + -1" identifier + number_literal)) ;) })) }) (else_clause "else if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" else (if_statement "if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" if (parenthesized_expression "(param_2 == 4)" ( (binary_expression "param_2 == 4" identifier == number_literal) )) (compound_statement "{\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }" { (if_statement "if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;" if (parenthesized_expression "((*DAT_00187800 == '3') && (DAT_00187800[1] == '2'))" ( (binary_expression "(*DAT_00187800 == '3') && (DAT_00187800[1] == '2')" (parenthesized_expression "(*DAT_00187800 == '3')" ( (binary_expression "*DAT_00187800 == '3'" (pointer_expression "*DAT_00187800" * identifier) == (char_literal "'3'" ' character ')) )) && (parenthesized_expression "(DAT_00187800[1] == '2')" ( (binary_expression "DAT_00187800[1] == '2'" (subscript_expression "DAT_00187800[1]" identifier [ number_literal ]) == (char_literal "'2'" ' character ')) ))) )) (goto_statement "goto LAB_00137240;" goto statement_identifier ;)) }) (else_clause "else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" else (if_statement "if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" if (parenthesized_expression "((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4'))))" ( (binary_expression "(param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))" (parenthesized_expression "(param_2 == 8)" ( (binary_expression "param_2 == 8" identifier == number_literal) )) && (parenthesized_expression "((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))" ( (parenthesized_expression "(*DAT_00187800 == '6' && (DAT_00187800[1] == '4'))" ( (binary_expression "*DAT_00187800 == '6' && (DAT_00187800[1] == '4')" (binary_expression "*DAT_00187800 == '6'" (pointer_expression "*DAT_00187800" * identifier) == (char_literal "'6'" ' character ')) && (parenthesized_expression "(DAT_00187800[1] == '4')" ( (binary_expression "DAT_00187800[1] == '4'" (subscript_expression "DAT_00187800[1]" identifier [ number_literal ]) == (char_literal "'4'" ' character ')) ))) )) ))) )) (compound_statement "{\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" { (labeled_statement "LAB_00137240:\n    cVar1 = DAT_00187800[2];" statement_identifier : (expression_statement "cVar1 = DAT_00187800[2];" (assignment_expression "cVar1 = DAT_00187800[2]" identifier = (subscript_expression "DAT_00187800[2]" identifier [ number_literal ])) ;)) (expression_statement "DAT_00187800 = DAT_00187800 + 2;" (assignment_expression "DAT_00187800 = DAT_00187800 + 2" identifier = (binary_expression "DAT_00187800 + 2" identifier + number_literal)) ;) (labeled_statement "joined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }" statement_identifier : (if_statement "if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }" if (parenthesized_expression "(cVar1 == '(')" ( (binary_expression "cVar1 == '('" identifier == (char_literal "'('" ' character ')) )) (compound_statement "{\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }" { (expression_statement "pcVar6 = DAT_00187800 + 1;" (assignment_expression "pcVar6 = DAT_00187800 + 1" identifier = (binary_expression "DAT_00187800 + 1" identifier + number_literal)) ;) (expression_statement "iVar2 = (int)DAT_00187800[1];" (assignment_expression "iVar2 = (int)DAT_00187800[1]" identifier = (cast_expression "(int)DAT_00187800[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "DAT_00187800[1]" identifier [ number_literal ]))) ;) (expression_statement "DAT_00187800 = pcVar6;" (assignment_expression "DAT_00187800 = pcVar6" identifier = identifier) ;) (if_statement "if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }" if (parenthesized_expression "((&DAT_0017d500)[iVar2] == '\0')" ( (binary_expression "(&DAT_0017d500)[iVar2] == '\0'" (subscript_expression "(&DAT_0017d500)[iVar2]" (parenthesized_expression "(&DAT_0017d500)" ( (pointer_expression "&DAT_0017d500" & identifier) )) [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');" do (compound_statement "{\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        }" { (if_statement "if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }" if (parenthesized_expression "(iVar2 == 0x28)" ( (binary_expression "iVar2 == 0x28" identifier == number_literal) )) (compound_statement "{\n            iVar4 = iVar4 + 1;\n          }" { (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) }) (else_clause "else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }" else (if_statement "if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }" if (parenthesized_expression "(iVar2 == 0x29)" ( (binary_expression "iVar2 == 0x29" identifier == number_literal) )) (compound_statement "{\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }" { (expression_statement "iVar2 = 0x29;" (assignment_expression "iVar2 = 0x29" identifier = number_literal) ;) (if_statement "if (iVar4 == 0) goto LAB_00137374;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00137374;" goto statement_identifier ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) })))) (expression_statement "pcVar6 = pcVar6 + 1;" (assignment_expression "pcVar6 = pcVar6 + 1" identifier = (binary_expression "pcVar6 + 1" identifier + number_literal)) ;) (expression_statement "iVar2 = (int)*pcVar6;" (assignment_expression "iVar2 = (int)*pcVar6" identifier = (cast_expression "(int)*pcVar6" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcVar6" * identifier))) ;) }) while (parenthesized_expression "((&DAT_0017d500)[iVar2] == '\0')" ( (binary_expression "(&DAT_0017d500)[iVar2] == '\0'" (subscript_expression "(&DAT_0017d500)[iVar2]" (parenthesized_expression "(&DAT_0017d500)" ( (pointer_expression "&DAT_0017d500" & identifier) )) [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) )) ;) })) (if_statement "if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }" if (parenthesized_expression "(iVar2 == 0x29)" ( (binary_expression "iVar2 == 0x29" identifier == number_literal) )) (compound_statement "{\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }" { (labeled_statement "LAB_00137374:\n        *pcVar6 = '\0';" statement_identifier : (expression_statement "*pcVar6 = '\0';" (assignment_expression "*pcVar6 = '\0'" (pointer_expression "*pcVar6" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "FUN_001155a0(0,param_1,1);" (call_expression "FUN_001155a0(0,param_1,1)" identifier (argument_list "(0,param_1,1)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "*pcVar6 = (char)iVar2;" (assignment_expression "*pcVar6 = (char)iVar2" (pointer_expression "*pcVar6" * identifier) = (cast_expression "(char)iVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }" if (parenthesized_expression "(DAT_00187800 == pcVar6)" ( (binary_expression "DAT_00187800 == pcVar6" identifier == identifier) )) (compound_statement "{\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }" { (expression_statement "DAT_00187800 = pcVar6 + 1;" (assignment_expression "DAT_00187800 = pcVar6 + 1" identifier = (binary_expression "pcVar6 + 1" identifier + number_literal)) ;) (expression_statement "cVar1 = pcVar6[1];" (assignment_expression "cVar1 = pcVar6[1]" identifier = (subscript_expression "pcVar6[1]" identifier [ number_literal ])) ;) (if_statement "if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }" if (parenthesized_expression "(cVar1 == ' ')" ( (binary_expression "cVar1 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }" { (expression_statement "DAT_00187800 = pcVar6 + 2;" (assignment_expression "DAT_00187800 = pcVar6 + 2" identifier = (binary_expression "pcVar6 + 2" identifier + number_literal)) ;) (expression_statement "cVar1 = pcVar6[2];" (assignment_expression "cVar1 = pcVar6[2]" identifier = (subscript_expression "pcVar6[2]" identifier [ number_literal ])) ;) })) (if_statement "if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }" if (parenthesized_expression "((&DAT_0017d500)[(int)cVar1] != '\0')" ( (binary_expression "(&DAT_0017d500)[(int)cVar1] != '\0'" (subscript_expression "(&DAT_0017d500)[(int)cVar1]" (parenthesized_expression "(&DAT_0017d500)" ( (pointer_expression "&DAT_0017d500" & identifier) )) [ (cast_expression "(int)cVar1" ( (type_descriptor "int" primitive_type) ) identifier) ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            return pcVar7;\n          }" { (return_statement "return pcVar7;" return identifier ;) })) (if_statement "if (cVar1 == 0x2c) {\n            return pcVar7;\n          }" if (parenthesized_expression "(cVar1 == 0x2c)" ( (binary_expression "cVar1 == 0x2c" identifier == number_literal) )) (compound_statement "{\n            return pcVar7;\n          }" { (return_statement "return pcVar7;" return identifier ;) })) (expression_statement "pcVar6 = "Illegal operands: garbage after %%r_%s%d()";" (assignment_expression "pcVar6 = "Illegal operands: garbage after %%r_%s%d()"" identifier = (string_literal ""Illegal operands: garbage after %%r_%s%d()"" " string_content ")) ;) (goto_statement "goto LAB_00137309;" goto statement_identifier ;) })) })) (expression_statement "pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";" (assignment_expression "pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()"" identifier = (string_literal ""Illegal operands: %%r_%s%d requires arguments in ()"" " string_content ")) ;) (labeled_statement "LAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);" statement_identifier : (expression_statement "uVar3 = dcgettext(0,pcVar6,5);" (assignment_expression "uVar3 = 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_0011d670(uVar3,pcVar7,param_2 * 8);" (call_expression "FUN_0011d670(uVar3,pcVar7,param_2 * 8)" identifier (argument_list "(uVar3,pcVar7,param_2 * 8)" ( identifier , identifier , (binary_expression "param_2 * 8" identifier * number_literal) ))) ;) (return_statement "return pcVar7;" return identifier ;) }))) (expression_statement "uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);" (assignment_expression "uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5)" identifier = (call_expression "dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5)" identifier (argument_list "(0,"Illegal operands: %%r_%s%d requires arguments in ()",5)" ( number_literal , (string_literal ""Illegal operands: %%r_%s%d requires arguments in ()"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0011d670(uVar3,pcVar7,param_2 * 8);" (call_expression "FUN_0011d670(uVar3,pcVar7,param_2 * 8)" identifier (argument_list "(uVar3,pcVar7,param_2 * 8)" ( identifier , identifier , (binary_expression "param_2 * 8" identifier * number_literal) ))) ;) (expression_statement "DAT_00187800 = pcVar6;" (assignment_expression "DAT_00187800 = pcVar6" identifier = identifier) ;) (goto_statement "goto LAB_001370ae;" goto statement_identifier ;) })))))))) (expression_statement "uVar3 = dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5);" (assignment_expression "uVar3 = dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5)" identifier = (call_expression "dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5)" identifier (argument_list "(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5)" ( number_literal , (string_literal ""Illegal operands: Only %%r_%s%d allowed in %d-byte data fields"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0011d670(uVar3,pcVar7,param_2 * 8,param_2);" (call_expression "FUN_0011d670(uVar3,pcVar7,param_2 * 8,param_2)" identifier (argument_list "(uVar3,pcVar7,param_2 * 8,param_2)" ( identifier , identifier , (binary_expression "param_2 * 8" identifier * number_literal) , identifier ))) ;) (expression_statement "DAT_00187800 = pcVar6;" (assignment_expression "DAT_00187800 = pcVar6" identifier = identifier) ;) (labeled_statement "LAB_001370ae:\n  FUN_001155a0(0,param_1,1);" statement_identifier : (expression_statement "FUN_001155a0(0,param_1,1);" (call_expression "FUN_001155a0(0,param_1,1)" identifier (argument_list "(0,param_1,1)" ( number_literal , identifier , number_literal ))) ;)) (return_statement "return (char *)0x0;" return (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit "char * sparc_cons(expressionS *exp,int size)\n\n{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  long lVar4;\n  char *pcVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  char *pcVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  \n  cVar1 = *input_line_pointer;\n  if (cVar1 == ' ') {\n    cVar1 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }\n  pcVar5 = input_line_pointer;\n  input_line_pointer = pcVar5;\n  if ((cVar1 != '%') || (input_line_pointer[1] != 'r')) goto LAB_001370ae;\n  bVar11 = (byte)input_line_pointer[2] < 0x5f;\n  bVar13 = input_line_pointer[2] == 0x5f;\n  if (!bVar13) goto LAB_001370ae;\n  pbVar9 = (byte *)(input_line_pointer + 3);\n  pcVar6 = "disp";\n  lVar4 = 4;\n  pbVar7 = pbVar9;\n  pbVar10 = (byte *)0x143de8;\n  do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar11 = *pbVar7 < *pbVar10;\n    bVar13 = *pbVar7 == *pbVar10;\n    pbVar7 = pbVar7 + 1;\n    pbVar10 = pbVar10 + 1;\n  } while (bVar13);\n  bVar12 = false;\n  bVar11 = (!bVar11 && !bVar13) == bVar11;\n  if (bVar11) {\n    input_line_pointer = input_line_pointer + 7;\n  }\n  else {\n    pcVar6 = "plt";\n    lVar4 = 3;\n    pbVar7 = pbVar9;\n    pbVar10 = &DAT_00145697;\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar12 = *pbVar7 < *pbVar10;\n      bVar11 = *pbVar7 == *pbVar10;\n      pbVar7 = pbVar7 + 1;\n      pbVar10 = pbVar10 + 1;\n    } while (bVar11);\n    bVar13 = false;\n    bVar11 = (!bVar12 && !bVar11) == bVar12;\n    if (bVar11) {\n      pcVar8 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((size - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        pcVar5 = (char *)dcgettext(0,pcVar8,5);\n        as_bad(pcVar5,(ulong)(uint)size);\n        goto LAB_001370ae;\n      }\n      input_line_pointer = input_line_pointer + 6;\n    }\n    else {\n      pcVar6 = "tls_dtpoff";\n      lVar4 = 10;\n      pbVar7 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar4 == 0) break;\n        lVar4 = lVar4 + -1;\n        bVar13 = *pbVar9 < *pbVar7;\n        bVar11 = *pbVar9 == *pbVar7;\n        pbVar9 = pbVar9 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar11);\n      if ((!bVar13 && !bVar11) != bVar13) goto LAB_001370ae;\n      if ((size - 4U & 0xfffffffb) != 0) {\n        pcVar8 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      input_line_pointer = input_line_pointer + 0xd;\n    }\n  }\n  if (size == 2) {\n    if ((*input_line_pointer == '1') && (input_line_pointer[1] == '6')) goto LAB_00137240;\n  }\n  else if (size < 3) {\n    if (size == 1) {\n      if (*input_line_pointer == '8') {\n        cVar1 = input_line_pointer[1];\n        input_line_pointer = input_line_pointer + 1;\n        goto joined_r0x0013728d;\n      }\n      input_line_pointer = input_line_pointer + -1;\n    }\n  }\n  else if (size == 4) {\n    if ((*input_line_pointer == '3') && (input_line_pointer[1] == '2')) goto LAB_00137240;\n  }\n  else if ((size == 8) && ((*input_line_pointer == '6' && (input_line_pointer[1] == '4')))) {\nLAB_00137240:\n    cVar1 = input_line_pointer[2];\n    input_line_pointer = input_line_pointer + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar5 = input_line_pointer + 1;\n      iVar2 = (int)input_line_pointer[1];\n      input_line_pointer = pcVar5;\n      if (is_end_of_line[iVar2] == '\0') {\n        iVar3 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar3 = iVar3 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar3 == 0) goto LAB_00137374;\n            iVar3 = iVar3 + -1;\n          }\n          pcVar5 = pcVar5 + 1;\n          iVar2 = (int)*pcVar5;\n        } while (is_end_of_line[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar5 = '\0';\n        expr(0,exp,expr_normal);\n        *pcVar5 = (char)iVar2;\n        if (input_line_pointer == pcVar5) {\n          input_line_pointer = pcVar5 + 1;\n          cVar1 = pcVar5[1];\n          if (cVar1 == ' ') {\n            input_line_pointer = pcVar5 + 2;\n            cVar1 = pcVar5[2];\n          }\n          if (is_end_of_line[(int)cVar1] != '\0') {\n            return pcVar6;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar6;\n          }\n          pcVar5 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar5 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);\n      as_bad(pcVar5,pcVar6,(ulong)(uint)(size * 8));\n      return pcVar6;\n    }\n    pcVar8 = (char *)dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    as_bad(pcVar8,pcVar6,(ulong)(uint)(size * 8));\n    input_line_pointer = pcVar5;\n    goto LAB_001370ae;\n  }\n  pcVar8 = (char *)dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5);\n  as_bad(pcVar8,pcVar6,(ulong)(uint)(size * 8),(ulong)(uint)size);\n  input_line_pointer = pcVar5;\nLAB_001370ae:\n  expr(0,exp,expr_normal);\n  return (char *)0x0;\n}\n\n" (function_definition "char * sparc_cons(expressionS *exp,int size)\n\n{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  long lVar4;\n  char *pcVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  char *pcVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  \n  cVar1 = *input_line_pointer;\n  if (cVar1 == ' ') {\n    cVar1 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }\n  pcVar5 = input_line_pointer;\n  input_line_pointer = pcVar5;\n  if ((cVar1 != '%') || (input_line_pointer[1] != 'r')) goto LAB_001370ae;\n  bVar11 = (byte)input_line_pointer[2] < 0x5f;\n  bVar13 = input_line_pointer[2] == 0x5f;\n  if (!bVar13) goto LAB_001370ae;\n  pbVar9 = (byte *)(input_line_pointer + 3);\n  pcVar6 = "disp";\n  lVar4 = 4;\n  pbVar7 = pbVar9;\n  pbVar10 = (byte *)0x143de8;\n  do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar11 = *pbVar7 < *pbVar10;\n    bVar13 = *pbVar7 == *pbVar10;\n    pbVar7 = pbVar7 + 1;\n    pbVar10 = pbVar10 + 1;\n  } while (bVar13);\n  bVar12 = false;\n  bVar11 = (!bVar11 && !bVar13) == bVar11;\n  if (bVar11) {\n    input_line_pointer = input_line_pointer + 7;\n  }\n  else {\n    pcVar6 = "plt";\n    lVar4 = 3;\n    pbVar7 = pbVar9;\n    pbVar10 = &DAT_00145697;\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar12 = *pbVar7 < *pbVar10;\n      bVar11 = *pbVar7 == *pbVar10;\n      pbVar7 = pbVar7 + 1;\n      pbVar10 = pbVar10 + 1;\n    } while (bVar11);\n    bVar13 = false;\n    bVar11 = (!bVar12 && !bVar11) == bVar12;\n    if (bVar11) {\n      pcVar8 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((size - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        pcVar5 = (char *)dcgettext(0,pcVar8,5);\n        as_bad(pcVar5,(ulong)(uint)size);\n        goto LAB_001370ae;\n      }\n      input_line_pointer = input_line_pointer + 6;\n    }\n    else {\n      pcVar6 = "tls_dtpoff";\n      lVar4 = 10;\n      pbVar7 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar4 == 0) break;\n        lVar4 = lVar4 + -1;\n        bVar13 = *pbVar9 < *pbVar7;\n        bVar11 = *pbVar9 == *pbVar7;\n        pbVar9 = pbVar9 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar11);\n      if ((!bVar13 && !bVar11) != bVar13) goto LAB_001370ae;\n      if ((size - 4U & 0xfffffffb) != 0) {\n        pcVar8 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      input_line_pointer = input_line_pointer + 0xd;\n    }\n  }\n  if (size == 2) {\n    if ((*input_line_pointer == '1') && (input_line_pointer[1] == '6')) goto LAB_00137240;\n  }\n  else if (size < 3) {\n    if (size == 1) {\n      if (*input_line_pointer == '8') {\n        cVar1 = input_line_pointer[1];\n        input_line_pointer = input_line_pointer + 1;\n        goto joined_r0x0013728d;\n      }\n      input_line_pointer = input_line_pointer + -1;\n    }\n  }\n  else if (size == 4) {\n    if ((*input_line_pointer == '3') && (input_line_pointer[1] == '2')) goto LAB_00137240;\n  }\n  else if ((size == 8) && ((*input_line_pointer == '6' && (input_line_pointer[1] == '4')))) {\nLAB_00137240:\n    cVar1 = input_line_pointer[2];\n    input_line_pointer = input_line_pointer + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar5 = input_line_pointer + 1;\n      iVar2 = (int)input_line_pointer[1];\n      input_line_pointer = pcVar5;\n      if (is_end_of_line[iVar2] == '\0') {\n        iVar3 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar3 = iVar3 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar3 == 0) goto LAB_00137374;\n            iVar3 = iVar3 + -1;\n          }\n          pcVar5 = pcVar5 + 1;\n          iVar2 = (int)*pcVar5;\n        } while (is_end_of_line[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar5 = '\0';\n        expr(0,exp,expr_normal);\n        *pcVar5 = (char)iVar2;\n        if (input_line_pointer == pcVar5) {\n          input_line_pointer = pcVar5 + 1;\n          cVar1 = pcVar5[1];\n          if (cVar1 == ' ') {\n            input_line_pointer = pcVar5 + 2;\n            cVar1 = pcVar5[2];\n          }\n          if (is_end_of_line[(int)cVar1] != '\0') {\n            return pcVar6;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar6;\n          }\n          pcVar5 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar5 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);\n      as_bad(pcVar5,pcVar6,(ulong)(uint)(size * 8));\n      return pcVar6;\n    }\n    pcVar8 = (char *)dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    as_bad(pcVar8,pcVar6,(ulong)(uint)(size * 8));\n    input_line_pointer = pcVar5;\n    goto LAB_001370ae;\n  }\n  pcVar8 = (char *)dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5);\n  as_bad(pcVar8,pcVar6,(ulong)(uint)(size * 8),(ulong)(uint)size);\n  input_line_pointer = pcVar5;\nLAB_001370ae:\n  expr(0,exp,expr_normal);\n  return (char *)0x0;\n}" primitive_type (pointer_declarator "* sparc_cons(expressionS *exp,int size)" * (function_declarator "sparc_cons(expressionS *exp,int size)" identifier (parameter_list "(expressionS *exp,int size)" ( (parameter_declaration "expressionS *exp" type_identifier (pointer_declarator "*exp" * identifier)) , (parameter_declaration "int size" primitive_type identifier) )))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  long lVar4;\n  char *pcVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  char *pcVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  \n  cVar1 = *input_line_pointer;\n  if (cVar1 == ' ') {\n    cVar1 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }\n  pcVar5 = input_line_pointer;\n  input_line_pointer = pcVar5;\n  if ((cVar1 != '%') || (input_line_pointer[1] != 'r')) goto LAB_001370ae;\n  bVar11 = (byte)input_line_pointer[2] < 0x5f;\n  bVar13 = input_line_pointer[2] == 0x5f;\n  if (!bVar13) goto LAB_001370ae;\n  pbVar9 = (byte *)(input_line_pointer + 3);\n  pcVar6 = "disp";\n  lVar4 = 4;\n  pbVar7 = pbVar9;\n  pbVar10 = (byte *)0x143de8;\n  do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar11 = *pbVar7 < *pbVar10;\n    bVar13 = *pbVar7 == *pbVar10;\n    pbVar7 = pbVar7 + 1;\n    pbVar10 = pbVar10 + 1;\n  } while (bVar13);\n  bVar12 = false;\n  bVar11 = (!bVar11 && !bVar13) == bVar11;\n  if (bVar11) {\n    input_line_pointer = input_line_pointer + 7;\n  }\n  else {\n    pcVar6 = "plt";\n    lVar4 = 3;\n    pbVar7 = pbVar9;\n    pbVar10 = &DAT_00145697;\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar12 = *pbVar7 < *pbVar10;\n      bVar11 = *pbVar7 == *pbVar10;\n      pbVar7 = pbVar7 + 1;\n      pbVar10 = pbVar10 + 1;\n    } while (bVar11);\n    bVar13 = false;\n    bVar11 = (!bVar12 && !bVar11) == bVar12;\n    if (bVar11) {\n      pcVar8 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((size - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        pcVar5 = (char *)dcgettext(0,pcVar8,5);\n        as_bad(pcVar5,(ulong)(uint)size);\n        goto LAB_001370ae;\n      }\n      input_line_pointer = input_line_pointer + 6;\n    }\n    else {\n      pcVar6 = "tls_dtpoff";\n      lVar4 = 10;\n      pbVar7 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar4 == 0) break;\n        lVar4 = lVar4 + -1;\n        bVar13 = *pbVar9 < *pbVar7;\n        bVar11 = *pbVar9 == *pbVar7;\n        pbVar9 = pbVar9 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar11);\n      if ((!bVar13 && !bVar11) != bVar13) goto LAB_001370ae;\n      if ((size - 4U & 0xfffffffb) != 0) {\n        pcVar8 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      input_line_pointer = input_line_pointer + 0xd;\n    }\n  }\n  if (size == 2) {\n    if ((*input_line_pointer == '1') && (input_line_pointer[1] == '6')) goto LAB_00137240;\n  }\n  else if (size < 3) {\n    if (size == 1) {\n      if (*input_line_pointer == '8') {\n        cVar1 = input_line_pointer[1];\n        input_line_pointer = input_line_pointer + 1;\n        goto joined_r0x0013728d;\n      }\n      input_line_pointer = input_line_pointer + -1;\n    }\n  }\n  else if (size == 4) {\n    if ((*input_line_pointer == '3') && (input_line_pointer[1] == '2')) goto LAB_00137240;\n  }\n  else if ((size == 8) && ((*input_line_pointer == '6' && (input_line_pointer[1] == '4')))) {\nLAB_00137240:\n    cVar1 = input_line_pointer[2];\n    input_line_pointer = input_line_pointer + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar5 = input_line_pointer + 1;\n      iVar2 = (int)input_line_pointer[1];\n      input_line_pointer = pcVar5;\n      if (is_end_of_line[iVar2] == '\0') {\n        iVar3 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar3 = iVar3 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar3 == 0) goto LAB_00137374;\n            iVar3 = iVar3 + -1;\n          }\n          pcVar5 = pcVar5 + 1;\n          iVar2 = (int)*pcVar5;\n        } while (is_end_of_line[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar5 = '\0';\n        expr(0,exp,expr_normal);\n        *pcVar5 = (char)iVar2;\n        if (input_line_pointer == pcVar5) {\n          input_line_pointer = pcVar5 + 1;\n          cVar1 = pcVar5[1];\n          if (cVar1 == ' ') {\n            input_line_pointer = pcVar5 + 2;\n            cVar1 = pcVar5[2];\n          }\n          if (is_end_of_line[(int)cVar1] != '\0') {\n            return pcVar6;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar6;\n          }\n          pcVar5 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar5 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);\n      as_bad(pcVar5,pcVar6,(ulong)(uint)(size * 8));\n      return pcVar6;\n    }\n    pcVar8 = (char *)dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    as_bad(pcVar8,pcVar6,(ulong)(uint)(size * 8));\n    input_line_pointer = pcVar5;\n    goto LAB_001370ae;\n  }\n  pcVar8 = (char *)dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5);\n  as_bad(pcVar8,pcVar6,(ulong)(uint)(size * 8),(ulong)(uint)size);\n  input_line_pointer = pcVar5;\nLAB_001370ae:\n  expr(0,exp,expr_normal);\n  return (char *)0x0;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "bool bVar12;" primitive_type identifier ;) (declaration "bool bVar13;" primitive_type identifier ;) (expression_statement "cVar1 = *input_line_pointer;" (assignment_expression "cVar1 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;) (if_statement "if (cVar1 == ' ') {\n    cVar1 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }" if (parenthesized_expression "(cVar1 == ' ')" ( (binary_expression "cVar1 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n    cVar1 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }" { (expression_statement "cVar1 = input_line_pointer[1];" (assignment_expression "cVar1 = input_line_pointer[1]" identifier = (subscript_expression "input_line_pointer[1]" identifier [ number_literal ])) ;) (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) })) (expression_statement "pcVar5 = input_line_pointer;" (assignment_expression "pcVar5 = input_line_pointer" identifier = identifier) ;) (expression_statement "input_line_pointer = pcVar5;" (assignment_expression "input_line_pointer = pcVar5" identifier = identifier) ;) (if_statement "if ((cVar1 != '%') || (input_line_pointer[1] != 'r')) goto LAB_001370ae;" if (parenthesized_expression "((cVar1 != '%') || (input_line_pointer[1] != 'r'))" ( (binary_expression "(cVar1 != '%') || (input_line_pointer[1] != 'r')" (parenthesized_expression "(cVar1 != '%')" ( (binary_expression "cVar1 != '%'" identifier != (char_literal "'%'" ' character ')) )) || (parenthesized_expression "(input_line_pointer[1] != 'r')" ( (binary_expression "input_line_pointer[1] != 'r'" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) != (char_literal "'r'" ' character ')) ))) )) (goto_statement "goto LAB_001370ae;" goto statement_identifier ;)) (expression_statement "bVar11 = (byte)input_line_pointer[2] < 0x5f;" (assignment_expression "bVar11 = (byte)input_line_pointer[2] < 0x5f" identifier = (binary_expression "(byte)input_line_pointer[2] < 0x5f" (cast_expression "(byte)input_line_pointer[2]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "input_line_pointer[2]" identifier [ number_literal ])) < number_literal)) ;) (expression_statement "bVar13 = input_line_pointer[2] == 0x5f;" (assignment_expression "bVar13 = input_line_pointer[2] == 0x5f" identifier = (binary_expression "input_line_pointer[2] == 0x5f" (subscript_expression "input_line_pointer[2]" identifier [ number_literal ]) == number_literal)) ;) (if_statement "if (!bVar13) goto LAB_001370ae;" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (goto_statement "goto LAB_001370ae;" goto statement_identifier ;)) (expression_statement "pbVar9 = (byte *)(input_line_pointer + 3);" (assignment_expression "pbVar9 = (byte *)(input_line_pointer + 3)" identifier = (cast_expression "(byte *)(input_line_pointer + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(input_line_pointer + 3)" ( (binary_expression "input_line_pointer + 3" identifier + number_literal) )))) ;) (expression_statement "pcVar6 = "disp";" (assignment_expression "pcVar6 = "disp"" identifier = (string_literal ""disp"" " string_content ")) ;) (expression_statement "lVar4 = 4;" (assignment_expression "lVar4 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar9;" (assignment_expression "pbVar7 = pbVar9" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x143de8;" (assignment_expression "pbVar10 = (byte *)0x143de8" identifier = (cast_expression "(byte *)0x143de8" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar11 = *pbVar7 < *pbVar10;\n    bVar13 = *pbVar7 == *pbVar10;\n    pbVar7 = pbVar7 + 1;\n    pbVar10 = pbVar10 + 1;\n  } while (bVar13);" do (compound_statement "{\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar11 = *pbVar7 < *pbVar10;\n    bVar13 = *pbVar7 == *pbVar10;\n    pbVar7 = pbVar7 + 1;\n    pbVar10 = pbVar10 + 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 "bVar11 = *pbVar7 < *pbVar10;" (assignment_expression "bVar11 = *pbVar7 < *pbVar10" identifier = (binary_expression "*pbVar7 < *pbVar10" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar7 == *pbVar10;" (assignment_expression "bVar13 = *pbVar7 == *pbVar10" identifier = (binary_expression "*pbVar7 == *pbVar10" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + 1;" (assignment_expression "pbVar10 = pbVar10 + 1" identifier = (binary_expression "pbVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar11 = (!bVar11 && !bVar13) == bVar11;" (assignment_expression "bVar11 = (!bVar11 && !bVar13) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar13) == bVar11" (parenthesized_expression "(!bVar11 && !bVar13)" ( (binary_expression "!bVar11 && !bVar13" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar11) {\n    input_line_pointer = input_line_pointer + 7;\n  }\n  else {\n    pcVar6 = "plt";\n    lVar4 = 3;\n    pbVar7 = pbVar9;\n    pbVar10 = &DAT_00145697;\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar12 = *pbVar7 < *pbVar10;\n      bVar11 = *pbVar7 == *pbVar10;\n      pbVar7 = pbVar7 + 1;\n      pbVar10 = pbVar10 + 1;\n    } while (bVar11);\n    bVar13 = false;\n    bVar11 = (!bVar12 && !bVar11) == bVar12;\n    if (bVar11) {\n      pcVar8 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((size - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        pcVar5 = (char *)dcgettext(0,pcVar8,5);\n        as_bad(pcVar5,(ulong)(uint)size);\n        goto LAB_001370ae;\n      }\n      input_line_pointer = input_line_pointer + 6;\n    }\n    else {\n      pcVar6 = "tls_dtpoff";\n      lVar4 = 10;\n      pbVar7 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar4 == 0) break;\n        lVar4 = lVar4 + -1;\n        bVar13 = *pbVar9 < *pbVar7;\n        bVar11 = *pbVar9 == *pbVar7;\n        pbVar9 = pbVar9 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar11);\n      if ((!bVar13 && !bVar11) != bVar13) goto LAB_001370ae;\n      if ((size - 4U & 0xfffffffb) != 0) {\n        pcVar8 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      input_line_pointer = input_line_pointer + 0xd;\n    }\n  }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n    input_line_pointer = input_line_pointer + 7;\n  }" { (expression_statement "input_line_pointer = input_line_pointer + 7;" (assignment_expression "input_line_pointer = input_line_pointer + 7" identifier = (binary_expression "input_line_pointer + 7" identifier + number_literal)) ;) }) (else_clause "else {\n    pcVar6 = "plt";\n    lVar4 = 3;\n    pbVar7 = pbVar9;\n    pbVar10 = &DAT_00145697;\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar12 = *pbVar7 < *pbVar10;\n      bVar11 = *pbVar7 == *pbVar10;\n      pbVar7 = pbVar7 + 1;\n      pbVar10 = pbVar10 + 1;\n    } while (bVar11);\n    bVar13 = false;\n    bVar11 = (!bVar12 && !bVar11) == bVar12;\n    if (bVar11) {\n      pcVar8 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((size - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        pcVar5 = (char *)dcgettext(0,pcVar8,5);\n        as_bad(pcVar5,(ulong)(uint)size);\n        goto LAB_001370ae;\n      }\n      input_line_pointer = input_line_pointer + 6;\n    }\n    else {\n      pcVar6 = "tls_dtpoff";\n      lVar4 = 10;\n      pbVar7 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar4 == 0) break;\n        lVar4 = lVar4 + -1;\n        bVar13 = *pbVar9 < *pbVar7;\n        bVar11 = *pbVar9 == *pbVar7;\n        pbVar9 = pbVar9 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar11);\n      if ((!bVar13 && !bVar11) != bVar13) goto LAB_001370ae;\n      if ((size - 4U & 0xfffffffb) != 0) {\n        pcVar8 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      input_line_pointer = input_line_pointer + 0xd;\n    }\n  }" else (compound_statement "{\n    pcVar6 = "plt";\n    lVar4 = 3;\n    pbVar7 = pbVar9;\n    pbVar10 = &DAT_00145697;\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar12 = *pbVar7 < *pbVar10;\n      bVar11 = *pbVar7 == *pbVar10;\n      pbVar7 = pbVar7 + 1;\n      pbVar10 = pbVar10 + 1;\n    } while (bVar11);\n    bVar13 = false;\n    bVar11 = (!bVar12 && !bVar11) == bVar12;\n    if (bVar11) {\n      pcVar8 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((size - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        pcVar5 = (char *)dcgettext(0,pcVar8,5);\n        as_bad(pcVar5,(ulong)(uint)size);\n        goto LAB_001370ae;\n      }\n      input_line_pointer = input_line_pointer + 6;\n    }\n    else {\n      pcVar6 = "tls_dtpoff";\n      lVar4 = 10;\n      pbVar7 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar4 == 0) break;\n        lVar4 = lVar4 + -1;\n        bVar13 = *pbVar9 < *pbVar7;\n        bVar11 = *pbVar9 == *pbVar7;\n        pbVar9 = pbVar9 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar11);\n      if ((!bVar13 && !bVar11) != bVar13) goto LAB_001370ae;\n      if ((size - 4U & 0xfffffffb) != 0) {\n        pcVar8 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      input_line_pointer = input_line_pointer + 0xd;\n    }\n  }" { (expression_statement "pcVar6 = "plt";" (assignment_expression "pcVar6 = "plt"" identifier = (string_literal ""plt"" " string_content ")) ;) (expression_statement "lVar4 = 3;" (assignment_expression "lVar4 = 3" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar9;" (assignment_expression "pbVar7 = pbVar9" identifier = identifier) ;) (expression_statement "pbVar10 = &DAT_00145697;" (assignment_expression "pbVar10 = &DAT_00145697" identifier = (pointer_expression "&DAT_00145697" & identifier)) ;) (do_statement "do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar12 = *pbVar7 < *pbVar10;\n      bVar11 = *pbVar7 == *pbVar10;\n      pbVar7 = pbVar7 + 1;\n      pbVar10 = pbVar10 + 1;\n    } while (bVar11);" do (compound_statement "{\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar12 = *pbVar7 < *pbVar10;\n      bVar11 = *pbVar7 == *pbVar10;\n      pbVar7 = pbVar7 + 1;\n      pbVar10 = pbVar10 + 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 "bVar12 = *pbVar7 < *pbVar10;" (assignment_expression "bVar12 = *pbVar7 < *pbVar10" identifier = (binary_expression "*pbVar7 < *pbVar10" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar7 == *pbVar10;" (assignment_expression "bVar11 = *pbVar7 == *pbVar10" identifier = (binary_expression "*pbVar7 == *pbVar10" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + 1;" (assignment_expression "pbVar10 = pbVar10 + 1" identifier = (binary_expression "pbVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar11 = (!bVar12 && !bVar11) == bVar12;" (assignment_expression "bVar11 = (!bVar12 && !bVar11) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar11) == bVar12" (parenthesized_expression "(!bVar12 && !bVar11)" ( (binary_expression "!bVar12 && !bVar11" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar11) {\n      pcVar8 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((size - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        pcVar5 = (char *)dcgettext(0,pcVar8,5);\n        as_bad(pcVar5,(ulong)(uint)size);\n        goto LAB_001370ae;\n      }\n      input_line_pointer = input_line_pointer + 6;\n    }\n    else {\n      pcVar6 = "tls_dtpoff";\n      lVar4 = 10;\n      pbVar7 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar4 == 0) break;\n        lVar4 = lVar4 + -1;\n        bVar13 = *pbVar9 < *pbVar7;\n        bVar11 = *pbVar9 == *pbVar7;\n        pbVar9 = pbVar9 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar11);\n      if ((!bVar13 && !bVar11) != bVar13) goto LAB_001370ae;\n      if ((size - 4U & 0xfffffffb) != 0) {\n        pcVar8 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      input_line_pointer = input_line_pointer + 0xd;\n    }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n      pcVar8 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((size - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        pcVar5 = (char *)dcgettext(0,pcVar8,5);\n        as_bad(pcVar5,(ulong)(uint)size);\n        goto LAB_001370ae;\n      }\n      input_line_pointer = input_line_pointer + 6;\n    }" { (expression_statement "pcVar8 = "Illegal operands: %%r_plt in %d-byte data field";" (assignment_expression "pcVar8 = "Illegal operands: %%r_plt in %d-byte data field"" identifier = (string_literal ""Illegal operands: %%r_plt in %d-byte data field"" " string_content ")) ;) (if_statement "if ((size - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        pcVar5 = (char *)dcgettext(0,pcVar8,5);\n        as_bad(pcVar5,(ulong)(uint)size);\n        goto LAB_001370ae;\n      }" if (parenthesized_expression "((size - 4U & 0xfffffffb) != 0)" ( (binary_expression "(size - 4U & 0xfffffffb) != 0" (parenthesized_expression "(size - 4U & 0xfffffffb)" ( (binary_expression "size - 4U & 0xfffffffb" (binary_expression "size - 4U" identifier - number_literal) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0013735b:\n        pcVar5 = (char *)dcgettext(0,pcVar8,5);\n        as_bad(pcVar5,(ulong)(uint)size);\n        goto LAB_001370ae;\n      }" { (labeled_statement "LAB_0013735b:\n        pcVar5 = (char *)dcgettext(0,pcVar8,5);" statement_identifier : (expression_statement "pcVar5 = (char *)dcgettext(0,pcVar8,5);" (assignment_expression "pcVar5 = (char *)dcgettext(0,pcVar8,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar8,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar8,5)" identifier (argument_list "(0,pcVar8,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "as_bad(pcVar5,(ulong)(uint)size);" (call_expression "as_bad(pcVar5,(ulong)(uint)size)" identifier (argument_list "(pcVar5,(ulong)(uint)size)" ( identifier , (cast_expression "(ulong)(uint)size" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)size" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ;) (goto_statement "goto LAB_001370ae;" goto statement_identifier ;) })) (expression_statement "input_line_pointer = input_line_pointer + 6;" (assignment_expression "input_line_pointer = input_line_pointer + 6" identifier = (binary_expression "input_line_pointer + 6" identifier + number_literal)) ;) }) (else_clause "else {\n      pcVar6 = "tls_dtpoff";\n      lVar4 = 10;\n      pbVar7 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar4 == 0) break;\n        lVar4 = lVar4 + -1;\n        bVar13 = *pbVar9 < *pbVar7;\n        bVar11 = *pbVar9 == *pbVar7;\n        pbVar9 = pbVar9 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar11);\n      if ((!bVar13 && !bVar11) != bVar13) goto LAB_001370ae;\n      if ((size - 4U & 0xfffffffb) != 0) {\n        pcVar8 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      input_line_pointer = input_line_pointer + 0xd;\n    }" else (compound_statement "{\n      pcVar6 = "tls_dtpoff";\n      lVar4 = 10;\n      pbVar7 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar4 == 0) break;\n        lVar4 = lVar4 + -1;\n        bVar13 = *pbVar9 < *pbVar7;\n        bVar11 = *pbVar9 == *pbVar7;\n        pbVar9 = pbVar9 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar11);\n      if ((!bVar13 && !bVar11) != bVar13) goto LAB_001370ae;\n      if ((size - 4U & 0xfffffffb) != 0) {\n        pcVar8 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      input_line_pointer = input_line_pointer + 0xd;\n    }" { (expression_statement "pcVar6 = "tls_dtpoff";" (assignment_expression "pcVar6 = "tls_dtpoff"" identifier = (string_literal ""tls_dtpoff"" " string_content ")) ;) (expression_statement "lVar4 = 10;" (assignment_expression "lVar4 = 10" identifier = number_literal) ;) (expression_statement "pbVar7 = (byte *)"tls_dtpoff";" (assignment_expression "pbVar7 = (byte *)"tls_dtpoff"" identifier = (cast_expression "(byte *)"tls_dtpoff"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""tls_dtpoff"" " string_content "))) ;) (do_statement "do {\n        if (lVar4 == 0) break;\n        lVar4 = lVar4 + -1;\n        bVar13 = *pbVar9 < *pbVar7;\n        bVar11 = *pbVar9 == *pbVar7;\n        pbVar9 = pbVar9 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar11);" do (compound_statement "{\n        if (lVar4 == 0) break;\n        lVar4 = lVar4 + -1;\n        bVar13 = *pbVar9 < *pbVar7;\n        bVar11 = *pbVar9 == *pbVar7;\n        pbVar9 = pbVar9 + 1;\n        pbVar7 = pbVar7 + 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 "bVar13 = *pbVar9 < *pbVar7;" (assignment_expression "bVar13 = *pbVar9 < *pbVar7" identifier = (binary_expression "*pbVar9 < *pbVar7" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar11 = *pbVar9 == *pbVar7;" (assignment_expression "bVar11 = *pbVar9 == *pbVar7" identifier = (binary_expression "*pbVar9 == *pbVar7" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + 1;" (assignment_expression "pbVar9 = pbVar9 + 1" identifier = (binary_expression "pbVar9 + 1" identifier + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (if_statement "if ((!bVar13 && !bVar11) != bVar13) goto LAB_001370ae;" if (parenthesized_expression "((!bVar13 && !bVar11) != bVar13)" ( (binary_expression "(!bVar13 && !bVar11) != bVar13" (parenthesized_expression "(!bVar13 && !bVar11)" ( (binary_expression "!bVar13 && !bVar11" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_001370ae;" goto statement_identifier ;)) (if_statement "if ((size - 4U & 0xfffffffb) != 0) {\n        pcVar8 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }" if (parenthesized_expression "((size - 4U & 0xfffffffb) != 0)" ( (binary_expression "(size - 4U & 0xfffffffb) != 0" (parenthesized_expression "(size - 4U & 0xfffffffb)" ( (binary_expression "size - 4U & 0xfffffffb" (binary_expression "size - 4U" identifier - number_literal) & number_literal) )) != number_literal) )) (compound_statement "{\n        pcVar8 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }" { (expression_statement "pcVar8 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";" (assignment_expression "pcVar8 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field"" identifier = (string_literal ""Illegal operands: %%r_tls_dtpoff in %d-byte data field"" " string_content ")) ;) (goto_statement "goto LAB_0013735b;" goto statement_identifier ;) })) (expression_statement "input_line_pointer = input_line_pointer + 0xd;" (assignment_expression "input_line_pointer = input_line_pointer + 0xd" identifier = (binary_expression "input_line_pointer + 0xd" identifier + number_literal)) ;) }))) }))) (if_statement "if (size == 2) {\n    if ((*input_line_pointer == '1') && (input_line_pointer[1] == '6')) goto LAB_00137240;\n  }\n  else if (size < 3) {\n    if (size == 1) {\n      if (*input_line_pointer == '8') {\n        cVar1 = input_line_pointer[1];\n        input_line_pointer = input_line_pointer + 1;\n        goto joined_r0x0013728d;\n      }\n      input_line_pointer = input_line_pointer + -1;\n    }\n  }\n  else if (size == 4) {\n    if ((*input_line_pointer == '3') && (input_line_pointer[1] == '2')) goto LAB_00137240;\n  }\n  else if ((size == 8) && ((*input_line_pointer == '6' && (input_line_pointer[1] == '4')))) {\nLAB_00137240:\n    cVar1 = input_line_pointer[2];\n    input_line_pointer = input_line_pointer + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar5 = input_line_pointer + 1;\n      iVar2 = (int)input_line_pointer[1];\n      input_line_pointer = pcVar5;\n      if (is_end_of_line[iVar2] == '\0') {\n        iVar3 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar3 = iVar3 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar3 == 0) goto LAB_00137374;\n            iVar3 = iVar3 + -1;\n          }\n          pcVar5 = pcVar5 + 1;\n          iVar2 = (int)*pcVar5;\n        } while (is_end_of_line[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar5 = '\0';\n        expr(0,exp,expr_normal);\n        *pcVar5 = (char)iVar2;\n        if (input_line_pointer == pcVar5) {\n          input_line_pointer = pcVar5 + 1;\n          cVar1 = pcVar5[1];\n          if (cVar1 == ' ') {\n            input_line_pointer = pcVar5 + 2;\n            cVar1 = pcVar5[2];\n          }\n          if (is_end_of_line[(int)cVar1] != '\0') {\n            return pcVar6;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar6;\n          }\n          pcVar5 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar5 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);\n      as_bad(pcVar5,pcVar6,(ulong)(uint)(size * 8));\n      return pcVar6;\n    }\n    pcVar8 = (char *)dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    as_bad(pcVar8,pcVar6,(ulong)(uint)(size * 8));\n    input_line_pointer = pcVar5;\n    goto LAB_001370ae;\n  }" if (parenthesized_expression "(size == 2)" ( (binary_expression "size == 2" identifier == number_literal) )) (compound_statement "{\n    if ((*input_line_pointer == '1') && (input_line_pointer[1] == '6')) goto LAB_00137240;\n  }" { (if_statement "if ((*input_line_pointer == '1') && (input_line_pointer[1] == '6')) goto LAB_00137240;" if (parenthesized_expression "((*input_line_pointer == '1') && (input_line_pointer[1] == '6'))" ( (binary_expression "(*input_line_pointer == '1') && (input_line_pointer[1] == '6')" (parenthesized_expression "(*input_line_pointer == '1')" ( (binary_expression "*input_line_pointer == '1'" (pointer_expression "*input_line_pointer" * identifier) == (char_literal "'1'" ' character ')) )) && (parenthesized_expression "(input_line_pointer[1] == '6')" ( (binary_expression "input_line_pointer[1] == '6'" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) == (char_literal "'6'" ' character ')) ))) )) (goto_statement "goto LAB_00137240;" goto statement_identifier ;)) }) (else_clause "else if (size < 3) {\n    if (size == 1) {\n      if (*input_line_pointer == '8') {\n        cVar1 = input_line_pointer[1];\n        input_line_pointer = input_line_pointer + 1;\n        goto joined_r0x0013728d;\n      }\n      input_line_pointer = input_line_pointer + -1;\n    }\n  }\n  else if (size == 4) {\n    if ((*input_line_pointer == '3') && (input_line_pointer[1] == '2')) goto LAB_00137240;\n  }\n  else if ((size == 8) && ((*input_line_pointer == '6' && (input_line_pointer[1] == '4')))) {\nLAB_00137240:\n    cVar1 = input_line_pointer[2];\n    input_line_pointer = input_line_pointer + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar5 = input_line_pointer + 1;\n      iVar2 = (int)input_line_pointer[1];\n      input_line_pointer = pcVar5;\n      if (is_end_of_line[iVar2] == '\0') {\n        iVar3 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar3 = iVar3 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar3 == 0) goto LAB_00137374;\n            iVar3 = iVar3 + -1;\n          }\n          pcVar5 = pcVar5 + 1;\n          iVar2 = (int)*pcVar5;\n        } while (is_end_of_line[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar5 = '\0';\n        expr(0,exp,expr_normal);\n        *pcVar5 = (char)iVar2;\n        if (input_line_pointer == pcVar5) {\n          input_line_pointer = pcVar5 + 1;\n          cVar1 = pcVar5[1];\n          if (cVar1 == ' ') {\n            input_line_pointer = pcVar5 + 2;\n            cVar1 = pcVar5[2];\n          }\n          if (is_end_of_line[(int)cVar1] != '\0') {\n            return pcVar6;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar6;\n          }\n          pcVar5 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar5 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);\n      as_bad(pcVar5,pcVar6,(ulong)(uint)(size * 8));\n      return pcVar6;\n    }\n    pcVar8 = (char *)dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    as_bad(pcVar8,pcVar6,(ulong)(uint)(size * 8));\n    input_line_pointer = pcVar5;\n    goto LAB_001370ae;\n  }" else (if_statement "if (size < 3) {\n    if (size == 1) {\n      if (*input_line_pointer == '8') {\n        cVar1 = input_line_pointer[1];\n        input_line_pointer = input_line_pointer + 1;\n        goto joined_r0x0013728d;\n      }\n      input_line_pointer = input_line_pointer + -1;\n    }\n  }\n  else if (size == 4) {\n    if ((*input_line_pointer == '3') && (input_line_pointer[1] == '2')) goto LAB_00137240;\n  }\n  else if ((size == 8) && ((*input_line_pointer == '6' && (input_line_pointer[1] == '4')))) {\nLAB_00137240:\n    cVar1 = input_line_pointer[2];\n    input_line_pointer = input_line_pointer + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar5 = input_line_pointer + 1;\n      iVar2 = (int)input_line_pointer[1];\n      input_line_pointer = pcVar5;\n      if (is_end_of_line[iVar2] == '\0') {\n        iVar3 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar3 = iVar3 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar3 == 0) goto LAB_00137374;\n            iVar3 = iVar3 + -1;\n          }\n          pcVar5 = pcVar5 + 1;\n          iVar2 = (int)*pcVar5;\n        } while (is_end_of_line[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar5 = '\0';\n        expr(0,exp,expr_normal);\n        *pcVar5 = (char)iVar2;\n        if (input_line_pointer == pcVar5) {\n          input_line_pointer = pcVar5 + 1;\n          cVar1 = pcVar5[1];\n          if (cVar1 == ' ') {\n            input_line_pointer = pcVar5 + 2;\n            cVar1 = pcVar5[2];\n          }\n          if (is_end_of_line[(int)cVar1] != '\0') {\n            return pcVar6;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar6;\n          }\n          pcVar5 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar5 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);\n      as_bad(pcVar5,pcVar6,(ulong)(uint)(size * 8));\n      return pcVar6;\n    }\n    pcVar8 = (char *)dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    as_bad(pcVar8,pcVar6,(ulong)(uint)(size * 8));\n    input_line_pointer = pcVar5;\n    goto LAB_001370ae;\n  }" if (parenthesized_expression "(size < 3)" ( (binary_expression "size < 3" identifier < number_literal) )) (compound_statement "{\n    if (size == 1) {\n      if (*input_line_pointer == '8') {\n        cVar1 = input_line_pointer[1];\n        input_line_pointer = input_line_pointer + 1;\n        goto joined_r0x0013728d;\n      }\n      input_line_pointer = input_line_pointer + -1;\n    }\n  }" { (if_statement "if (size == 1) {\n      if (*input_line_pointer == '8') {\n        cVar1 = input_line_pointer[1];\n        input_line_pointer = input_line_pointer + 1;\n        goto joined_r0x0013728d;\n      }\n      input_line_pointer = input_line_pointer + -1;\n    }" if (parenthesized_expression "(size == 1)" ( (binary_expression "size == 1" identifier == number_literal) )) (compound_statement "{\n      if (*input_line_pointer == '8') {\n        cVar1 = input_line_pointer[1];\n        input_line_pointer = input_line_pointer + 1;\n        goto joined_r0x0013728d;\n      }\n      input_line_pointer = input_line_pointer + -1;\n    }" { (if_statement "if (*input_line_pointer == '8') {\n        cVar1 = input_line_pointer[1];\n        input_line_pointer = input_line_pointer + 1;\n        goto joined_r0x0013728d;\n      }" if (parenthesized_expression "(*input_line_pointer == '8')" ( (binary_expression "*input_line_pointer == '8'" (pointer_expression "*input_line_pointer" * identifier) == (char_literal "'8'" ' character ')) )) (compound_statement "{\n        cVar1 = input_line_pointer[1];\n        input_line_pointer = input_line_pointer + 1;\n        goto joined_r0x0013728d;\n      }" { (expression_statement "cVar1 = input_line_pointer[1];" (assignment_expression "cVar1 = input_line_pointer[1]" identifier = (subscript_expression "input_line_pointer[1]" identifier [ number_literal ])) ;) (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) (goto_statement "goto joined_r0x0013728d;" goto statement_identifier ;) })) (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)) ;) })) }) (else_clause "else if (size == 4) {\n    if ((*input_line_pointer == '3') && (input_line_pointer[1] == '2')) goto LAB_00137240;\n  }\n  else if ((size == 8) && ((*input_line_pointer == '6' && (input_line_pointer[1] == '4')))) {\nLAB_00137240:\n    cVar1 = input_line_pointer[2];\n    input_line_pointer = input_line_pointer + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar5 = input_line_pointer + 1;\n      iVar2 = (int)input_line_pointer[1];\n      input_line_pointer = pcVar5;\n      if (is_end_of_line[iVar2] == '\0') {\n        iVar3 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar3 = iVar3 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar3 == 0) goto LAB_00137374;\n            iVar3 = iVar3 + -1;\n          }\n          pcVar5 = pcVar5 + 1;\n          iVar2 = (int)*pcVar5;\n        } while (is_end_of_line[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar5 = '\0';\n        expr(0,exp,expr_normal);\n        *pcVar5 = (char)iVar2;\n        if (input_line_pointer == pcVar5) {\n          input_line_pointer = pcVar5 + 1;\n          cVar1 = pcVar5[1];\n          if (cVar1 == ' ') {\n            input_line_pointer = pcVar5 + 2;\n            cVar1 = pcVar5[2];\n          }\n          if (is_end_of_line[(int)cVar1] != '\0') {\n            return pcVar6;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar6;\n          }\n          pcVar5 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar5 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);\n      as_bad(pcVar5,pcVar6,(ulong)(uint)(size * 8));\n      return pcVar6;\n    }\n    pcVar8 = (char *)dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    as_bad(pcVar8,pcVar6,(ulong)(uint)(size * 8));\n    input_line_pointer = pcVar5;\n    goto LAB_001370ae;\n  }" else (if_statement "if (size == 4) {\n    if ((*input_line_pointer == '3') && (input_line_pointer[1] == '2')) goto LAB_00137240;\n  }\n  else if ((size == 8) && ((*input_line_pointer == '6' && (input_line_pointer[1] == '4')))) {\nLAB_00137240:\n    cVar1 = input_line_pointer[2];\n    input_line_pointer = input_line_pointer + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar5 = input_line_pointer + 1;\n      iVar2 = (int)input_line_pointer[1];\n      input_line_pointer = pcVar5;\n      if (is_end_of_line[iVar2] == '\0') {\n        iVar3 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar3 = iVar3 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar3 == 0) goto LAB_00137374;\n            iVar3 = iVar3 + -1;\n          }\n          pcVar5 = pcVar5 + 1;\n          iVar2 = (int)*pcVar5;\n        } while (is_end_of_line[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar5 = '\0';\n        expr(0,exp,expr_normal);\n        *pcVar5 = (char)iVar2;\n        if (input_line_pointer == pcVar5) {\n          input_line_pointer = pcVar5 + 1;\n          cVar1 = pcVar5[1];\n          if (cVar1 == ' ') {\n            input_line_pointer = pcVar5 + 2;\n            cVar1 = pcVar5[2];\n          }\n          if (is_end_of_line[(int)cVar1] != '\0') {\n            return pcVar6;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar6;\n          }\n          pcVar5 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar5 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);\n      as_bad(pcVar5,pcVar6,(ulong)(uint)(size * 8));\n      return pcVar6;\n    }\n    pcVar8 = (char *)dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    as_bad(pcVar8,pcVar6,(ulong)(uint)(size * 8));\n    input_line_pointer = pcVar5;\n    goto LAB_001370ae;\n  }" if (parenthesized_expression "(size == 4)" ( (binary_expression "size == 4" identifier == number_literal) )) (compound_statement "{\n    if ((*input_line_pointer == '3') && (input_line_pointer[1] == '2')) goto LAB_00137240;\n  }" { (if_statement "if ((*input_line_pointer == '3') && (input_line_pointer[1] == '2')) goto LAB_00137240;" if (parenthesized_expression "((*input_line_pointer == '3') && (input_line_pointer[1] == '2'))" ( (binary_expression "(*input_line_pointer == '3') && (input_line_pointer[1] == '2')" (parenthesized_expression "(*input_line_pointer == '3')" ( (binary_expression "*input_line_pointer == '3'" (pointer_expression "*input_line_pointer" * identifier) == (char_literal "'3'" ' character ')) )) && (parenthesized_expression "(input_line_pointer[1] == '2')" ( (binary_expression "input_line_pointer[1] == '2'" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) == (char_literal "'2'" ' character ')) ))) )) (goto_statement "goto LAB_00137240;" goto statement_identifier ;)) }) (else_clause "else if ((size == 8) && ((*input_line_pointer == '6' && (input_line_pointer[1] == '4')))) {\nLAB_00137240:\n    cVar1 = input_line_pointer[2];\n    input_line_pointer = input_line_pointer + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar5 = input_line_pointer + 1;\n      iVar2 = (int)input_line_pointer[1];\n      input_line_pointer = pcVar5;\n      if (is_end_of_line[iVar2] == '\0') {\n        iVar3 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar3 = iVar3 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar3 == 0) goto LAB_00137374;\n            iVar3 = iVar3 + -1;\n          }\n          pcVar5 = pcVar5 + 1;\n          iVar2 = (int)*pcVar5;\n        } while (is_end_of_line[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar5 = '\0';\n        expr(0,exp,expr_normal);\n        *pcVar5 = (char)iVar2;\n        if (input_line_pointer == pcVar5) {\n          input_line_pointer = pcVar5 + 1;\n          cVar1 = pcVar5[1];\n          if (cVar1 == ' ') {\n            input_line_pointer = pcVar5 + 2;\n            cVar1 = pcVar5[2];\n          }\n          if (is_end_of_line[(int)cVar1] != '\0') {\n            return pcVar6;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar6;\n          }\n          pcVar5 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar5 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);\n      as_bad(pcVar5,pcVar6,(ulong)(uint)(size * 8));\n      return pcVar6;\n    }\n    pcVar8 = (char *)dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    as_bad(pcVar8,pcVar6,(ulong)(uint)(size * 8));\n    input_line_pointer = pcVar5;\n    goto LAB_001370ae;\n  }" else (if_statement "if ((size == 8) && ((*input_line_pointer == '6' && (input_line_pointer[1] == '4')))) {\nLAB_00137240:\n    cVar1 = input_line_pointer[2];\n    input_line_pointer = input_line_pointer + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar5 = input_line_pointer + 1;\n      iVar2 = (int)input_line_pointer[1];\n      input_line_pointer = pcVar5;\n      if (is_end_of_line[iVar2] == '\0') {\n        iVar3 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar3 = iVar3 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar3 == 0) goto LAB_00137374;\n            iVar3 = iVar3 + -1;\n          }\n          pcVar5 = pcVar5 + 1;\n          iVar2 = (int)*pcVar5;\n        } while (is_end_of_line[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar5 = '\0';\n        expr(0,exp,expr_normal);\n        *pcVar5 = (char)iVar2;\n        if (input_line_pointer == pcVar5) {\n          input_line_pointer = pcVar5 + 1;\n          cVar1 = pcVar5[1];\n          if (cVar1 == ' ') {\n            input_line_pointer = pcVar5 + 2;\n            cVar1 = pcVar5[2];\n          }\n          if (is_end_of_line[(int)cVar1] != '\0') {\n            return pcVar6;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar6;\n          }\n          pcVar5 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar5 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);\n      as_bad(pcVar5,pcVar6,(ulong)(uint)(size * 8));\n      return pcVar6;\n    }\n    pcVar8 = (char *)dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    as_bad(pcVar8,pcVar6,(ulong)(uint)(size * 8));\n    input_line_pointer = pcVar5;\n    goto LAB_001370ae;\n  }" if (parenthesized_expression "((size == 8) && ((*input_line_pointer == '6' && (input_line_pointer[1] == '4'))))" ( (binary_expression "(size == 8) && ((*input_line_pointer == '6' && (input_line_pointer[1] == '4')))" (parenthesized_expression "(size == 8)" ( (binary_expression "size == 8" identifier == number_literal) )) && (parenthesized_expression "((*input_line_pointer == '6' && (input_line_pointer[1] == '4')))" ( (parenthesized_expression "(*input_line_pointer == '6' && (input_line_pointer[1] == '4'))" ( (binary_expression "*input_line_pointer == '6' && (input_line_pointer[1] == '4')" (binary_expression "*input_line_pointer == '6'" (pointer_expression "*input_line_pointer" * identifier) == (char_literal "'6'" ' character ')) && (parenthesized_expression "(input_line_pointer[1] == '4')" ( (binary_expression "input_line_pointer[1] == '4'" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) == (char_literal "'4'" ' character ')) ))) )) ))) )) (compound_statement "{\nLAB_00137240:\n    cVar1 = input_line_pointer[2];\n    input_line_pointer = input_line_pointer + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar5 = input_line_pointer + 1;\n      iVar2 = (int)input_line_pointer[1];\n      input_line_pointer = pcVar5;\n      if (is_end_of_line[iVar2] == '\0') {\n        iVar3 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar3 = iVar3 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar3 == 0) goto LAB_00137374;\n            iVar3 = iVar3 + -1;\n          }\n          pcVar5 = pcVar5 + 1;\n          iVar2 = (int)*pcVar5;\n        } while (is_end_of_line[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar5 = '\0';\n        expr(0,exp,expr_normal);\n        *pcVar5 = (char)iVar2;\n        if (input_line_pointer == pcVar5) {\n          input_line_pointer = pcVar5 + 1;\n          cVar1 = pcVar5[1];\n          if (cVar1 == ' ') {\n            input_line_pointer = pcVar5 + 2;\n            cVar1 = pcVar5[2];\n          }\n          if (is_end_of_line[(int)cVar1] != '\0') {\n            return pcVar6;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar6;\n          }\n          pcVar5 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar5 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);\n      as_bad(pcVar5,pcVar6,(ulong)(uint)(size * 8));\n      return pcVar6;\n    }\n    pcVar8 = (char *)dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    as_bad(pcVar8,pcVar6,(ulong)(uint)(size * 8));\n    input_line_pointer = pcVar5;\n    goto LAB_001370ae;\n  }" { (labeled_statement "LAB_00137240:\n    cVar1 = input_line_pointer[2];" statement_identifier : (expression_statement "cVar1 = input_line_pointer[2];" (assignment_expression "cVar1 = input_line_pointer[2]" identifier = (subscript_expression "input_line_pointer[2]" identifier [ number_literal ])) ;)) (expression_statement "input_line_pointer = input_line_pointer + 2;" (assignment_expression "input_line_pointer = input_line_pointer + 2" identifier = (binary_expression "input_line_pointer + 2" identifier + number_literal)) ;) (labeled_statement "joined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar5 = input_line_pointer + 1;\n      iVar2 = (int)input_line_pointer[1];\n      input_line_pointer = pcVar5;\n      if (is_end_of_line[iVar2] == '\0') {\n        iVar3 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar3 = iVar3 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar3 == 0) goto LAB_00137374;\n            iVar3 = iVar3 + -1;\n          }\n          pcVar5 = pcVar5 + 1;\n          iVar2 = (int)*pcVar5;\n        } while (is_end_of_line[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar5 = '\0';\n        expr(0,exp,expr_normal);\n        *pcVar5 = (char)iVar2;\n        if (input_line_pointer == pcVar5) {\n          input_line_pointer = pcVar5 + 1;\n          cVar1 = pcVar5[1];\n          if (cVar1 == ' ') {\n            input_line_pointer = pcVar5 + 2;\n            cVar1 = pcVar5[2];\n          }\n          if (is_end_of_line[(int)cVar1] != '\0') {\n            return pcVar6;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar6;\n          }\n          pcVar5 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar5 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);\n      as_bad(pcVar5,pcVar6,(ulong)(uint)(size * 8));\n      return pcVar6;\n    }" statement_identifier : (if_statement "if (cVar1 == '(') {\n      pcVar5 = input_line_pointer + 1;\n      iVar2 = (int)input_line_pointer[1];\n      input_line_pointer = pcVar5;\n      if (is_end_of_line[iVar2] == '\0') {\n        iVar3 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar3 = iVar3 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar3 == 0) goto LAB_00137374;\n            iVar3 = iVar3 + -1;\n          }\n          pcVar5 = pcVar5 + 1;\n          iVar2 = (int)*pcVar5;\n        } while (is_end_of_line[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar5 = '\0';\n        expr(0,exp,expr_normal);\n        *pcVar5 = (char)iVar2;\n        if (input_line_pointer == pcVar5) {\n          input_line_pointer = pcVar5 + 1;\n          cVar1 = pcVar5[1];\n          if (cVar1 == ' ') {\n            input_line_pointer = pcVar5 + 2;\n            cVar1 = pcVar5[2];\n          }\n          if (is_end_of_line[(int)cVar1] != '\0') {\n            return pcVar6;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar6;\n          }\n          pcVar5 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar5 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);\n      as_bad(pcVar5,pcVar6,(ulong)(uint)(size * 8));\n      return pcVar6;\n    }" if (parenthesized_expression "(cVar1 == '(')" ( (binary_expression "cVar1 == '('" identifier == (char_literal "'('" ' character ')) )) (compound_statement "{\n      pcVar5 = input_line_pointer + 1;\n      iVar2 = (int)input_line_pointer[1];\n      input_line_pointer = pcVar5;\n      if (is_end_of_line[iVar2] == '\0') {\n        iVar3 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar3 = iVar3 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar3 == 0) goto LAB_00137374;\n            iVar3 = iVar3 + -1;\n          }\n          pcVar5 = pcVar5 + 1;\n          iVar2 = (int)*pcVar5;\n        } while (is_end_of_line[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar5 = '\0';\n        expr(0,exp,expr_normal);\n        *pcVar5 = (char)iVar2;\n        if (input_line_pointer == pcVar5) {\n          input_line_pointer = pcVar5 + 1;\n          cVar1 = pcVar5[1];\n          if (cVar1 == ' ') {\n            input_line_pointer = pcVar5 + 2;\n            cVar1 = pcVar5[2];\n          }\n          if (is_end_of_line[(int)cVar1] != '\0') {\n            return pcVar6;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar6;\n          }\n          pcVar5 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar5 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      pcVar5 = (char *)dcgettext(0,pcVar5,5);\n      as_bad(pcVar5,pcVar6,(ulong)(uint)(size * 8));\n      return pcVar6;\n    }" { (expression_statement "pcVar5 = input_line_pointer + 1;" (assignment_expression "pcVar5 = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) (expression_statement "iVar2 = (int)input_line_pointer[1];" (assignment_expression "iVar2 = (int)input_line_pointer[1]" identifier = (cast_expression "(int)input_line_pointer[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]))) ;) (expression_statement "input_line_pointer = pcVar5;" (assignment_expression "input_line_pointer = pcVar5" identifier = identifier) ;) (if_statement "if (is_end_of_line[iVar2] == '\0') {\n        iVar3 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar3 = iVar3 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar3 == 0) goto LAB_00137374;\n            iVar3 = iVar3 + -1;\n          }\n          pcVar5 = pcVar5 + 1;\n          iVar2 = (int)*pcVar5;\n        } while (is_end_of_line[iVar2] == '\0');\n      }" if (parenthesized_expression "(is_end_of_line[iVar2] == '\0')" ( (binary_expression "is_end_of_line[iVar2] == '\0'" (subscript_expression "is_end_of_line[iVar2]" identifier [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        iVar3 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar3 = iVar3 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar3 == 0) goto LAB_00137374;\n            iVar3 = iVar3 + -1;\n          }\n          pcVar5 = pcVar5 + 1;\n          iVar2 = (int)*pcVar5;\n        } while (is_end_of_line[iVar2] == '\0');\n      }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (do_statement "do {\n          if (iVar2 == 0x28) {\n            iVar3 = iVar3 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar3 == 0) goto LAB_00137374;\n            iVar3 = iVar3 + -1;\n          }\n          pcVar5 = pcVar5 + 1;\n          iVar2 = (int)*pcVar5;\n        } while (is_end_of_line[iVar2] == '\0');" do (compound_statement "{\n          if (iVar2 == 0x28) {\n            iVar3 = iVar3 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar3 == 0) goto LAB_00137374;\n            iVar3 = iVar3 + -1;\n          }\n          pcVar5 = pcVar5 + 1;\n          iVar2 = (int)*pcVar5;\n        }" { (if_statement "if (iVar2 == 0x28) {\n            iVar3 = iVar3 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar3 == 0) goto LAB_00137374;\n            iVar3 = iVar3 + -1;\n          }" if (parenthesized_expression "(iVar2 == 0x28)" ( (binary_expression "iVar2 == 0x28" identifier == number_literal) )) (compound_statement "{\n            iVar3 = iVar3 + 1;\n          }" { (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) }) (else_clause "else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar3 == 0) goto LAB_00137374;\n            iVar3 = iVar3 + -1;\n          }" else (if_statement "if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar3 == 0) goto LAB_00137374;\n            iVar3 = iVar3 + -1;\n          }" if (parenthesized_expression "(iVar2 == 0x29)" ( (binary_expression "iVar2 == 0x29" identifier == number_literal) )) (compound_statement "{\n            iVar2 = 0x29;\n            if (iVar3 == 0) goto LAB_00137374;\n            iVar3 = iVar3 + -1;\n          }" { (expression_statement "iVar2 = 0x29;" (assignment_expression "iVar2 = 0x29" identifier = number_literal) ;) (if_statement "if (iVar3 == 0) goto LAB_00137374;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00137374;" goto statement_identifier ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) })))) (expression_statement "pcVar5 = pcVar5 + 1;" (assignment_expression "pcVar5 = pcVar5 + 1" identifier = (binary_expression "pcVar5 + 1" identifier + number_literal)) ;) (expression_statement "iVar2 = (int)*pcVar5;" (assignment_expression "iVar2 = (int)*pcVar5" identifier = (cast_expression "(int)*pcVar5" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcVar5" * identifier))) ;) }) while (parenthesized_expression "(is_end_of_line[iVar2] == '\0')" ( (binary_expression "is_end_of_line[iVar2] == '\0'" (subscript_expression "is_end_of_line[iVar2]" identifier [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) )) ;) })) (if_statement "if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar5 = '\0';\n        expr(0,exp,expr_normal);\n        *pcVar5 = (char)iVar2;\n        if (input_line_pointer == pcVar5) {\n          input_line_pointer = pcVar5 + 1;\n          cVar1 = pcVar5[1];\n          if (cVar1 == ' ') {\n            input_line_pointer = pcVar5 + 2;\n            cVar1 = pcVar5[2];\n          }\n          if (is_end_of_line[(int)cVar1] != '\0') {\n            return pcVar6;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar6;\n          }\n          pcVar5 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }" if (parenthesized_expression "(iVar2 == 0x29)" ( (binary_expression "iVar2 == 0x29" identifier == number_literal) )) (compound_statement "{\nLAB_00137374:\n        *pcVar5 = '\0';\n        expr(0,exp,expr_normal);\n        *pcVar5 = (char)iVar2;\n        if (input_line_pointer == pcVar5) {\n          input_line_pointer = pcVar5 + 1;\n          cVar1 = pcVar5[1];\n          if (cVar1 == ' ') {\n            input_line_pointer = pcVar5 + 2;\n            cVar1 = pcVar5[2];\n          }\n          if (is_end_of_line[(int)cVar1] != '\0') {\n            return pcVar6;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar6;\n          }\n          pcVar5 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }" { (labeled_statement "LAB_00137374:\n        *pcVar5 = '\0';" statement_identifier : (expression_statement "*pcVar5 = '\0';" (assignment_expression "*pcVar5 = '\0'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "expr(0,exp,expr_normal);" (call_expression "expr(0,exp,expr_normal)" identifier (argument_list "(0,exp,expr_normal)" ( number_literal , identifier , identifier ))) ;) (expression_statement "*pcVar5 = (char)iVar2;" (assignment_expression "*pcVar5 = (char)iVar2" (pointer_expression "*pcVar5" * identifier) = (cast_expression "(char)iVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if (input_line_pointer == pcVar5) {\n          input_line_pointer = pcVar5 + 1;\n          cVar1 = pcVar5[1];\n          if (cVar1 == ' ') {\n            input_line_pointer = pcVar5 + 2;\n            cVar1 = pcVar5[2];\n          }\n          if (is_end_of_line[(int)cVar1] != '\0') {\n            return pcVar6;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar6;\n          }\n          pcVar5 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }" if (parenthesized_expression "(input_line_pointer == pcVar5)" ( (binary_expression "input_line_pointer == pcVar5" identifier == identifier) )) (compound_statement "{\n          input_line_pointer = pcVar5 + 1;\n          cVar1 = pcVar5[1];\n          if (cVar1 == ' ') {\n            input_line_pointer = pcVar5 + 2;\n            cVar1 = pcVar5[2];\n          }\n          if (is_end_of_line[(int)cVar1] != '\0') {\n            return pcVar6;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar6;\n          }\n          pcVar5 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }" { (expression_statement "input_line_pointer = pcVar5 + 1;" (assignment_expression "input_line_pointer = pcVar5 + 1" identifier = (binary_expression "pcVar5 + 1" identifier + number_literal)) ;) (expression_statement "cVar1 = pcVar5[1];" (assignment_expression "cVar1 = pcVar5[1]" identifier = (subscript_expression "pcVar5[1]" identifier [ number_literal ])) ;) (if_statement "if (cVar1 == ' ') {\n            input_line_pointer = pcVar5 + 2;\n            cVar1 = pcVar5[2];\n          }" if (parenthesized_expression "(cVar1 == ' ')" ( (binary_expression "cVar1 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n            input_line_pointer = pcVar5 + 2;\n            cVar1 = pcVar5[2];\n          }" { (expression_statement "input_line_pointer = pcVar5 + 2;" (assignment_expression "input_line_pointer = pcVar5 + 2" identifier = (binary_expression "pcVar5 + 2" identifier + number_literal)) ;) (expression_statement "cVar1 = pcVar5[2];" (assignment_expression "cVar1 = pcVar5[2]" identifier = (subscript_expression "pcVar5[2]" identifier [ number_literal ])) ;) })) (if_statement "if (is_end_of_line[(int)cVar1] != '\0') {\n            return pcVar6;\n          }" if (parenthesized_expression "(is_end_of_line[(int)cVar1] != '\0')" ( (binary_expression "is_end_of_line[(int)cVar1] != '\0'" (subscript_expression "is_end_of_line[(int)cVar1]" identifier [ (cast_expression "(int)cVar1" ( (type_descriptor "int" primitive_type) ) identifier) ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            return pcVar6;\n          }" { (return_statement "return pcVar6;" return identifier ;) })) (if_statement "if (cVar1 == 0x2c) {\n            return pcVar6;\n          }" if (parenthesized_expression "(cVar1 == 0x2c)" ( (binary_expression "cVar1 == 0x2c" identifier == number_literal) )) (compound_statement "{\n            return pcVar6;\n          }" { (return_statement "return pcVar6;" return identifier ;) })) (expression_statement "pcVar5 = "Illegal operands: garbage after %%r_%s%d()";" (assignment_expression "pcVar5 = "Illegal operands: garbage after %%r_%s%d()"" identifier = (string_literal ""Illegal operands: garbage after %%r_%s%d()"" " string_content ")) ;) (goto_statement "goto LAB_00137309;" goto statement_identifier ;) })) })) (expression_statement "pcVar5 = "Illegal operands: %%r_%s%d requires arguments in ()";" (assignment_expression "pcVar5 = "Illegal operands: %%r_%s%d requires arguments in ()"" identifier = (string_literal ""Illegal operands: %%r_%s%d requires arguments in ()"" " string_content ")) ;) (labeled_statement "LAB_00137309:\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,pcVar6,(ulong)(uint)(size * 8));" (call_expression "as_bad(pcVar5,pcVar6,(ulong)(uint)(size * 8))" identifier (argument_list "(pcVar5,pcVar6,(ulong)(uint)(size * 8))" ( identifier , identifier , (call_expression "(ulong)(uint)(size * 8)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(size * 8)" ( (binary_expression "size * 8" identifier * number_literal) ))) ))) ;) (return_statement "return pcVar6;" return identifier ;) }))) (expression_statement "pcVar8 = (char *)dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5)" identifier = (cast_expression "(char *)dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5)" identifier (argument_list "(0,"Illegal operands: %%r_%s%d requires arguments in ()",5)" ( number_literal , (string_literal ""Illegal operands: %%r_%s%d requires arguments in ()"" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar8,pcVar6,(ulong)(uint)(size * 8));" (call_expression "as_bad(pcVar8,pcVar6,(ulong)(uint)(size * 8))" identifier (argument_list "(pcVar8,pcVar6,(ulong)(uint)(size * 8))" ( identifier , identifier , (call_expression "(ulong)(uint)(size * 8)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(size * 8)" ( (binary_expression "size * 8" identifier * number_literal) ))) ))) ;) (expression_statement "input_line_pointer = pcVar5;" (assignment_expression "input_line_pointer = pcVar5" identifier = identifier) ;) (goto_statement "goto LAB_001370ae;" goto statement_identifier ;) })))))))) (expression_statement "pcVar8 = (char *)dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5)" identifier = (cast_expression "(char *)dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5)" identifier (argument_list "(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5)" ( number_literal , (string_literal ""Illegal operands: Only %%r_%s%d allowed in %d-byte data fields"" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar8,pcVar6,(ulong)(uint)(size * 8),(ulong)(uint)size);" (call_expression "as_bad(pcVar8,pcVar6,(ulong)(uint)(size * 8),(ulong)(uint)size)" identifier (argument_list "(pcVar8,pcVar6,(ulong)(uint)(size * 8),(ulong)(uint)size)" ( identifier , identifier , (call_expression "(ulong)(uint)(size * 8)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(size * 8)" ( (binary_expression "size * 8" identifier * number_literal) ))) , (cast_expression "(ulong)(uint)size" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)size" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ;) (expression_statement "input_line_pointer = pcVar5;" (assignment_expression "input_line_pointer = pcVar5" identifier = identifier) ;) (labeled_statement "LAB_001370ae:\n  expr(0,exp,expr_normal);" statement_identifier : (expression_statement "expr(0,exp,expr_normal);" (call_expression "expr(0,exp,expr_normal)" identifier (argument_list "(0,exp,expr_normal)" ( number_literal , identifier , identifier ))) ;)) (return_statement "return (char *)0x0;" return (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit "char * FUN_00137070(undefined8 param_1,int param_2)\n\n{\n  char cVar1;\n  int iVar2;\n  undefined8 uVar3;\n  int iVar4;\n  long lVar5;\n  char *pcVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  char *pcVar9;\n  byte *pbVar10;\n  byte *pbVar11;\n  bool bVar12;\n  bool bVar13;\n  bool bVar14;\n  \n  cVar1 = *DAT_00187800;\n  if (cVar1 == ' ') {\n    cVar1 = DAT_00187800[1];\n    DAT_00187800 = DAT_00187800 + 1;\n  }\n  pcVar6 = DAT_00187800;\n  DAT_00187800 = pcVar6;\n  if ((cVar1 != '%') || (DAT_00187800[1] != 'r')) goto LAB_001370ae;\n  bVar12 = (byte)DAT_00187800[2] < 0x5f;\n  bVar14 = DAT_00187800[2] == 0x5f;\n  if (!bVar14) goto LAB_001370ae;\n  pbVar10 = (byte *)(DAT_00187800 + 3);\n  pcVar7 = "disp";\n  lVar5 = 4;\n  pbVar8 = pbVar10;\n  pbVar11 = (byte *)0x143de8;\n  do {\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar12 = *pbVar8 < *pbVar11;\n    bVar14 = *pbVar8 == *pbVar11;\n    pbVar8 = pbVar8 + 1;\n    pbVar11 = pbVar11 + 1;\n  } while (bVar14);\n  bVar13 = false;\n  bVar12 = (!bVar12 && !bVar14) == bVar12;\n  if (bVar12) {\n    DAT_00187800 = DAT_00187800 + 7;\n  }\n  else {\n    pcVar7 = "plt";\n    lVar5 = 3;\n    pbVar8 = pbVar10;\n    pbVar11 = &DAT_00145697;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 1;\n    } while (bVar12);\n    bVar14 = false;\n    bVar12 = (!bVar13 && !bVar12) == bVar13;\n    if (bVar12) {\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }\n    else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }\n  }\n  if (param_2 == 2) {\n    if ((*DAT_00187800 == '1') && (DAT_00187800[1] == '6')) goto LAB_00137240;\n  }\n  else if (param_2 < 3) {\n    if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }\n  }\n  else if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }\n  uVar3 = dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5);\n  FUN_0011d670(uVar3,pcVar7,param_2 * 8,param_2);\n  DAT_00187800 = pcVar6;\nLAB_001370ae:\n  FUN_001155a0(0,param_1,1);\n  return (char *)0x0;\n}\n\n" (function_definition "char * FUN_00137070(undefined8 param_1,int param_2)\n\n{\n  char cVar1;\n  int iVar2;\n  undefined8 uVar3;\n  int iVar4;\n  long lVar5;\n  char *pcVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  char *pcVar9;\n  byte *pbVar10;\n  byte *pbVar11;\n  bool bVar12;\n  bool bVar13;\n  bool bVar14;\n  \n  cVar1 = *DAT_00187800;\n  if (cVar1 == ' ') {\n    cVar1 = DAT_00187800[1];\n    DAT_00187800 = DAT_00187800 + 1;\n  }\n  pcVar6 = DAT_00187800;\n  DAT_00187800 = pcVar6;\n  if ((cVar1 != '%') || (DAT_00187800[1] != 'r')) goto LAB_001370ae;\n  bVar12 = (byte)DAT_00187800[2] < 0x5f;\n  bVar14 = DAT_00187800[2] == 0x5f;\n  if (!bVar14) goto LAB_001370ae;\n  pbVar10 = (byte *)(DAT_00187800 + 3);\n  pcVar7 = "disp";\n  lVar5 = 4;\n  pbVar8 = pbVar10;\n  pbVar11 = (byte *)0x143de8;\n  do {\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar12 = *pbVar8 < *pbVar11;\n    bVar14 = *pbVar8 == *pbVar11;\n    pbVar8 = pbVar8 + 1;\n    pbVar11 = pbVar11 + 1;\n  } while (bVar14);\n  bVar13 = false;\n  bVar12 = (!bVar12 && !bVar14) == bVar12;\n  if (bVar12) {\n    DAT_00187800 = DAT_00187800 + 7;\n  }\n  else {\n    pcVar7 = "plt";\n    lVar5 = 3;\n    pbVar8 = pbVar10;\n    pbVar11 = &DAT_00145697;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 1;\n    } while (bVar12);\n    bVar14 = false;\n    bVar12 = (!bVar13 && !bVar12) == bVar13;\n    if (bVar12) {\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }\n    else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }\n  }\n  if (param_2 == 2) {\n    if ((*DAT_00187800 == '1') && (DAT_00187800[1] == '6')) goto LAB_00137240;\n  }\n  else if (param_2 < 3) {\n    if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }\n  }\n  else if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }\n  uVar3 = dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5);\n  FUN_0011d670(uVar3,pcVar7,param_2 * 8,param_2);\n  DAT_00187800 = pcVar6;\nLAB_001370ae:\n  FUN_001155a0(0,param_1,1);\n  return (char *)0x0;\n}" primitive_type (pointer_declarator "* FUN_00137070(undefined8 param_1,int param_2)" * (function_declarator "FUN_00137070(undefined8 param_1,int param_2)" identifier (parameter_list "(undefined8 param_1,int param_2)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) )))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  undefined8 uVar3;\n  int iVar4;\n  long lVar5;\n  char *pcVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  char *pcVar9;\n  byte *pbVar10;\n  byte *pbVar11;\n  bool bVar12;\n  bool bVar13;\n  bool bVar14;\n  \n  cVar1 = *DAT_00187800;\n  if (cVar1 == ' ') {\n    cVar1 = DAT_00187800[1];\n    DAT_00187800 = DAT_00187800 + 1;\n  }\n  pcVar6 = DAT_00187800;\n  DAT_00187800 = pcVar6;\n  if ((cVar1 != '%') || (DAT_00187800[1] != 'r')) goto LAB_001370ae;\n  bVar12 = (byte)DAT_00187800[2] < 0x5f;\n  bVar14 = DAT_00187800[2] == 0x5f;\n  if (!bVar14) goto LAB_001370ae;\n  pbVar10 = (byte *)(DAT_00187800 + 3);\n  pcVar7 = "disp";\n  lVar5 = 4;\n  pbVar8 = pbVar10;\n  pbVar11 = (byte *)0x143de8;\n  do {\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar12 = *pbVar8 < *pbVar11;\n    bVar14 = *pbVar8 == *pbVar11;\n    pbVar8 = pbVar8 + 1;\n    pbVar11 = pbVar11 + 1;\n  } while (bVar14);\n  bVar13 = false;\n  bVar12 = (!bVar12 && !bVar14) == bVar12;\n  if (bVar12) {\n    DAT_00187800 = DAT_00187800 + 7;\n  }\n  else {\n    pcVar7 = "plt";\n    lVar5 = 3;\n    pbVar8 = pbVar10;\n    pbVar11 = &DAT_00145697;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 1;\n    } while (bVar12);\n    bVar14 = false;\n    bVar12 = (!bVar13 && !bVar12) == bVar13;\n    if (bVar12) {\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }\n    else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }\n  }\n  if (param_2 == 2) {\n    if ((*DAT_00187800 == '1') && (DAT_00187800[1] == '6')) goto LAB_00137240;\n  }\n  else if (param_2 < 3) {\n    if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }\n  }\n  else if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }\n  uVar3 = dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5);\n  FUN_0011d670(uVar3,pcVar7,param_2 * 8,param_2);\n  DAT_00187800 = pcVar6;\nLAB_001370ae:\n  FUN_001155a0(0,param_1,1);\n  return (char *)0x0;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "bool bVar12;" primitive_type identifier ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "bool bVar14;" primitive_type identifier ;) (expression_statement "cVar1 = *DAT_00187800;" (assignment_expression "cVar1 = *DAT_00187800" identifier = (pointer_expression "*DAT_00187800" * identifier)) ;) (if_statement "if (cVar1 == ' ') {\n    cVar1 = DAT_00187800[1];\n    DAT_00187800 = DAT_00187800 + 1;\n  }" if (parenthesized_expression "(cVar1 == ' ')" ( (binary_expression "cVar1 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n    cVar1 = DAT_00187800[1];\n    DAT_00187800 = DAT_00187800 + 1;\n  }" { (expression_statement "cVar1 = DAT_00187800[1];" (assignment_expression "cVar1 = DAT_00187800[1]" identifier = (subscript_expression "DAT_00187800[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_00187800 = DAT_00187800 + 1;" (assignment_expression "DAT_00187800 = DAT_00187800 + 1" identifier = (binary_expression "DAT_00187800 + 1" identifier + number_literal)) ;) })) (expression_statement "pcVar6 = DAT_00187800;" (assignment_expression "pcVar6 = DAT_00187800" identifier = identifier) ;) (expression_statement "DAT_00187800 = pcVar6;" (assignment_expression "DAT_00187800 = pcVar6" identifier = identifier) ;) (if_statement "if ((cVar1 != '%') || (DAT_00187800[1] != 'r')) goto LAB_001370ae;" if (parenthesized_expression "((cVar1 != '%') || (DAT_00187800[1] != 'r'))" ( (binary_expression "(cVar1 != '%') || (DAT_00187800[1] != 'r')" (parenthesized_expression "(cVar1 != '%')" ( (binary_expression "cVar1 != '%'" identifier != (char_literal "'%'" ' character ')) )) || (parenthesized_expression "(DAT_00187800[1] != 'r')" ( (binary_expression "DAT_00187800[1] != 'r'" (subscript_expression "DAT_00187800[1]" identifier [ number_literal ]) != (char_literal "'r'" ' character ')) ))) )) (goto_statement "goto LAB_001370ae;" goto statement_identifier ;)) (expression_statement "bVar12 = (byte)DAT_00187800[2] < 0x5f;" (assignment_expression "bVar12 = (byte)DAT_00187800[2] < 0x5f" identifier = (binary_expression "(byte)DAT_00187800[2] < 0x5f" (cast_expression "(byte)DAT_00187800[2]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "DAT_00187800[2]" identifier [ number_literal ])) < number_literal)) ;) (expression_statement "bVar14 = DAT_00187800[2] == 0x5f;" (assignment_expression "bVar14 = DAT_00187800[2] == 0x5f" identifier = (binary_expression "DAT_00187800[2] == 0x5f" (subscript_expression "DAT_00187800[2]" identifier [ number_literal ]) == number_literal)) ;) (if_statement "if (!bVar14) goto LAB_001370ae;" if (parenthesized_expression "(!bVar14)" ( (unary_expression "!bVar14" ! identifier) )) (goto_statement "goto LAB_001370ae;" goto statement_identifier ;)) (expression_statement "pbVar10 = (byte *)(DAT_00187800 + 3);" (assignment_expression "pbVar10 = (byte *)(DAT_00187800 + 3)" identifier = (cast_expression "(byte *)(DAT_00187800 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00187800 + 3)" ( (binary_expression "DAT_00187800 + 3" identifier + number_literal) )))) ;) (expression_statement "pcVar7 = "disp";" (assignment_expression "pcVar7 = "disp"" identifier = (string_literal ""disp"" " string_content ")) ;) (expression_statement "lVar5 = 4;" (assignment_expression "lVar5 = 4" identifier = number_literal) ;) (expression_statement "pbVar8 = pbVar10;" (assignment_expression "pbVar8 = pbVar10" identifier = identifier) ;) (expression_statement "pbVar11 = (byte *)0x143de8;" (assignment_expression "pbVar11 = (byte *)0x143de8" identifier = (cast_expression "(byte *)0x143de8" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar12 = *pbVar8 < *pbVar11;\n    bVar14 = *pbVar8 == *pbVar11;\n    pbVar8 = pbVar8 + 1;\n    pbVar11 = pbVar11 + 1;\n  } while (bVar14);" do (compound_statement "{\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar12 = *pbVar8 < *pbVar11;\n    bVar14 = *pbVar8 == *pbVar11;\n    pbVar8 = pbVar8 + 1;\n    pbVar11 = pbVar11 + 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 "bVar12 = *pbVar8 < *pbVar11;" (assignment_expression "bVar12 = *pbVar8 < *pbVar11" identifier = (binary_expression "*pbVar8 < *pbVar11" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar11" * identifier))) ;) (expression_statement "bVar14 = *pbVar8 == *pbVar11;" (assignment_expression "bVar14 = *pbVar8 == *pbVar11" identifier = (binary_expression "*pbVar8 == *pbVar11" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar11" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "pbVar11 = pbVar11 + 1;" (assignment_expression "pbVar11 = pbVar11 + 1" identifier = (binary_expression "pbVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar14)" ( identifier )) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar12 = (!bVar12 && !bVar14) == bVar12;" (assignment_expression "bVar12 = (!bVar12 && !bVar14) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar14) == bVar12" (parenthesized_expression "(!bVar12 && !bVar14)" ( (binary_expression "!bVar12 && !bVar14" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar14" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar12) {\n    DAT_00187800 = DAT_00187800 + 7;\n  }\n  else {\n    pcVar7 = "plt";\n    lVar5 = 3;\n    pbVar8 = pbVar10;\n    pbVar11 = &DAT_00145697;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 1;\n    } while (bVar12);\n    bVar14 = false;\n    bVar12 = (!bVar13 && !bVar12) == bVar13;\n    if (bVar12) {\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }\n    else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }\n  }" if (parenthesized_expression "(bVar12)" ( identifier )) (compound_statement "{\n    DAT_00187800 = DAT_00187800 + 7;\n  }" { (expression_statement "DAT_00187800 = DAT_00187800 + 7;" (assignment_expression "DAT_00187800 = DAT_00187800 + 7" identifier = (binary_expression "DAT_00187800 + 7" identifier + number_literal)) ;) }) (else_clause "else {\n    pcVar7 = "plt";\n    lVar5 = 3;\n    pbVar8 = pbVar10;\n    pbVar11 = &DAT_00145697;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 1;\n    } while (bVar12);\n    bVar14 = false;\n    bVar12 = (!bVar13 && !bVar12) == bVar13;\n    if (bVar12) {\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }\n    else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }\n  }" else (compound_statement "{\n    pcVar7 = "plt";\n    lVar5 = 3;\n    pbVar8 = pbVar10;\n    pbVar11 = &DAT_00145697;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 1;\n    } while (bVar12);\n    bVar14 = false;\n    bVar12 = (!bVar13 && !bVar12) == bVar13;\n    if (bVar12) {\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }\n    else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }\n  }" { (expression_statement "pcVar7 = "plt";" (assignment_expression "pcVar7 = "plt"" identifier = (string_literal ""plt"" " string_content ")) ;) (expression_statement "lVar5 = 3;" (assignment_expression "lVar5 = 3" identifier = number_literal) ;) (expression_statement "pbVar8 = pbVar10;" (assignment_expression "pbVar8 = pbVar10" identifier = identifier) ;) (expression_statement "pbVar11 = &DAT_00145697;" (assignment_expression "pbVar11 = &DAT_00145697" identifier = (pointer_expression "&DAT_00145697" & identifier)) ;) (do_statement "do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 1;\n    } while (bVar12);" do (compound_statement "{\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 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 "bVar13 = *pbVar8 < *pbVar11;" (assignment_expression "bVar13 = *pbVar8 < *pbVar11" identifier = (binary_expression "*pbVar8 < *pbVar11" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar11" * identifier))) ;) (expression_statement "bVar12 = *pbVar8 == *pbVar11;" (assignment_expression "bVar12 = *pbVar8 == *pbVar11" identifier = (binary_expression "*pbVar8 == *pbVar11" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar11" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "pbVar11 = pbVar11 + 1;" (assignment_expression "pbVar11 = pbVar11 + 1" identifier = (binary_expression "pbVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar12)" ( identifier )) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar12 = (!bVar13 && !bVar12) == bVar13;" (assignment_expression "bVar12 = (!bVar13 && !bVar12) == bVar13" identifier = (binary_expression "(!bVar13 && !bVar12) == bVar13" (parenthesized_expression "(!bVar13 && !bVar12)" ( (binary_expression "!bVar13 && !bVar12" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar12" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar12) {\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }\n    else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }" if (parenthesized_expression "(bVar12)" ( identifier )) (compound_statement "{\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }" { (expression_statement "pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";" (assignment_expression "pcVar9 = "Illegal operands: %%r_plt in %d-byte data field"" identifier = (string_literal ""Illegal operands: %%r_plt in %d-byte data field"" " string_content ")) ;) (if_statement "if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }" if (parenthesized_expression "((param_2 - 4U & 0xfffffffb) != 0)" ( (binary_expression "(param_2 - 4U & 0xfffffffb) != 0" (parenthesized_expression "(param_2 - 4U & 0xfffffffb)" ( (binary_expression "param_2 - 4U & 0xfffffffb" (binary_expression "param_2 - 4U" identifier - number_literal) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }" { (labeled_statement "LAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);" statement_identifier : (expression_statement "uVar3 = dcgettext(0,pcVar9,5);" (assignment_expression "uVar3 = dcgettext(0,pcVar9,5)" identifier = (call_expression "dcgettext(0,pcVar9,5)" identifier (argument_list "(0,pcVar9,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "FUN_0011d670(uVar3,param_2);" (call_expression "FUN_0011d670(uVar3,param_2)" identifier (argument_list "(uVar3,param_2)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_001370ae;" goto statement_identifier ;) })) (expression_statement "DAT_00187800 = DAT_00187800 + 6;" (assignment_expression "DAT_00187800 = DAT_00187800 + 6" identifier = (binary_expression "DAT_00187800 + 6" identifier + number_literal)) ;) }) (else_clause "else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }" else (compound_statement "{\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }" { (expression_statement "pcVar7 = "tls_dtpoff";" (assignment_expression "pcVar7 = "tls_dtpoff"" identifier = (string_literal ""tls_dtpoff"" " string_content ")) ;) (expression_statement "lVar5 = 10;" (assignment_expression "lVar5 = 10" identifier = number_literal) ;) (expression_statement "pbVar8 = (byte *)"tls_dtpoff";" (assignment_expression "pbVar8 = (byte *)"tls_dtpoff"" identifier = (cast_expression "(byte *)"tls_dtpoff"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""tls_dtpoff"" " string_content "))) ;) (do_statement "do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);" do (compound_statement "{\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 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 "bVar14 = *pbVar10 < *pbVar8;" (assignment_expression "bVar14 = *pbVar10 < *pbVar8" identifier = (binary_expression "*pbVar10 < *pbVar8" (pointer_expression "*pbVar10" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar12 = *pbVar10 == *pbVar8;" (assignment_expression "bVar12 = *pbVar10 == *pbVar8" identifier = (binary_expression "*pbVar10 == *pbVar8" (pointer_expression "*pbVar10" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar10 = pbVar10 + 1;" (assignment_expression "pbVar10 = pbVar10 + 1" identifier = (binary_expression "pbVar10 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar12)" ( identifier )) ;) (if_statement "if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;" if (parenthesized_expression "((!bVar14 && !bVar12) != bVar14)" ( (binary_expression "(!bVar14 && !bVar12) != bVar14" (parenthesized_expression "(!bVar14 && !bVar12)" ( (binary_expression "!bVar14 && !bVar12" (unary_expression "!bVar14" ! identifier) && (unary_expression "!bVar12" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_001370ae;" goto statement_identifier ;)) (if_statement "if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }" if (parenthesized_expression "((param_2 - 4U & 0xfffffffb) != 0)" ( (binary_expression "(param_2 - 4U & 0xfffffffb) != 0" (parenthesized_expression "(param_2 - 4U & 0xfffffffb)" ( (binary_expression "param_2 - 4U & 0xfffffffb" (binary_expression "param_2 - 4U" identifier - number_literal) & number_literal) )) != number_literal) )) (compound_statement "{\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }" { (expression_statement "pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";" (assignment_expression "pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field"" identifier = (string_literal ""Illegal operands: %%r_tls_dtpoff in %d-byte data field"" " string_content ")) ;) (goto_statement "goto LAB_0013735b;" goto statement_identifier ;) })) (expression_statement "DAT_00187800 = DAT_00187800 + 0xd;" (assignment_expression "DAT_00187800 = DAT_00187800 + 0xd" identifier = (binary_expression "DAT_00187800 + 0xd" identifier + number_literal)) ;) }))) }))) (if_statement "if (param_2 == 2) {\n    if ((*DAT_00187800 == '1') && (DAT_00187800[1] == '6')) goto LAB_00137240;\n  }\n  else if (param_2 < 3) {\n    if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }\n  }\n  else if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" if (parenthesized_expression "(param_2 == 2)" ( (binary_expression "param_2 == 2" identifier == number_literal) )) (compound_statement "{\n    if ((*DAT_00187800 == '1') && (DAT_00187800[1] == '6')) goto LAB_00137240;\n  }" { (if_statement "if ((*DAT_00187800 == '1') && (DAT_00187800[1] == '6')) goto LAB_00137240;" if (parenthesized_expression "((*DAT_00187800 == '1') && (DAT_00187800[1] == '6'))" ( (binary_expression "(*DAT_00187800 == '1') && (DAT_00187800[1] == '6')" (parenthesized_expression "(*DAT_00187800 == '1')" ( (binary_expression "*DAT_00187800 == '1'" (pointer_expression "*DAT_00187800" * identifier) == (char_literal "'1'" ' character ')) )) && (parenthesized_expression "(DAT_00187800[1] == '6')" ( (binary_expression "DAT_00187800[1] == '6'" (subscript_expression "DAT_00187800[1]" identifier [ number_literal ]) == (char_literal "'6'" ' character ')) ))) )) (goto_statement "goto LAB_00137240;" goto statement_identifier ;)) }) (else_clause "else if (param_2 < 3) {\n    if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }\n  }\n  else if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" else (if_statement "if (param_2 < 3) {\n    if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }\n  }\n  else if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" if (parenthesized_expression "(param_2 < 3)" ( (binary_expression "param_2 < 3" identifier < number_literal) )) (compound_statement "{\n    if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }\n  }" { (if_statement "if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }" if (parenthesized_expression "(param_2 == 1)" ( (binary_expression "param_2 == 1" identifier == number_literal) )) (compound_statement "{\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }" { (if_statement "if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }" if (parenthesized_expression "(*DAT_00187800 == '8')" ( (binary_expression "*DAT_00187800 == '8'" (pointer_expression "*DAT_00187800" * identifier) == (char_literal "'8'" ' character ')) )) (compound_statement "{\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }" { (expression_statement "cVar1 = DAT_00187800[1];" (assignment_expression "cVar1 = DAT_00187800[1]" identifier = (subscript_expression "DAT_00187800[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_00187800 = DAT_00187800 + 1;" (assignment_expression "DAT_00187800 = DAT_00187800 + 1" identifier = (binary_expression "DAT_00187800 + 1" identifier + number_literal)) ;) (goto_statement "goto joined_r0x0013728d;" goto statement_identifier ;) })) (expression_statement "DAT_00187800 = DAT_00187800 + -1;" (assignment_expression "DAT_00187800 = DAT_00187800 + -1" identifier = (binary_expression "DAT_00187800 + -1" identifier + number_literal)) ;) })) }) (else_clause "else if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" else (if_statement "if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" if (parenthesized_expression "(param_2 == 4)" ( (binary_expression "param_2 == 4" identifier == number_literal) )) (compound_statement "{\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }" { (if_statement "if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;" if (parenthesized_expression "((*DAT_00187800 == '3') && (DAT_00187800[1] == '2'))" ( (binary_expression "(*DAT_00187800 == '3') && (DAT_00187800[1] == '2')" (parenthesized_expression "(*DAT_00187800 == '3')" ( (binary_expression "*DAT_00187800 == '3'" (pointer_expression "*DAT_00187800" * identifier) == (char_literal "'3'" ' character ')) )) && (parenthesized_expression "(DAT_00187800[1] == '2')" ( (binary_expression "DAT_00187800[1] == '2'" (subscript_expression "DAT_00187800[1]" identifier [ number_literal ]) == (char_literal "'2'" ' character ')) ))) )) (goto_statement "goto LAB_00137240;" goto statement_identifier ;)) }) (else_clause "else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" else (if_statement "if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" if (parenthesized_expression "((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4'))))" ( (binary_expression "(param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))" (parenthesized_expression "(param_2 == 8)" ( (binary_expression "param_2 == 8" identifier == number_literal) )) && (parenthesized_expression "((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))" ( (parenthesized_expression "(*DAT_00187800 == '6' && (DAT_00187800[1] == '4'))" ( (binary_expression "*DAT_00187800 == '6' && (DAT_00187800[1] == '4')" (binary_expression "*DAT_00187800 == '6'" (pointer_expression "*DAT_00187800" * identifier) == (char_literal "'6'" ' character ')) && (parenthesized_expression "(DAT_00187800[1] == '4')" ( (binary_expression "DAT_00187800[1] == '4'" (subscript_expression "DAT_00187800[1]" identifier [ number_literal ]) == (char_literal "'4'" ' character ')) ))) )) ))) )) (compound_statement "{\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" { (labeled_statement "LAB_00137240:\n    cVar1 = DAT_00187800[2];" statement_identifier : (expression_statement "cVar1 = DAT_00187800[2];" (assignment_expression "cVar1 = DAT_00187800[2]" identifier = (subscript_expression "DAT_00187800[2]" identifier [ number_literal ])) ;)) (expression_statement "DAT_00187800 = DAT_00187800 + 2;" (assignment_expression "DAT_00187800 = DAT_00187800 + 2" identifier = (binary_expression "DAT_00187800 + 2" identifier + number_literal)) ;) (labeled_statement "joined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }" statement_identifier : (if_statement "if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }" if (parenthesized_expression "(cVar1 == '(')" ( (binary_expression "cVar1 == '('" identifier == (char_literal "'('" ' character ')) )) (compound_statement "{\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }" { (expression_statement "pcVar6 = DAT_00187800 + 1;" (assignment_expression "pcVar6 = DAT_00187800 + 1" identifier = (binary_expression "DAT_00187800 + 1" identifier + number_literal)) ;) (expression_statement "iVar2 = (int)DAT_00187800[1];" (assignment_expression "iVar2 = (int)DAT_00187800[1]" identifier = (cast_expression "(int)DAT_00187800[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "DAT_00187800[1]" identifier [ number_literal ]))) ;) (expression_statement "DAT_00187800 = pcVar6;" (assignment_expression "DAT_00187800 = pcVar6" identifier = identifier) ;) (if_statement "if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }" if (parenthesized_expression "((&DAT_0017d500)[iVar2] == '\0')" ( (binary_expression "(&DAT_0017d500)[iVar2] == '\0'" (subscript_expression "(&DAT_0017d500)[iVar2]" (parenthesized_expression "(&DAT_0017d500)" ( (pointer_expression "&DAT_0017d500" & identifier) )) [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');" do (compound_statement "{\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        }" { (if_statement "if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }" if (parenthesized_expression "(iVar2 == 0x28)" ( (binary_expression "iVar2 == 0x28" identifier == number_literal) )) (compound_statement "{\n            iVar4 = iVar4 + 1;\n          }" { (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) }) (else_clause "else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }" else (if_statement "if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }" if (parenthesized_expression "(iVar2 == 0x29)" ( (binary_expression "iVar2 == 0x29" identifier == number_literal) )) (compound_statement "{\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }" { (expression_statement "iVar2 = 0x29;" (assignment_expression "iVar2 = 0x29" identifier = number_literal) ;) (if_statement "if (iVar4 == 0) goto LAB_00137374;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00137374;" goto statement_identifier ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) })))) (expression_statement "pcVar6 = pcVar6 + 1;" (assignment_expression "pcVar6 = pcVar6 + 1" identifier = (binary_expression "pcVar6 + 1" identifier + number_literal)) ;) (expression_statement "iVar2 = (int)*pcVar6;" (assignment_expression "iVar2 = (int)*pcVar6" identifier = (cast_expression "(int)*pcVar6" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcVar6" * identifier))) ;) }) while (parenthesized_expression "((&DAT_0017d500)[iVar2] == '\0')" ( (binary_expression "(&DAT_0017d500)[iVar2] == '\0'" (subscript_expression "(&DAT_0017d500)[iVar2]" (parenthesized_expression "(&DAT_0017d500)" ( (pointer_expression "&DAT_0017d500" & identifier) )) [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) )) ;) })) (if_statement "if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }" if (parenthesized_expression "(iVar2 == 0x29)" ( (binary_expression "iVar2 == 0x29" identifier == number_literal) )) (compound_statement "{\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }" { (labeled_statement "LAB_00137374:\n        *pcVar6 = '\0';" statement_identifier : (expression_statement "*pcVar6 = '\0';" (assignment_expression "*pcVar6 = '\0'" (pointer_expression "*pcVar6" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "FUN_001155a0(0,param_1,1);" (call_expression "FUN_001155a0(0,param_1,1)" identifier (argument_list "(0,param_1,1)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "*pcVar6 = (char)iVar2;" (assignment_expression "*pcVar6 = (char)iVar2" (pointer_expression "*pcVar6" * identifier) = (cast_expression "(char)iVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }" if (parenthesized_expression "(DAT_00187800 == pcVar6)" ( (binary_expression "DAT_00187800 == pcVar6" identifier == identifier) )) (compound_statement "{\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }" { (expression_statement "DAT_00187800 = pcVar6 + 1;" (assignment_expression "DAT_00187800 = pcVar6 + 1" identifier = (binary_expression "pcVar6 + 1" identifier + number_literal)) ;) (expression_statement "cVar1 = pcVar6[1];" (assignment_expression "cVar1 = pcVar6[1]" identifier = (subscript_expression "pcVar6[1]" identifier [ number_literal ])) ;) (if_statement "if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }" if (parenthesized_expression "(cVar1 == ' ')" ( (binary_expression "cVar1 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }" { (expression_statement "DAT_00187800 = pcVar6 + 2;" (assignment_expression "DAT_00187800 = pcVar6 + 2" identifier = (binary_expression "pcVar6 + 2" identifier + number_literal)) ;) (expression_statement "cVar1 = pcVar6[2];" (assignment_expression "cVar1 = pcVar6[2]" identifier = (subscript_expression "pcVar6[2]" identifier [ number_literal ])) ;) })) (if_statement "if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }" if (parenthesized_expression "((&DAT_0017d500)[(int)cVar1] != '\0')" ( (binary_expression "(&DAT_0017d500)[(int)cVar1] != '\0'" (subscript_expression "(&DAT_0017d500)[(int)cVar1]" (parenthesized_expression "(&DAT_0017d500)" ( (pointer_expression "&DAT_0017d500" & identifier) )) [ (cast_expression "(int)cVar1" ( (type_descriptor "int" primitive_type) ) identifier) ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            return pcVar7;\n          }" { (return_statement "return pcVar7;" return identifier ;) })) (if_statement "if (cVar1 == 0x2c) {\n            return pcVar7;\n          }" if (parenthesized_expression "(cVar1 == 0x2c)" ( (binary_expression "cVar1 == 0x2c" identifier == number_literal) )) (compound_statement "{\n            return pcVar7;\n          }" { (return_statement "return pcVar7;" return identifier ;) })) (expression_statement "pcVar6 = "Illegal operands: garbage after %%r_%s%d()";" (assignment_expression "pcVar6 = "Illegal operands: garbage after %%r_%s%d()"" identifier = (string_literal ""Illegal operands: garbage after %%r_%s%d()"" " string_content ")) ;) (goto_statement "goto LAB_00137309;" goto statement_identifier ;) })) })) (expression_statement "pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";" (assignment_expression "pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()"" identifier = (string_literal ""Illegal operands: %%r_%s%d requires arguments in ()"" " string_content ")) ;) (labeled_statement "LAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);" statement_identifier : (expression_statement "uVar3 = dcgettext(0,pcVar6,5);" (assignment_expression "uVar3 = 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_0011d670(uVar3,pcVar7,param_2 * 8);" (call_expression "FUN_0011d670(uVar3,pcVar7,param_2 * 8)" identifier (argument_list "(uVar3,pcVar7,param_2 * 8)" ( identifier , identifier , (binary_expression "param_2 * 8" identifier * number_literal) ))) ;) (return_statement "return pcVar7;" return identifier ;) }))) (expression_statement "uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);" (assignment_expression "uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5)" identifier = (call_expression "dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5)" identifier (argument_list "(0,"Illegal operands: %%r_%s%d requires arguments in ()",5)" ( number_literal , (string_literal ""Illegal operands: %%r_%s%d requires arguments in ()"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0011d670(uVar3,pcVar7,param_2 * 8);" (call_expression "FUN_0011d670(uVar3,pcVar7,param_2 * 8)" identifier (argument_list "(uVar3,pcVar7,param_2 * 8)" ( identifier , identifier , (binary_expression "param_2 * 8" identifier * number_literal) ))) ;) (expression_statement "DAT_00187800 = pcVar6;" (assignment_expression "DAT_00187800 = pcVar6" identifier = identifier) ;) (goto_statement "goto LAB_001370ae;" goto statement_identifier ;) })))))))) (expression_statement "uVar3 = dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5);" (assignment_expression "uVar3 = dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5)" identifier = (call_expression "dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5)" identifier (argument_list "(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5)" ( number_literal , (string_literal ""Illegal operands: Only %%r_%s%d allowed in %d-byte data fields"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0011d670(uVar3,pcVar7,param_2 * 8,param_2);" (call_expression "FUN_0011d670(uVar3,pcVar7,param_2 * 8,param_2)" identifier (argument_list "(uVar3,pcVar7,param_2 * 8,param_2)" ( identifier , identifier , (binary_expression "param_2 * 8" identifier * number_literal) , identifier ))) ;) (expression_statement "DAT_00187800 = pcVar6;" (assignment_expression "DAT_00187800 = pcVar6" identifier = identifier) ;) (labeled_statement "LAB_001370ae:\n  FUN_001155a0(0,param_1,1);" statement_identifier : (expression_statement "FUN_001155a0(0,param_1,1);" (call_expression "FUN_001155a0(0,param_1,1)" identifier (argument_list "(0,param_1,1)" ( number_literal , identifier , number_literal ))) ;)) (return_statement "return (char *)0x0;" return (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' character ')) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) == LIT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (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 IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + 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 { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + 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 { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & LIT) )) != LIT) )) (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 , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (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 IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & LIT) )) != 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)) ;) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' character ')) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' character ')) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' character ')) ))) )) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) == (char_literal ' escape_sequence ')) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;)) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (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 , IDENT , (binary_expression IDENT * LIT) ))) ;) (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT * LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })))))))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT * LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , LIT ))) ;)) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })))
(function_definition "char * FUN_00137070(undefined8 param_1,int param_2)\n\n{\n  char cVar1;\n  int iVar2;\n  undefined8 uVar3;\n  int iVar4;\n  long lVar5;\n  char *pcVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  char *pcVar9;\n  byte *pbVar10;\n  byte *pbVar11;\n  bool bVar12;\n  bool bVar13;\n  bool bVar14;\n  \n  cVar1 = *DAT_00187800;\n  if (cVar1 == ' ') {\n    cVar1 = DAT_00187800[1];\n    DAT_00187800 = DAT_00187800 + 1;\n  }\n  pcVar6 = DAT_00187800;\n  DAT_00187800 = pcVar6;\n  if ((cVar1 != '%') || (DAT_00187800[1] != 'r')) goto LAB_001370ae;\n  bVar12 = (byte)DAT_00187800[2] < 0x5f;\n  bVar14 = DAT_00187800[2] == 0x5f;\n  if (!bVar14) goto LAB_001370ae;\n  pbVar10 = (byte *)(DAT_00187800 + 3);\n  pcVar7 = "disp";\n  lVar5 = 4;\n  pbVar8 = pbVar10;\n  pbVar11 = (byte *)0x143de8;\n  do {\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar12 = *pbVar8 < *pbVar11;\n    bVar14 = *pbVar8 == *pbVar11;\n    pbVar8 = pbVar8 + 1;\n    pbVar11 = pbVar11 + 1;\n  } while (bVar14);\n  bVar13 = false;\n  bVar12 = (!bVar12 && !bVar14) == bVar12;\n  if (bVar12) {\n    DAT_00187800 = DAT_00187800 + 7;\n  }\n  else {\n    pcVar7 = "plt";\n    lVar5 = 3;\n    pbVar8 = pbVar10;\n    pbVar11 = &DAT_00145697;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 1;\n    } while (bVar12);\n    bVar14 = false;\n    bVar12 = (!bVar13 && !bVar12) == bVar13;\n    if (bVar12) {\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }\n    else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }\n  }\n  if (param_2 == 2) {\n    if ((*DAT_00187800 == '1') && (DAT_00187800[1] == '6')) goto LAB_00137240;\n  }\n  else if (param_2 < 3) {\n    if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }\n  }\n  else if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }\n  uVar3 = dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5);\n  FUN_0011d670(uVar3,pcVar7,param_2 * 8,param_2);\n  DAT_00187800 = pcVar6;\nLAB_001370ae:\n  FUN_001155a0(0,param_1,1);\n  return (char *)0x0;\n}" (primitive_type "char") (pointer_declarator "* FUN_00137070(undefined8 param_1,int param_2)" (* "*") (function_declarator "FUN_00137070(undefined8 param_1,int param_2)" (identifier "FUN_00137070") (parameter_list "(undefined8 param_1,int param_2)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")")))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  undefined8 uVar3;\n  int iVar4;\n  long lVar5;\n  char *pcVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  char *pcVar9;\n  byte *pbVar10;\n  byte *pbVar11;\n  bool bVar12;\n  bool bVar13;\n  bool bVar14;\n  \n  cVar1 = *DAT_00187800;\n  if (cVar1 == ' ') {\n    cVar1 = DAT_00187800[1];\n    DAT_00187800 = DAT_00187800 + 1;\n  }\n  pcVar6 = DAT_00187800;\n  DAT_00187800 = pcVar6;\n  if ((cVar1 != '%') || (DAT_00187800[1] != 'r')) goto LAB_001370ae;\n  bVar12 = (byte)DAT_00187800[2] < 0x5f;\n  bVar14 = DAT_00187800[2] == 0x5f;\n  if (!bVar14) goto LAB_001370ae;\n  pbVar10 = (byte *)(DAT_00187800 + 3);\n  pcVar7 = "disp";\n  lVar5 = 4;\n  pbVar8 = pbVar10;\n  pbVar11 = (byte *)0x143de8;\n  do {\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar12 = *pbVar8 < *pbVar11;\n    bVar14 = *pbVar8 == *pbVar11;\n    pbVar8 = pbVar8 + 1;\n    pbVar11 = pbVar11 + 1;\n  } while (bVar14);\n  bVar13 = false;\n  bVar12 = (!bVar12 && !bVar14) == bVar12;\n  if (bVar12) {\n    DAT_00187800 = DAT_00187800 + 7;\n  }\n  else {\n    pcVar7 = "plt";\n    lVar5 = 3;\n    pbVar8 = pbVar10;\n    pbVar11 = &DAT_00145697;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 1;\n    } while (bVar12);\n    bVar14 = false;\n    bVar12 = (!bVar13 && !bVar12) == bVar13;\n    if (bVar12) {\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }\n    else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }\n  }\n  if (param_2 == 2) {\n    if ((*DAT_00187800 == '1') && (DAT_00187800[1] == '6')) goto LAB_00137240;\n  }\n  else if (param_2 < 3) {\n    if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }\n  }\n  else if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }\n  uVar3 = dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5);\n  FUN_0011d670(uVar3,pcVar7,param_2 * 8,param_2);\n  DAT_00187800 = pcVar6;\nLAB_001370ae:\n  FUN_001155a0(0,param_1,1);\n  return (char *)0x0;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined8 uVar3;" (type_identifier "undefined8") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "long lVar5;" (sized_type_specifier "long" (long "long")) (identifier "lVar5") (; ";")) (declaration "char *pcVar6;" (primitive_type "char") (pointer_declarator "*pcVar6" (* "*") (identifier "pcVar6")) (; ";")) (declaration "char *pcVar7;" (primitive_type "char") (pointer_declarator "*pcVar7" (* "*") (identifier "pcVar7")) (; ";")) (declaration "byte *pbVar8;" (type_identifier "byte") (pointer_declarator "*pbVar8" (* "*") (identifier "pbVar8")) (; ";")) (declaration "char *pcVar9;" (primitive_type "char") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "byte *pbVar10;" (type_identifier "byte") (pointer_declarator "*pbVar10" (* "*") (identifier "pbVar10")) (; ";")) (declaration "byte *pbVar11;" (type_identifier "byte") (pointer_declarator "*pbVar11" (* "*") (identifier "pbVar11")) (; ";")) (declaration "bool bVar12;" (primitive_type "bool") (identifier "bVar12") (; ";")) (declaration "bool bVar13;" (primitive_type "bool") (identifier "bVar13") (; ";")) (declaration "bool bVar14;" (primitive_type "bool") (identifier "bVar14") (; ";")) (expression_statement "cVar1 = *DAT_00187800;" (assignment_expression "cVar1 = *DAT_00187800" (identifier "cVar1") (= "=") (pointer_expression "*DAT_00187800" (* "*") (identifier "DAT_00187800"))) (; ";")) (if_statement "if (cVar1 == ' ') {\n    cVar1 = DAT_00187800[1];\n    DAT_00187800 = DAT_00187800 + 1;\n  }" (if "if") (parenthesized_expression "(cVar1 == ' ')" (( "(") (binary_expression "cVar1 == ' '" (identifier "cVar1") (== "==") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")")) (compound_statement "{\n    cVar1 = DAT_00187800[1];\n    DAT_00187800 = DAT_00187800 + 1;\n  }" ({ "{") (expression_statement "cVar1 = DAT_00187800[1];" (assignment_expression "cVar1 = DAT_00187800[1]" (identifier "cVar1") (= "=") (subscript_expression "DAT_00187800[1]" (identifier "DAT_00187800") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "DAT_00187800 = DAT_00187800 + 1;" (assignment_expression "DAT_00187800 = DAT_00187800 + 1" (identifier "DAT_00187800") (= "=") (binary_expression "DAT_00187800 + 1" (identifier "DAT_00187800") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "pcVar6 = DAT_00187800;" (assignment_expression "pcVar6 = DAT_00187800" (identifier "pcVar6") (= "=") (identifier "DAT_00187800")) (; ";")) (expression_statement "DAT_00187800 = pcVar6;" (assignment_expression "DAT_00187800 = pcVar6" (identifier "DAT_00187800") (= "=") (identifier "pcVar6")) (; ";")) (if_statement "if ((cVar1 != '%') || (DAT_00187800[1] != 'r')) goto LAB_001370ae;" (if "if") (parenthesized_expression "((cVar1 != '%') || (DAT_00187800[1] != 'r'))" (( "(") (binary_expression "(cVar1 != '%') || (DAT_00187800[1] != 'r')" (parenthesized_expression "(cVar1 != '%')" (( "(") (binary_expression "cVar1 != '%'" (identifier "cVar1") (!= "!=") (char_literal "'%'" (' "'") (character "%") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(DAT_00187800[1] != 'r')" (( "(") (binary_expression "DAT_00187800[1] != 'r'" (subscript_expression "DAT_00187800[1]" (identifier "DAT_00187800") ([ "[") (number_literal "1") (] "]")) (!= "!=") (char_literal "'r'" (' "'") (character "r") (' "'"))) () ")"))) () ")")) (goto_statement "goto LAB_001370ae;" (goto "goto") (statement_identifier "LAB_001370ae") (; ";"))) (expression_statement "bVar12 = (byte)DAT_00187800[2] < 0x5f;" (assignment_expression "bVar12 = (byte)DAT_00187800[2] < 0x5f" (identifier "bVar12") (= "=") (binary_expression "(byte)DAT_00187800[2] < 0x5f" (cast_expression "(byte)DAT_00187800[2]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "DAT_00187800[2]" (identifier "DAT_00187800") ([ "[") (number_literal "2") (] "]"))) (< "<") (number_literal "0x5f"))) (; ";")) (expression_statement "bVar14 = DAT_00187800[2] == 0x5f;" (assignment_expression "bVar14 = DAT_00187800[2] == 0x5f" (identifier "bVar14") (= "=") (binary_expression "DAT_00187800[2] == 0x5f" (subscript_expression "DAT_00187800[2]" (identifier "DAT_00187800") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x5f"))) (; ";")) (if_statement "if (!bVar14) goto LAB_001370ae;" (if "if") (parenthesized_expression "(!bVar14)" (( "(") (unary_expression "!bVar14" (! "!") (identifier "bVar14")) () ")")) (goto_statement "goto LAB_001370ae;" (goto "goto") (statement_identifier "LAB_001370ae") (; ";"))) (expression_statement "pbVar10 = (byte *)(DAT_00187800 + 3);" (assignment_expression "pbVar10 = (byte *)(DAT_00187800 + 3)" (identifier "pbVar10") (= "=") (cast_expression "(byte *)(DAT_00187800 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00187800 + 3)" (( "(") (binary_expression "DAT_00187800 + 3" (identifier "DAT_00187800") (+ "+") (number_literal "3")) () ")")))) (; ";")) (expression_statement "pcVar7 = "disp";" (assignment_expression "pcVar7 = "disp"" (identifier "pcVar7") (= "=") (string_literal ""disp"" (" """) (string_content "disp") (" """))) (; ";")) (expression_statement "lVar5 = 4;" (assignment_expression "lVar5 = 4" (identifier "lVar5") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar8 = pbVar10;" (assignment_expression "pbVar8 = pbVar10" (identifier "pbVar8") (= "=") (identifier "pbVar10")) (; ";")) (expression_statement "pbVar11 = (byte *)0x143de8;" (assignment_expression "pbVar11 = (byte *)0x143de8" (identifier "pbVar11") (= "=") (cast_expression "(byte *)0x143de8" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x143de8"))) (; ";")) (do_statement "do {\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar12 = *pbVar8 < *pbVar11;\n    bVar14 = *pbVar8 == *pbVar11;\n    pbVar8 = pbVar8 + 1;\n    pbVar11 = pbVar11 + 1;\n  } while (bVar14);" (do "do") (compound_statement "{\n    if (lVar5 == 0) break;\n    lVar5 = lVar5 + -1;\n    bVar12 = *pbVar8 < *pbVar11;\n    bVar14 = *pbVar8 == *pbVar11;\n    pbVar8 = pbVar8 + 1;\n    pbVar11 = pbVar11 + 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 "bVar12 = *pbVar8 < *pbVar11;" (assignment_expression "bVar12 = *pbVar8 < *pbVar11" (identifier "bVar12") (= "=") (binary_expression "*pbVar8 < *pbVar11" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar11" (* "*") (identifier "pbVar11")))) (; ";")) (expression_statement "bVar14 = *pbVar8 == *pbVar11;" (assignment_expression "bVar14 = *pbVar8 == *pbVar11" (identifier "bVar14") (= "=") (binary_expression "*pbVar8 == *pbVar11" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar11" (* "*") (identifier "pbVar11")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar11 = pbVar11 + 1;" (assignment_expression "pbVar11 = pbVar11 + 1" (identifier "pbVar11") (= "=") (binary_expression "pbVar11 + 1" (identifier "pbVar11") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar14)" (( "(") (identifier "bVar14") () ")")) (; ";")) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" (identifier "bVar13") (= "=") (false "false")) (; ";")) (expression_statement "bVar12 = (!bVar12 && !bVar14) == bVar12;" (assignment_expression "bVar12 = (!bVar12 && !bVar14) == bVar12" (identifier "bVar12") (= "=") (binary_expression "(!bVar12 && !bVar14) == bVar12" (parenthesized_expression "(!bVar12 && !bVar14)" (( "(") (binary_expression "!bVar12 && !bVar14" (unary_expression "!bVar12" (! "!") (identifier "bVar12")) (&& "&&") (unary_expression "!bVar14" (! "!") (identifier "bVar14"))) () ")")) (== "==") (identifier "bVar12"))) (; ";")) (if_statement "if (bVar12) {\n    DAT_00187800 = DAT_00187800 + 7;\n  }\n  else {\n    pcVar7 = "plt";\n    lVar5 = 3;\n    pbVar8 = pbVar10;\n    pbVar11 = &DAT_00145697;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 1;\n    } while (bVar12);\n    bVar14 = false;\n    bVar12 = (!bVar13 && !bVar12) == bVar13;\n    if (bVar12) {\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }\n    else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }\n  }" (if "if") (parenthesized_expression "(bVar12)" (( "(") (identifier "bVar12") () ")")) (compound_statement "{\n    DAT_00187800 = DAT_00187800 + 7;\n  }" ({ "{") (expression_statement "DAT_00187800 = DAT_00187800 + 7;" (assignment_expression "DAT_00187800 = DAT_00187800 + 7" (identifier "DAT_00187800") (= "=") (binary_expression "DAT_00187800 + 7" (identifier "DAT_00187800") (+ "+") (number_literal "7"))) (; ";")) (} "}")) (else_clause "else {\n    pcVar7 = "plt";\n    lVar5 = 3;\n    pbVar8 = pbVar10;\n    pbVar11 = &DAT_00145697;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 1;\n    } while (bVar12);\n    bVar14 = false;\n    bVar12 = (!bVar13 && !bVar12) == bVar13;\n    if (bVar12) {\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }\n    else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }\n  }" (else "else") (compound_statement "{\n    pcVar7 = "plt";\n    lVar5 = 3;\n    pbVar8 = pbVar10;\n    pbVar11 = &DAT_00145697;\n    do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 1;\n    } while (bVar12);\n    bVar14 = false;\n    bVar12 = (!bVar13 && !bVar12) == bVar13;\n    if (bVar12) {\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }\n    else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }\n  }" ({ "{") (expression_statement "pcVar7 = "plt";" (assignment_expression "pcVar7 = "plt"" (identifier "pcVar7") (= "=") (string_literal ""plt"" (" """) (string_content "plt") (" """))) (; ";")) (expression_statement "lVar5 = 3;" (assignment_expression "lVar5 = 3" (identifier "lVar5") (= "=") (number_literal "3")) (; ";")) (expression_statement "pbVar8 = pbVar10;" (assignment_expression "pbVar8 = pbVar10" (identifier "pbVar8") (= "=") (identifier "pbVar10")) (; ";")) (expression_statement "pbVar11 = &DAT_00145697;" (assignment_expression "pbVar11 = &DAT_00145697" (identifier "pbVar11") (= "=") (pointer_expression "&DAT_00145697" (& "&") (identifier "DAT_00145697"))) (; ";")) (do_statement "do {\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 1;\n    } while (bVar12);" (do "do") (compound_statement "{\n      if (lVar5 == 0) break;\n      lVar5 = lVar5 + -1;\n      bVar13 = *pbVar8 < *pbVar11;\n      bVar12 = *pbVar8 == *pbVar11;\n      pbVar8 = pbVar8 + 1;\n      pbVar11 = pbVar11 + 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 "bVar13 = *pbVar8 < *pbVar11;" (assignment_expression "bVar13 = *pbVar8 < *pbVar11" (identifier "bVar13") (= "=") (binary_expression "*pbVar8 < *pbVar11" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar11" (* "*") (identifier "pbVar11")))) (; ";")) (expression_statement "bVar12 = *pbVar8 == *pbVar11;" (assignment_expression "bVar12 = *pbVar8 == *pbVar11" (identifier "bVar12") (= "=") (binary_expression "*pbVar8 == *pbVar11" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar11" (* "*") (identifier "pbVar11")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar11 = pbVar11 + 1;" (assignment_expression "pbVar11 = pbVar11 + 1" (identifier "pbVar11") (= "=") (binary_expression "pbVar11 + 1" (identifier "pbVar11") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar12)" (( "(") (identifier "bVar12") () ")")) (; ";")) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" (identifier "bVar14") (= "=") (false "false")) (; ";")) (expression_statement "bVar12 = (!bVar13 && !bVar12) == bVar13;" (assignment_expression "bVar12 = (!bVar13 && !bVar12) == bVar13" (identifier "bVar12") (= "=") (binary_expression "(!bVar13 && !bVar12) == bVar13" (parenthesized_expression "(!bVar13 && !bVar12)" (( "(") (binary_expression "!bVar13 && !bVar12" (unary_expression "!bVar13" (! "!") (identifier "bVar13")) (&& "&&") (unary_expression "!bVar12" (! "!") (identifier "bVar12"))) () ")")) (== "==") (identifier "bVar13"))) (; ";")) (if_statement "if (bVar12) {\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }\n    else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }" (if "if") (parenthesized_expression "(bVar12)" (( "(") (identifier "bVar12") () ")")) (compound_statement "{\n      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }\n      DAT_00187800 = DAT_00187800 + 6;\n    }" ({ "{") (expression_statement "pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";" (assignment_expression "pcVar9 = "Illegal operands: %%r_plt in %d-byte data field"" (identifier "pcVar9") (= "=") (string_literal ""Illegal operands: %%r_plt in %d-byte data field"" (" """) (string_content "Illegal operands: %%r_plt in %d-byte data field") (" """))) (; ";")) (if_statement "if ((param_2 - 4U & 0xfffffffb) != 0) {\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }" (if "if") (parenthesized_expression "((param_2 - 4U & 0xfffffffb) != 0)" (( "(") (binary_expression "(param_2 - 4U & 0xfffffffb) != 0" (parenthesized_expression "(param_2 - 4U & 0xfffffffb)" (( "(") (binary_expression "param_2 - 4U & 0xfffffffb" (binary_expression "param_2 - 4U" (identifier "param_2") (- "-") (number_literal "4U")) (& "&") (number_literal "0xfffffffb")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);\n        FUN_0011d670(uVar3,param_2);\n        goto LAB_001370ae;\n      }" ({ "{") (labeled_statement "LAB_0013735b:\n        uVar3 = dcgettext(0,pcVar9,5);" (statement_identifier "LAB_0013735b") (: ":") (expression_statement "uVar3 = dcgettext(0,pcVar9,5);" (assignment_expression "uVar3 = dcgettext(0,pcVar9,5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,pcVar9,5)" (identifier "dcgettext") (argument_list "(0,pcVar9,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar9") (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "FUN_0011d670(uVar3,param_2);" (call_expression "FUN_0011d670(uVar3,param_2)" (identifier "FUN_0011d670") (argument_list "(uVar3,param_2)" (( "(") (identifier "uVar3") (, ",") (identifier "param_2") () ")"))) (; ";")) (goto_statement "goto LAB_001370ae;" (goto "goto") (statement_identifier "LAB_001370ae") (; ";")) (} "}"))) (expression_statement "DAT_00187800 = DAT_00187800 + 6;" (assignment_expression "DAT_00187800 = DAT_00187800 + 6" (identifier "DAT_00187800") (= "=") (binary_expression "DAT_00187800 + 6" (identifier "DAT_00187800") (+ "+") (number_literal "6"))) (; ";")) (} "}")) (else_clause "else {\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }" (else "else") (compound_statement "{\n      pcVar7 = "tls_dtpoff";\n      lVar5 = 10;\n      pbVar8 = (byte *)"tls_dtpoff";\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);\n      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;\n      if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }\n      DAT_00187800 = DAT_00187800 + 0xd;\n    }" ({ "{") (expression_statement "pcVar7 = "tls_dtpoff";" (assignment_expression "pcVar7 = "tls_dtpoff"" (identifier "pcVar7") (= "=") (string_literal ""tls_dtpoff"" (" """) (string_content "tls_dtpoff") (" """))) (; ";")) (expression_statement "lVar5 = 10;" (assignment_expression "lVar5 = 10" (identifier "lVar5") (= "=") (number_literal "10")) (; ";")) (expression_statement "pbVar8 = (byte *)"tls_dtpoff";" (assignment_expression "pbVar8 = (byte *)"tls_dtpoff"" (identifier "pbVar8") (= "=") (cast_expression "(byte *)"tls_dtpoff"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""tls_dtpoff"" (" """) (string_content "tls_dtpoff") (" """)))) (; ";")) (do_statement "do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar12);" (do "do") (compound_statement "{\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar14 = *pbVar10 < *pbVar8;\n        bVar12 = *pbVar10 == *pbVar8;\n        pbVar10 = pbVar10 + 1;\n        pbVar8 = pbVar8 + 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 "bVar14 = *pbVar10 < *pbVar8;" (assignment_expression "bVar14 = *pbVar10 < *pbVar8" (identifier "bVar14") (= "=") (binary_expression "*pbVar10 < *pbVar8" (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")) (< "<") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "bVar12 = *pbVar10 == *pbVar8;" (assignment_expression "bVar12 = *pbVar10 == *pbVar8" (identifier "bVar12") (= "=") (binary_expression "*pbVar10 == *pbVar8" (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")) (== "==") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "pbVar10 = pbVar10 + 1;" (assignment_expression "pbVar10 = pbVar10 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + 1" (identifier "pbVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar12)" (( "(") (identifier "bVar12") () ")")) (; ";")) (if_statement "if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;" (if "if") (parenthesized_expression "((!bVar14 && !bVar12) != bVar14)" (( "(") (binary_expression "(!bVar14 && !bVar12) != bVar14" (parenthesized_expression "(!bVar14 && !bVar12)" (( "(") (binary_expression "!bVar14 && !bVar12" (unary_expression "!bVar14" (! "!") (identifier "bVar14")) (&& "&&") (unary_expression "!bVar12" (! "!") (identifier "bVar12"))) () ")")) (!= "!=") (identifier "bVar14")) () ")")) (goto_statement "goto LAB_001370ae;" (goto "goto") (statement_identifier "LAB_001370ae") (; ";"))) (if_statement "if ((param_2 - 4U & 0xfffffffb) != 0) {\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }" (if "if") (parenthesized_expression "((param_2 - 4U & 0xfffffffb) != 0)" (( "(") (binary_expression "(param_2 - 4U & 0xfffffffb) != 0" (parenthesized_expression "(param_2 - 4U & 0xfffffffb)" (( "(") (binary_expression "param_2 - 4U & 0xfffffffb" (binary_expression "param_2 - 4U" (identifier "param_2") (- "-") (number_literal "4U")) (& "&") (number_literal "0xfffffffb")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";\n        goto LAB_0013735b;\n      }" ({ "{") (expression_statement "pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";" (assignment_expression "pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field"" (identifier "pcVar9") (= "=") (string_literal ""Illegal operands: %%r_tls_dtpoff in %d-byte data field"" (" """) (string_content "Illegal operands: %%r_tls_dtpoff in %d-byte data field") (" """))) (; ";")) (goto_statement "goto LAB_0013735b;" (goto "goto") (statement_identifier "LAB_0013735b") (; ";")) (} "}"))) (expression_statement "DAT_00187800 = DAT_00187800 + 0xd;" (assignment_expression "DAT_00187800 = DAT_00187800 + 0xd" (identifier "DAT_00187800") (= "=") (binary_expression "DAT_00187800 + 0xd" (identifier "DAT_00187800") (+ "+") (number_literal "0xd"))) (; ";")) (} "}")))) (} "}")))) (if_statement "if (param_2 == 2) {\n    if ((*DAT_00187800 == '1') && (DAT_00187800[1] == '6')) goto LAB_00137240;\n  }\n  else if (param_2 < 3) {\n    if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }\n  }\n  else if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" (if "if") (parenthesized_expression "(param_2 == 2)" (( "(") (binary_expression "param_2 == 2" (identifier "param_2") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n    if ((*DAT_00187800 == '1') && (DAT_00187800[1] == '6')) goto LAB_00137240;\n  }" ({ "{") (if_statement "if ((*DAT_00187800 == '1') && (DAT_00187800[1] == '6')) goto LAB_00137240;" (if "if") (parenthesized_expression "((*DAT_00187800 == '1') && (DAT_00187800[1] == '6'))" (( "(") (binary_expression "(*DAT_00187800 == '1') && (DAT_00187800[1] == '6')" (parenthesized_expression "(*DAT_00187800 == '1')" (( "(") (binary_expression "*DAT_00187800 == '1'" (pointer_expression "*DAT_00187800" (* "*") (identifier "DAT_00187800")) (== "==") (char_literal "'1'" (' "'") (character "1") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(DAT_00187800[1] == '6')" (( "(") (binary_expression "DAT_00187800[1] == '6'" (subscript_expression "DAT_00187800[1]" (identifier "DAT_00187800") ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'6'" (' "'") (character "6") (' "'"))) () ")"))) () ")")) (goto_statement "goto LAB_00137240;" (goto "goto") (statement_identifier "LAB_00137240") (; ";"))) (} "}")) (else_clause "else if (param_2 < 3) {\n    if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }\n  }\n  else if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" (else "else") (if_statement "if (param_2 < 3) {\n    if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }\n  }\n  else if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" (if "if") (parenthesized_expression "(param_2 < 3)" (( "(") (binary_expression "param_2 < 3" (identifier "param_2") (< "<") (number_literal "3")) () ")")) (compound_statement "{\n    if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }\n  }" ({ "{") (if_statement "if (param_2 == 1) {\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }" (if "if") (parenthesized_expression "(param_2 == 1)" (( "(") (binary_expression "param_2 == 1" (identifier "param_2") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }\n      DAT_00187800 = DAT_00187800 + -1;\n    }" ({ "{") (if_statement "if (*DAT_00187800 == '8') {\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }" (if "if") (parenthesized_expression "(*DAT_00187800 == '8')" (( "(") (binary_expression "*DAT_00187800 == '8'" (pointer_expression "*DAT_00187800" (* "*") (identifier "DAT_00187800")) (== "==") (char_literal "'8'" (' "'") (character "8") (' "'"))) () ")")) (compound_statement "{\n        cVar1 = DAT_00187800[1];\n        DAT_00187800 = DAT_00187800 + 1;\n        goto joined_r0x0013728d;\n      }" ({ "{") (expression_statement "cVar1 = DAT_00187800[1];" (assignment_expression "cVar1 = DAT_00187800[1]" (identifier "cVar1") (= "=") (subscript_expression "DAT_00187800[1]" (identifier "DAT_00187800") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "DAT_00187800 = DAT_00187800 + 1;" (assignment_expression "DAT_00187800 = DAT_00187800 + 1" (identifier "DAT_00187800") (= "=") (binary_expression "DAT_00187800 + 1" (identifier "DAT_00187800") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto joined_r0x0013728d;" (goto "goto") (statement_identifier "joined_r0x0013728d") (; ";")) (} "}"))) (expression_statement "DAT_00187800 = DAT_00187800 + -1;" (assignment_expression "DAT_00187800 = DAT_00187800 + -1" (identifier "DAT_00187800") (= "=") (binary_expression "DAT_00187800 + -1" (identifier "DAT_00187800") (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" (else "else") (if_statement "if (param_2 == 4) {\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }\n  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" (if "if") (parenthesized_expression "(param_2 == 4)" (( "(") (binary_expression "param_2 == 4" (identifier "param_2") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;\n  }" ({ "{") (if_statement "if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;" (if "if") (parenthesized_expression "((*DAT_00187800 == '3') && (DAT_00187800[1] == '2'))" (( "(") (binary_expression "(*DAT_00187800 == '3') && (DAT_00187800[1] == '2')" (parenthesized_expression "(*DAT_00187800 == '3')" (( "(") (binary_expression "*DAT_00187800 == '3'" (pointer_expression "*DAT_00187800" (* "*") (identifier "DAT_00187800")) (== "==") (char_literal "'3'" (' "'") (character "3") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(DAT_00187800[1] == '2')" (( "(") (binary_expression "DAT_00187800[1] == '2'" (subscript_expression "DAT_00187800[1]" (identifier "DAT_00187800") ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'2'" (' "'") (character "2") (' "'"))) () ")"))) () ")")) (goto_statement "goto LAB_00137240;" (goto "goto") (statement_identifier "LAB_00137240") (; ";"))) (} "}")) (else_clause "else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" (else "else") (if_statement "if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" (if "if") (parenthesized_expression "((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4'))))" (( "(") (binary_expression "(param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))" (parenthesized_expression "(param_2 == 8)" (( "(") (binary_expression "param_2 == 8" (identifier "param_2") (== "==") (number_literal "8")) () ")")) (&& "&&") (parenthesized_expression "((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))" (( "(") (parenthesized_expression "(*DAT_00187800 == '6' && (DAT_00187800[1] == '4'))" (( "(") (binary_expression "*DAT_00187800 == '6' && (DAT_00187800[1] == '4')" (binary_expression "*DAT_00187800 == '6'" (pointer_expression "*DAT_00187800" (* "*") (identifier "DAT_00187800")) (== "==") (char_literal "'6'" (' "'") (character "6") (' "'"))) (&& "&&") (parenthesized_expression "(DAT_00187800[1] == '4')" (( "(") (binary_expression "DAT_00187800[1] == '4'" (subscript_expression "DAT_00187800[1]" (identifier "DAT_00187800") ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'4'" (' "'") (character "4") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\nLAB_00137240:\n    cVar1 = DAT_00187800[2];\n    DAT_00187800 = DAT_00187800 + 2;\njoined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }\n    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);\n    FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n    DAT_00187800 = pcVar6;\n    goto LAB_001370ae;\n  }" ({ "{") (labeled_statement "LAB_00137240:\n    cVar1 = DAT_00187800[2];" (statement_identifier "LAB_00137240") (: ":") (expression_statement "cVar1 = DAT_00187800[2];" (assignment_expression "cVar1 = DAT_00187800[2]" (identifier "cVar1") (= "=") (subscript_expression "DAT_00187800[2]" (identifier "DAT_00187800") ([ "[") (number_literal "2") (] "]"))) (; ";"))) (expression_statement "DAT_00187800 = DAT_00187800 + 2;" (assignment_expression "DAT_00187800 = DAT_00187800 + 2" (identifier "DAT_00187800") (= "=") (binary_expression "DAT_00187800 + 2" (identifier "DAT_00187800") (+ "+") (number_literal "2"))) (; ";")) (labeled_statement "joined_r0x0013728d:\n    if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }" (statement_identifier "joined_r0x0013728d") (: ":") (if_statement "if (cVar1 == '(') {\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }" (if "if") (parenthesized_expression "(cVar1 == '(')" (( "(") (binary_expression "cVar1 == '('" (identifier "cVar1") (== "==") (char_literal "'('" (' "'") (character "(") (' "'"))) () ")")) (compound_statement "{\n      pcVar6 = DAT_00187800 + 1;\n      iVar2 = (int)DAT_00187800[1];\n      DAT_00187800 = pcVar6;\n      if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }\n      if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }\n      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";\nLAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);\n      FUN_0011d670(uVar3,pcVar7,param_2 * 8);\n      return pcVar7;\n    }" ({ "{") (expression_statement "pcVar6 = DAT_00187800 + 1;" (assignment_expression "pcVar6 = DAT_00187800 + 1" (identifier "pcVar6") (= "=") (binary_expression "DAT_00187800 + 1" (identifier "DAT_00187800") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar2 = (int)DAT_00187800[1];" (assignment_expression "iVar2 = (int)DAT_00187800[1]" (identifier "iVar2") (= "=") (cast_expression "(int)DAT_00187800[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "DAT_00187800[1]" (identifier "DAT_00187800") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "DAT_00187800 = pcVar6;" (assignment_expression "DAT_00187800 = pcVar6" (identifier "DAT_00187800") (= "=") (identifier "pcVar6")) (; ";")) (if_statement "if ((&DAT_0017d500)[iVar2] == '\0') {\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }" (if "if") (parenthesized_expression "((&DAT_0017d500)[iVar2] == '\0')" (( "(") (binary_expression "(&DAT_0017d500)[iVar2] == '\0'" (subscript_expression "(&DAT_0017d500)[iVar2]" (parenthesized_expression "(&DAT_0017d500)" (( "(") (pointer_expression "&DAT_0017d500" (& "&") (identifier "DAT_0017d500")) () ")")) ([ "[") (identifier "iVar2") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        iVar4 = 0;\n        do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');\n      }" ({ "{") (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        } while ((&DAT_0017d500)[iVar2] == '\0');" (do "do") (compound_statement "{\n          if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }\n          pcVar6 = pcVar6 + 1;\n          iVar2 = (int)*pcVar6;\n        }" ({ "{") (if_statement "if (iVar2 == 0x28) {\n            iVar4 = iVar4 + 1;\n          }\n          else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }" (if "if") (parenthesized_expression "(iVar2 == 0x28)" (( "(") (binary_expression "iVar2 == 0x28" (identifier "iVar2") (== "==") (number_literal "0x28")) () ")")) (compound_statement "{\n            iVar4 = iVar4 + 1;\n          }" ({ "{") (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }" (else "else") (if_statement "if (iVar2 == 0x29) {\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }" (if "if") (parenthesized_expression "(iVar2 == 0x29)" (( "(") (binary_expression "iVar2 == 0x29" (identifier "iVar2") (== "==") (number_literal "0x29")) () ")")) (compound_statement "{\n            iVar2 = 0x29;\n            if (iVar4 == 0) goto LAB_00137374;\n            iVar4 = iVar4 + -1;\n          }" ({ "{") (expression_statement "iVar2 = 0x29;" (assignment_expression "iVar2 = 0x29" (identifier "iVar2") (= "=") (number_literal "0x29")) (; ";")) (if_statement "if (iVar4 == 0) goto LAB_00137374;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00137374;" (goto "goto") (statement_identifier "LAB_00137374") (; ";"))) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (} "}"))))) (expression_statement "pcVar6 = pcVar6 + 1;" (assignment_expression "pcVar6 = pcVar6 + 1" (identifier "pcVar6") (= "=") (binary_expression "pcVar6 + 1" (identifier "pcVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar2 = (int)*pcVar6;" (assignment_expression "iVar2 = (int)*pcVar6" (identifier "iVar2") (= "=") (cast_expression "(int)*pcVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pcVar6" (* "*") (identifier "pcVar6")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((&DAT_0017d500)[iVar2] == '\0')" (( "(") (binary_expression "(&DAT_0017d500)[iVar2] == '\0'" (subscript_expression "(&DAT_0017d500)[iVar2]" (parenthesized_expression "(&DAT_0017d500)" (( "(") (pointer_expression "&DAT_0017d500" (& "&") (identifier "DAT_0017d500")) () ")")) ([ "[") (identifier "iVar2") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";")) (} "}"))) (if_statement "if (iVar2 == 0x29) {\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }" (if "if") (parenthesized_expression "(iVar2 == 0x29)" (( "(") (binary_expression "iVar2 == 0x29" (identifier "iVar2") (== "==") (number_literal "0x29")) () ")")) (compound_statement "{\nLAB_00137374:\n        *pcVar6 = '\0';\n        FUN_001155a0(0,param_1,1);\n        *pcVar6 = (char)iVar2;\n        if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }\n      }" ({ "{") (labeled_statement "LAB_00137374:\n        *pcVar6 = '\0';" (statement_identifier "LAB_00137374") (: ":") (expression_statement "*pcVar6 = '\0';" (assignment_expression "*pcVar6 = '\0'" (pointer_expression "*pcVar6" (* "*") (identifier "pcVar6")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";"))) (expression_statement "FUN_001155a0(0,param_1,1);" (call_expression "FUN_001155a0(0,param_1,1)" (identifier "FUN_001155a0") (argument_list "(0,param_1,1)" (( "(") (number_literal "0") (, ",") (identifier "param_1") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "*pcVar6 = (char)iVar2;" (assignment_expression "*pcVar6 = (char)iVar2" (pointer_expression "*pcVar6" (* "*") (identifier "pcVar6")) (= "=") (cast_expression "(char)iVar2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iVar2"))) (; ";")) (if_statement "if (DAT_00187800 == pcVar6) {\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }" (if "if") (parenthesized_expression "(DAT_00187800 == pcVar6)" (( "(") (binary_expression "DAT_00187800 == pcVar6" (identifier "DAT_00187800") (== "==") (identifier "pcVar6")) () ")")) (compound_statement "{\n          DAT_00187800 = pcVar6 + 1;\n          cVar1 = pcVar6[1];\n          if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }\n          if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }\n          if (cVar1 == 0x2c) {\n            return pcVar7;\n          }\n          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";\n          goto LAB_00137309;\n        }" ({ "{") (expression_statement "DAT_00187800 = pcVar6 + 1;" (assignment_expression "DAT_00187800 = pcVar6 + 1" (identifier "DAT_00187800") (= "=") (binary_expression "pcVar6 + 1" (identifier "pcVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar1 = pcVar6[1];" (assignment_expression "cVar1 = pcVar6[1]" (identifier "cVar1") (= "=") (subscript_expression "pcVar6[1]" (identifier "pcVar6") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (cVar1 == ' ') {\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }" (if "if") (parenthesized_expression "(cVar1 == ' ')" (( "(") (binary_expression "cVar1 == ' '" (identifier "cVar1") (== "==") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")")) (compound_statement "{\n            DAT_00187800 = pcVar6 + 2;\n            cVar1 = pcVar6[2];\n          }" ({ "{") (expression_statement "DAT_00187800 = pcVar6 + 2;" (assignment_expression "DAT_00187800 = pcVar6 + 2" (identifier "DAT_00187800") (= "=") (binary_expression "pcVar6 + 2" (identifier "pcVar6") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "cVar1 = pcVar6[2];" (assignment_expression "cVar1 = pcVar6[2]" (identifier "cVar1") (= "=") (subscript_expression "pcVar6[2]" (identifier "pcVar6") ([ "[") (number_literal "2") (] "]"))) (; ";")) (} "}"))) (if_statement "if ((&DAT_0017d500)[(int)cVar1] != '\0') {\n            return pcVar7;\n          }" (if "if") (parenthesized_expression "((&DAT_0017d500)[(int)cVar1] != '\0')" (( "(") (binary_expression "(&DAT_0017d500)[(int)cVar1] != '\0'" (subscript_expression "(&DAT_0017d500)[(int)cVar1]" (parenthesized_expression "(&DAT_0017d500)" (( "(") (pointer_expression "&DAT_0017d500" (& "&") (identifier "DAT_0017d500")) () ")")) ([ "[") (cast_expression "(int)cVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "cVar1")) (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            return pcVar7;\n          }" ({ "{") (return_statement "return pcVar7;" (return "return") (identifier "pcVar7") (; ";")) (} "}"))) (if_statement "if (cVar1 == 0x2c) {\n            return pcVar7;\n          }" (if "if") (parenthesized_expression "(cVar1 == 0x2c)" (( "(") (binary_expression "cVar1 == 0x2c" (identifier "cVar1") (== "==") (number_literal "0x2c")) () ")")) (compound_statement "{\n            return pcVar7;\n          }" ({ "{") (return_statement "return pcVar7;" (return "return") (identifier "pcVar7") (; ";")) (} "}"))) (expression_statement "pcVar6 = "Illegal operands: garbage after %%r_%s%d()";" (assignment_expression "pcVar6 = "Illegal operands: garbage after %%r_%s%d()"" (identifier "pcVar6") (= "=") (string_literal ""Illegal operands: garbage after %%r_%s%d()"" (" """) (string_content "Illegal operands: garbage after %%r_%s%d()") (" """))) (; ";")) (goto_statement "goto LAB_00137309;" (goto "goto") (statement_identifier "LAB_00137309") (; ";")) (} "}"))) (} "}"))) (expression_statement "pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";" (assignment_expression "pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()"" (identifier "pcVar6") (= "=") (string_literal ""Illegal operands: %%r_%s%d requires arguments in ()"" (" """) (string_content "Illegal operands: %%r_%s%d requires arguments in ()") (" """))) (; ";")) (labeled_statement "LAB_00137309:\n      uVar3 = dcgettext(0,pcVar6,5);" (statement_identifier "LAB_00137309") (: ":") (expression_statement "uVar3 = dcgettext(0,pcVar6,5);" (assignment_expression "uVar3 = dcgettext(0,pcVar6,5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,pcVar6,5)" (identifier "dcgettext") (argument_list "(0,pcVar6,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar6") (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "FUN_0011d670(uVar3,pcVar7,param_2 * 8);" (call_expression "FUN_0011d670(uVar3,pcVar7,param_2 * 8)" (identifier "FUN_0011d670") (argument_list "(uVar3,pcVar7,param_2 * 8)" (( "(") (identifier "uVar3") (, ",") (identifier "pcVar7") (, ",") (binary_expression "param_2 * 8" (identifier "param_2") (* "*") (number_literal "8")) () ")"))) (; ";")) (return_statement "return pcVar7;" (return "return") (identifier "pcVar7") (; ";")) (} "}")))) (expression_statement "uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);" (assignment_expression "uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5)" (identifier "dcgettext") (argument_list "(0,"Illegal operands: %%r_%s%d requires arguments in ()",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Illegal operands: %%r_%s%d requires arguments in ()"" (" """) (string_content "Illegal operands: %%r_%s%d requires arguments in ()") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0011d670(uVar3,pcVar7,param_2 * 8);" (call_expression "FUN_0011d670(uVar3,pcVar7,param_2 * 8)" (identifier "FUN_0011d670") (argument_list "(uVar3,pcVar7,param_2 * 8)" (( "(") (identifier "uVar3") (, ",") (identifier "pcVar7") (, ",") (binary_expression "param_2 * 8" (identifier "param_2") (* "*") (number_literal "8")) () ")"))) (; ";")) (expression_statement "DAT_00187800 = pcVar6;" (assignment_expression "DAT_00187800 = pcVar6" (identifier "DAT_00187800") (= "=") (identifier "pcVar6")) (; ";")) (goto_statement "goto LAB_001370ae;" (goto "goto") (statement_identifier "LAB_001370ae") (; ";")) (} "}"))))))))) (expression_statement "uVar3 = dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5);" (assignment_expression "uVar3 = dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5)" (identifier "dcgettext") (argument_list "(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Illegal operands: Only %%r_%s%d allowed in %d-byte data fields"" (" """) (string_content "Illegal operands: Only %%r_%s%d allowed in %d-byte data fields") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0011d670(uVar3,pcVar7,param_2 * 8,param_2);" (call_expression "FUN_0011d670(uVar3,pcVar7,param_2 * 8,param_2)" (identifier "FUN_0011d670") (argument_list "(uVar3,pcVar7,param_2 * 8,param_2)" (( "(") (identifier "uVar3") (, ",") (identifier "pcVar7") (, ",") (binary_expression "param_2 * 8" (identifier "param_2") (* "*") (number_literal "8")) (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "DAT_00187800 = pcVar6;" (assignment_expression "DAT_00187800 = pcVar6" (identifier "DAT_00187800") (= "=") (identifier "pcVar6")) (; ";")) (labeled_statement "LAB_001370ae:\n  FUN_001155a0(0,param_1,1);" (statement_identifier "LAB_001370ae") (: ":") (expression_statement "FUN_001155a0(0,param_1,1);" (call_expression "FUN_001155a0(0,param_1,1)" (identifier "FUN_001155a0") (argument_list "(0,param_1,1)" (( "(") (number_literal "0") (, ",") (identifier "param_1") (, ",") (number_literal "1") () ")"))) (; ";"))) (return_statement "return (char *)0x0;" (return "return") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}")))

char * function_1(type_1 *exp,int var_8)

{
  char var_1;
  int var_13;
  int var_14;
  long var_3;
  char *var_15;
  char *pcVar6;
  type_2 *var_4;
  char *pcVar8;
  type_2 *var_11;
  type_2 *var_5;
  bool var_6;
  bool var_7;
  bool var_12;
  
  var_1 = *var_2;
  if (var_1 == ' ') {
    var_1 = var_2[1];
    var_2 = var_2 + 1;
  }
  var_15 = var_2;
  var_2 = var_15;
  if ((var_1 != '%') || (var_2[1] != 'r')) goto LAB_001370ae;
  var_6 = (type_2)var_2[2] < 0x5f;
  var_12 = var_2[2] == 0x5f;
  if (!var_12) goto LAB_001370ae;
  var_11 = (type_2 *)(var_2 + 3);
  pcVar6 = "disp";
  var_3 = 4;
  var_4 = var_11;
  var_5 = (type_2 *)0x143de8;
  do {
    if (var_3 == 0) break;
    var_3 = var_3 + -1;
    var_6 = *var_4 < *var_5;
    var_12 = *var_4 == *var_5;
    var_4 = var_4 + 1;
    var_5 = var_5 + 1;
  } while (var_12);
  var_7 = false;
  var_6 = (!var_6 && !var_12) == var_6;
  if (var_6) {
    var_2 = var_2 + 7;
  }
  else {
    pcVar6 = "plt";
    var_3 = 3;
    var_4 = var_11;
    var_5 = &DAT_00145697;
    do {
      if (var_3 == 0) break;
      var_3 = var_3 + -1;
      var_7 = *var_4 < *var_5;
      var_6 = *var_4 == *var_5;
      var_4 = var_4 + 1;
      var_5 = var_5 + 1;
    } while (var_6);
    var_12 = false;
    var_6 = (!var_7 && !var_6) == var_7;
    if (var_6) {
      pcVar8 = "Illegal operands: %%r_plt in %d-byte data field";
      if ((var_8 - 4U & 0xfffffffb) != 0) {
LAB_0013735b:
        var_15 = (char *)var_9(0,pcVar8,5);
        var_10(var_15,(type_3)(type_4)var_8);
        goto LAB_001370ae;
      }
      var_2 = var_2 + 6;
    }
    else {
      pcVar6 = "tls_dtpoff";
      var_3 = 10;
      var_4 = (type_2 *)"tls_dtpoff";
      do {
        if (var_3 == 0) break;
        var_3 = var_3 + -1;
        var_12 = *var_11 < *var_4;
        var_6 = *var_11 == *var_4;
        var_11 = var_11 + 1;
        var_4 = var_4 + 1;
      } while (var_6);
      if ((!var_12 && !var_6) != var_12) goto LAB_001370ae;
      if ((var_8 - 4U & 0xfffffffb) != 0) {
        pcVar8 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";
        goto LAB_0013735b;
      }
      var_2 = var_2 + 0xd;
    }
  }
  if (var_8 == 2) {
    if ((*var_2 == '1') && (var_2[1] == '6')) goto LAB_00137240;
  }
  else if (var_8 < 3) {
    if (var_8 == 1) {
      if (*var_2 == '8') {
        var_1 = var_2[1];
        var_2 = var_2 + 1;
        goto joined_r0x0013728d;
      }
      var_2 = var_2 + -1;
    }
  }
  else if (var_8 == 4) {
    if ((*var_2 == '3') && (var_2[1] == '2')) goto LAB_00137240;
  }
  else if ((var_8 == 8) && ((*var_2 == '6' && (var_2[1] == '4')))) {
LAB_00137240:
    var_1 = var_2[2];
    var_2 = var_2 + 2;
joined_r0x0013728d:
    if (var_1 == '(') {
      var_15 = var_2 + 1;
      var_13 = (int)var_2[1];
      var_2 = var_15;
      if (is_end_of_line[var_13] == '\0') {
        var_14 = 0;
        do {
          if (var_13 == 0x28) {
            var_14 = var_14 + 1;
          }
          else if (var_13 == 0x29) {
            var_13 = 0x29;
            if (var_14 == 0) goto LAB_00137374;
            var_14 = var_14 + -1;
          }
          var_15 = var_15 + 1;
          var_13 = (int)*var_15;
        } while (is_end_of_line[var_13] == '\0');
      }
      if (var_13 == 0x29) {
LAB_00137374:
        *var_15 = '\0';
        var_16(0,exp,expr_normal);
        *var_15 = (char)var_13;
        if (var_2 == var_15) {
          var_2 = var_15 + 1;
          var_1 = var_15[1];
          if (var_1 == ' ') {
            var_2 = var_15 + 2;
            var_1 = var_15[2];
          }
          if (is_end_of_line[(int)var_1] != '\0') {
            return pcVar6;
          }
          if (var_1 == 0x2c) {
            return pcVar6;
          }
          var_15 = "Illegal operands: garbage after %%r_%s%d()";
          goto LAB_00137309;
        }
      }
      var_15 = "Illegal operands: %%r_%s%d requires arguments in ()";
LAB_00137309:
      var_15 = (char *)var_9(0,var_15,5);
      var_10(var_15,pcVar6,(type_3)(type_4)(var_8 * 8));
      return pcVar6;
    }
    pcVar8 = (char *)var_9(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);
    var_10(pcVar8,pcVar6,(type_3)(type_4)(var_8 * 8));
    var_2 = var_15;
    goto LAB_001370ae;
  }
  pcVar8 = (char *)var_9(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5);
  var_10(pcVar8,pcVar6,(type_3)(type_4)(var_8 * 8),(type_3)(type_4)var_8);
  var_2 = var_15;
LAB_001370ae:
  var_16(0,exp,expr_normal);
  return (char *)0x0;
}


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

char * MASKED(undefined8 param_1,int param_2)

{
  char cVar1;
  int iVar2;
  undefined8 uVar3;
  int iVar4;
  long lVar5;
  char *pcVar6;
  char *pcVar7;
  byte *pbVar8;
  char *pcVar9;
  byte *pbVar10;
  byte *pbVar11;
  bool bVar12;
  bool bVar13;
  bool bVar14;
  
  cVar1 = *DAT_00187800;
  if (cVar1 == ' ') {
    cVar1 = DAT_00187800[1];
    DAT_00187800 = DAT_00187800 + 1;
  }
  pcVar6 = DAT_00187800;
  DAT_00187800 = pcVar6;
  if ((cVar1 != '%') || (DAT_00187800[1] != 'r')) goto LAB_001370ae;
  bVar12 = (byte)DAT_00187800[2] < 0x5f;
  bVar14 = DAT_00187800[2] == 0x5f;
  if (!bVar14) goto LAB_001370ae;
  pbVar10 = (byte *)(DAT_00187800 + 3);
  pcVar7 = "disp";
  lVar5 = 4;
  pbVar8 = pbVar10;
  pbVar11 = (byte *)0x143de8;
  do {
    if (lVar5 == 0) break;
    lVar5 = lVar5 + -1;
    bVar12 = *pbVar8 < *pbVar11;
    bVar14 = *pbVar8 == *pbVar11;
    pbVar8 = pbVar8 + 1;
    pbVar11 = pbVar11 + 1;
  } while (bVar14);
  bVar13 = false;
  bVar12 = (!bVar12 && !bVar14) == bVar12;
  if (bVar12) {
    DAT_00187800 = DAT_00187800 + 7;
  }
  else {
    pcVar7 = "plt";
    lVar5 = 3;
    pbVar8 = pbVar10;
    pbVar11 = &DAT_00145697;
    do {
      if (lVar5 == 0) break;
      lVar5 = lVar5 + -1;
      bVar13 = *pbVar8 < *pbVar11;
      bVar12 = *pbVar8 == *pbVar11;
      pbVar8 = pbVar8 + 1;
      pbVar11 = pbVar11 + 1;
    } while (bVar12);
    bVar14 = false;
    bVar12 = (!bVar13 && !bVar12) == bVar13;
    if (bVar12) {
      pcVar9 = "Illegal operands: %%r_plt in %d-byte data field";
      if ((param_2 - 4U & 0xfffffffb) != 0) {
LAB_0013735b:
        uVar3 = dcgettext(0,pcVar9,5);
        FUN_0011d670(uVar3,param_2);
        goto LAB_001370ae;
      }
      DAT_00187800 = DAT_00187800 + 6;
    }
    else {
      pcVar7 = "tls_dtpoff";
      lVar5 = 10;
      pbVar8 = (byte *)"tls_dtpoff";
      do {
        if (lVar5 == 0) break;
        lVar5 = lVar5 + -1;
        bVar14 = *pbVar10 < *pbVar8;
        bVar12 = *pbVar10 == *pbVar8;
        pbVar10 = pbVar10 + 1;
        pbVar8 = pbVar8 + 1;
      } while (bVar12);
      if ((!bVar14 && !bVar12) != bVar14) goto LAB_001370ae;
      if ((param_2 - 4U & 0xfffffffb) != 0) {
        pcVar9 = "Illegal operands: %%r_tls_dtpoff in %d-byte data field";
        goto LAB_0013735b;
      }
      DAT_00187800 = DAT_00187800 + 0xd;
    }
  }
  if (param_2 == 2) {
    if ((*DAT_00187800 == '1') && (DAT_00187800[1] == '6')) goto LAB_00137240;
  }
  else if (param_2 < 3) {
    if (param_2 == 1) {
      if (*DAT_00187800 == '8') {
        cVar1 = DAT_00187800[1];
        DAT_00187800 = DAT_00187800 + 1;
        goto joined_r0x0013728d;
      }
      DAT_00187800 = DAT_00187800 + -1;
    }
  }
  else if (param_2 == 4) {
    if ((*DAT_00187800 == '3') && (DAT_00187800[1] == '2')) goto LAB_00137240;
  }
  else if ((param_2 == 8) && ((*DAT_00187800 == '6' && (DAT_00187800[1] == '4')))) {
LAB_00137240:
    cVar1 = DAT_00187800[2];
    DAT_00187800 = DAT_00187800 + 2;
joined_r0x0013728d:
    if (cVar1 == '(') {
      pcVar6 = DAT_00187800 + 1;
      iVar2 = (int)DAT_00187800[1];
      DAT_00187800 = pcVar6;
      if ((&DAT_0017d500)[iVar2] == '\0') {
        iVar4 = 0;
        do {
          if (iVar2 == 0x28) {
            iVar4 = iVar4 + 1;
          }
          else if (iVar2 == 0x29) {
            iVar2 = 0x29;
            if (iVar4 == 0) goto LAB_00137374;
            iVar4 = iVar4 + -1;
          }
          pcVar6 = pcVar6 + 1;
          iVar2 = (int)*pcVar6;
        } while ((&DAT_0017d500)[iVar2] == '\0');
      }
      if (iVar2 == 0x29) {
LAB_00137374:
        *pcVar6 = '\0';
        FUN_001155a0(0,param_1,1);
        *pcVar6 = (char)iVar2;
        if (DAT_00187800 == pcVar6) {
          DAT_00187800 = pcVar6 + 1;
          cVar1 = pcVar6[1];
          if (cVar1 == ' ') {
            DAT_00187800 = pcVar6 + 2;
            cVar1 = pcVar6[2];
          }
          if ((&DAT_0017d500)[(int)cVar1] != '\0') {
            return pcVar7;
          }
          if (cVar1 == 0x2c) {
            return pcVar7;
          }
          pcVar6 = "Illegal operands: garbage after %%r_%s%d()";
          goto LAB_00137309;
        }
      }
      pcVar6 = "Illegal operands: %%r_%s%d requires arguments in ()";
LAB_00137309:
      uVar3 = dcgettext(0,pcVar6,5);
      FUN_0011d670(uVar3,pcVar7,param_2 * 8);
      return pcVar7;
    }
    uVar3 = dcgettext(0,"Illegal operands: %%r_%s%d requires arguments in ()",5);
    FUN_0011d670(uVar3,pcVar7,param_2 * 8);
    DAT_00187800 = pcVar6;
    goto LAB_001370ae;
  }
  uVar3 = dcgettext(0,"Illegal operands: Only %%r_%s%d allowed in %d-byte data fields",5);
  FUN_0011d670(uVar3,pcVar7,param_2 * 8,param_2);
  DAT_00187800 = pcVar6;
LAB_001370ae:
  FUN_001155a0(0,param_1,1);
  return (char *)0x0;
}

