
void report_op_error(symbolS *symp,symbolS *left,operatorT op,symbolS *right)

{
  char *pcVar1;
  symbolS *psVar2;
  int iVar3;
  char *pcVar4;
  segT paVar5;
  char *pcVar6;
  segT paVar7;
  segT paVar8;
  undefined *puVar9;
  uint line;
  char *file;
  
  paVar8 = (segT)0x0;
  if (left != (symbolS *)0x0) {
    paVar8 = (segT)left->bsym;
    if (((uint)left->sy_flags & 1) != 0) {
      if (reg_section != paVar8) goto LAB_00127d9c;
      paVar8 = (segT)((left->sy_value).X_op_symbol)->bsym;
    }
    paVar8 = *(segT *)&paVar8->flags;
  }
LAB_00127d9c:
  paVar7 = (segT)right->bsym;
  if (((uint)right->sy_flags & 1) == 0) {
LAB_00127dd8:
    paVar7 = *(segT *)&paVar7->flags;
  }
  else if (reg_section == paVar7) {
    paVar7 = (segT)((right->sy_value).X_op_symbol)->bsym;
    goto LAB_00127dd8;
  }
  switch(op) {
  case O_uminus:
  case O_subtract:
    puVar9 = &DAT_0014af24;
    break;
  case O_bit_not:
    puVar9 = &DAT_0014f1b2;
    break;
  case O_logical_not:
    puVar9 = &DAT_0014f1a7;
    break;
  case O_multiply:
    puVar9 = &DAT_001493c2;
    break;
  case O_divide:
    puVar9 = &DAT_0014f085;
    break;
  case O_modulus:
    puVar9 = &DAT_0014f1a9;
    break;
  case O_left_shift:
    puVar9 = &DAT_0014f1ab;
    break;
  case O_right_shift:
    puVar9 = &DAT_0014f1ae;
    break;
  case O_bit_inclusive_or:
    puVar9 = &DAT_0014f1b7;
    break;
  case O_bit_or_not:
    puVar9 = &DAT_0014f1b1;
    break;
  case O_bit_exclusive_or:
    puVar9 = &DAT_0014f1b4;
    break;
  case O_bit_and:
    puVar9 = &DAT_0014f1a5;
    break;
  case O_add:
    puVar9 = &DAT_00149508;
    break;
  case O_eq:
    puVar9 = &DAT_0014f1b9;
    break;
  case O_ne:
    puVar9 = &DAT_0014f1bc;
    break;
  case O_lt:
    puVar9 = &DAT_00150035;
    break;
  case O_le:
    puVar9 = &DAT_0014f1bf;
    break;
  case O_ge:
    puVar9 = &DAT_0014f1c2;
    break;
  case O_gt:
    puVar9 = &DAT_0014f1af;
    break;
  case O_logical_and:
    puVar9 = &DAT_0014f1a4;
    break;
  case O_logical_or:
    puVar9 = &DAT_0014f1b6;
    break;
  default:
                    /* WARNING: Subroutine does not return */
    as_abort("../../gas/symbols.c",0x3df,"report_op_error");
  }
  iVar3 = expr_symbol_where(symp,&file,&line);
  if (iVar3 != 0) {
    pcVar1 = paVar7->name;
    if (left != (symbolS *)0x0) {
      pcVar6 = paVar8->name;
      pcVar4 = (char *)dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);
      as_bad_where(file,line,pcVar4,pcVar6,pcVar1,puVar9);
      return;
    }
    pcVar6 = (char *)dcgettext(0,"invalid operand (%s section) for `%s\'",5);
    as_bad_where(file,line,pcVar6,pcVar1,puVar9);
    return;
  }
  paVar5 = (segT)symp->bsym;
  if (((uint)symp->sy_flags & 1) != 0) {
    if (reg_section != paVar5) {
      psVar2 = (symp->sy_value).X_add_symbol;
      pcVar1 = paVar7->name;
      goto joined_r0x00128023;
    }
    paVar5 = (segT)((symp->sy_value).X_op_symbol)->bsym;
  }
  psVar2 = *(symbolS **)&paVar5->id;
  pcVar1 = paVar7->name;
joined_r0x00128023:
  if (left == (symbolS *)0x0) {
    pcVar6 = (char *)dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);
    as_bad(pcVar6,pcVar1,puVar9,psVar2);
    return;
  }
  pcVar6 = paVar8->name;
  pcVar4 = (char *)dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",
                             5);
  as_bad(pcVar4,pcVar6,pcVar1,puVar9,psVar2);
  return;
}



void FUN_00127d70(byte *param_1,byte *param_2,undefined4 param_3,byte *param_4)

{
  undefined8 uVar1;
  int iVar2;
  undefined8 uVar3;
  undefined8 uVar4;
  undefined8 *puVar5;
  undefined8 uVar6;
  undefined8 *puVar7;
  undefined8 *puVar8;
  undefined *puVar9;
  undefined4 local_34;
  undefined8 local_30;
  
  puVar8 = (undefined8 *)0x0;
  if (param_2 != (byte *)0x0) {
    puVar8 = *(undefined8 **)(param_2 + 8);
    if ((*param_2 & 1) != 0) {
      if (DAT_001e4578 != puVar8) goto LAB_00127d9c;
      puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);
    }
    puVar8 = (undefined8 *)puVar8[4];
  }
LAB_00127d9c:
  puVar7 = *(undefined8 **)(param_4 + 8);
  if ((*param_4 & 1) == 0) {
LAB_00127dd8:
    puVar7 = (undefined8 *)puVar7[4];
  }
  else if (DAT_001e4578 == puVar7) {
    puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);
    goto LAB_00127dd8;
  }
  switch(param_3) {
  case 7:
  case 0x14:
    puVar9 = &DAT_0014af24;
    break;
  case 8:
    puVar9 = &DAT_0014f1b2;
    break;
  case 9:
    puVar9 = &DAT_0014f1a7;
    break;
  case 10:
    puVar9 = &DAT_001493c2;
    break;
  case 0xb:
    puVar9 = &DAT_0014f085;
    break;
  case 0xc:
    puVar9 = &DAT_0014f1a9;
    break;
  case 0xd:
    puVar9 = &DAT_0014f1ab;
    break;
  case 0xe:
    puVar9 = &DAT_0014f1ae;
    break;
  case 0xf:
    puVar9 = &DAT_0014f1b7;
    break;
  case 0x10:
    puVar9 = &DAT_0014f1b1;
    break;
  case 0x11:
    puVar9 = &DAT_0014f1b4;
    break;
  case 0x12:
    puVar9 = &DAT_0014f1a5;
    break;
  case 0x13:
    puVar9 = &DAT_00149508;
    break;
  case 0x15:
    puVar9 = &DAT_0014f1b9;
    break;
  case 0x16:
    puVar9 = &DAT_0014f1bc;
    break;
  case 0x17:
    puVar9 = &DAT_00150035;
    break;
  case 0x18:
    puVar9 = &DAT_0014f1bf;
    break;
  case 0x19:
    puVar9 = &DAT_0014f1c2;
    break;
  case 0x1a:
    puVar9 = &DAT_0014f1af;
    break;
  case 0x1b:
    puVar9 = &DAT_0014f1a4;
    break;
  case 0x1c:
    puVar9 = &DAT_0014f1b6;
    break;
  default:
                    /* WARNING: Subroutine does not return */
    FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error");
  }
  iVar2 = FUN_00114030(param_1,&local_30,&local_34);
  if (iVar2 != 0) {
    uVar1 = *puVar7;
    if (param_2 != (byte *)0x0) {
      uVar6 = *puVar8;
      uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);
      FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);
      return;
    }
    uVar6 = dcgettext(0,"invalid operand (%s section) for `%s\'",5);
    FUN_0011db40(local_30,local_34,uVar6,uVar1,puVar9);
    return;
  }
  puVar5 = *(undefined8 **)(param_1 + 8);
  if ((*param_1 & 1) != 0) {
    if (DAT_001e4578 != puVar5) {
      uVar1 = *(undefined8 *)(param_1 + 0x10);
      uVar6 = *puVar7;
      goto joined_r0x00128023;
    }
    puVar5 = *(undefined8 **)(*(long *)(param_1 + 0x18) + 8);
  }
  uVar1 = puVar5[1];
  uVar6 = *puVar7;
joined_r0x00128023:
  if (param_2 == (byte *)0x0) {
    uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);
    FUN_0011da70(uVar3,uVar6,puVar9,uVar1);
    return;
  }
  uVar3 = *puVar8;
  uVar4 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",5);
  FUN_0011da70(uVar4,uVar3,uVar6,puVar9,uVar1);
  return;
}


PUSH R14
PUSH R13
MOV R13,RDI
PUSH R12
XOR R12D,R12D
PUSH RBP
PUSH RBX
MOV RBX,RSI
SUB RSP,0x10
TEST RSI,RSI
JZ 0x00127d9c
MOV R12,qword ptr [RSI + 0x8]
TEST byte ptr [RSI],0x1
JZ 0x00127de8
CMP qword ptr [0x001e4578],R12
JZ 0x00127de0
MOV RBP,qword ptr [RCX + 0x8]
TEST byte ptr [RCX],0x1
JZ 0x00127dd8
CMP qword ptr [0x001e4578],RBP
JZ 0x00127dd0
SUB EDX,0x7
CMP EDX,0x15
JA 0x00128099
LEA RCX,[0x14f670]
MOVSXD RAX,dword ptr [RCX + RDX*0x4]
ADD RAX,RCX
JMP RAX
MOV RAX,qword ptr [RCX + 0x18]
MOV RBP,qword ptr [RAX + 0x8]
MOV RBP,qword ptr [RBP + 0x20]
JMP 0x00127dae
MOV RAX,qword ptr [RSI + 0x18]
MOV R12,qword ptr [RAX + 0x8]
MOV R12,qword ptr [R12 + 0x20]
JMP 0x00127d9c
LEA R14,[0x14f1a9]
NOP word ptr [RAX + RAX*0x1]
LEA RDX,[RSP + 0x4]
LEA RSI,[RSP + 0x8]
MOV RDI,R13
CALL 0x00114030
TEST EAX,EAX
JZ 0x00127fb0
MOV RBP,qword ptr [RBP]
TEST RBX,RBX
JZ 0x00128060
MOV RBX,qword ptr [R12]
MOV EDX,0x5
LEA RSI,[0x14f380]
XOR EDI,EDI
CALL 0x001081c0
MOV ESI,dword ptr [RSP + 0x4]
MOV R9,R14
MOV R8,RBP
MOV RDI,qword ptr [RSP + 0x8]
MOV RCX,RBX
MOV RDX,RAX
XOR EAX,EAX
CALL 0x0011db40
ADD RSP,0x10
POP RBX
POP RBP
POP R12
POP R13
POP R14
RET
LEA R14,[0x14f1c2]
JMP 0x00127e00
LEA R14,[0x14f1bf]
JMP 0x00127e00
LEA R14,[0x150035]
JMP 0x00127e00
LEA R14,[0x14f1bc]
JMP 0x00127e00
LEA R14,[0x14f1b9]
JMP 0x00127e00
LEA R14,[0x14f1b6]
JMP 0x00127e00
LEA R14,[0x14f1af]
JMP 0x00127e00
LEA R14,[0x14af24]
JMP 0x00127e00
LEA R14,[0x14f1a4]
JMP 0x00127e00
LEA R14,[0x14f085]
JMP 0x00127e00
LEA R14,[0x1493c2]
JMP 0x00127e00
LEA R14,[0x14f1a7]
JMP 0x00127e00
LEA R14,[0x14f1b2]
JMP 0x00127e00
LEA R14,[0x149508]
JMP 0x00127e00
LEA R14,[0x14f1a5]
JMP 0x00127e00
LEA R14,[0x14f1b4]
JMP 0x00127e00
LEA R14,[0x14f1b1]
JMP 0x00127e00
LEA R14,[0x14f1b7]
JMP 0x00127e00
LEA R14,[0x14f1ae]
JMP 0x00127e00
LEA R14,[0x14f1ab]
JMP 0x00127e00
MOV RAX,qword ptr [R13 + 0x8]
TEST byte ptr [R13],0x1
JZ 0x00128018
CMP qword ptr [0x001e4578],RAX
JZ 0x00128010
MOV R13,qword ptr [R13 + 0x10]
MOV RBP,qword ptr [RBP]
TEST RBX,RBX
JZ 0x00128025
MOV RBX,qword ptr [R12]
MOV EDX,0x5
LEA RSI,[0x14f3d8]
XOR EDI,EDI
CALL 0x001081c0
MOV R8,R13
MOV RCX,R14
MOV RDX,RBP
MOV RSI,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0011da70
ADD RSP,0x10
POP RBX
POP RBP
POP R12
POP R13
POP R14
RET
MOV RAX,qword ptr [R13 + 0x18]
MOV RAX,qword ptr [RAX + 0x8]
MOV R13,qword ptr [RAX + 0x8]
MOV RBP,qword ptr [RBP]
TEST RBX,RBX
JNZ 0x00127fd1
MOV EDX,0x5
LEA RSI,[0x14f420]
XOR EDI,EDI
CALL 0x001081c0
MOV RCX,R13
MOV RDX,R14
MOV RSI,RBP
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0011da70
ADD RSP,0x10
POP RBX
POP RBP
POP R12
POP R13
POP R14
RET
MOV EDX,0x5
LEA RSI,[0x14f3b0]
XOR EDI,EDI
CALL 0x001081c0
MOV ESI,dword ptr [RSP + 0x4]
MOV R8,R14
MOV RCX,RBP
MOV RDI,qword ptr [RSP + 0x8]
MOV RDX,RAX
XOR EAX,EAX
CALL 0x0011db40
ADD RSP,0x10
POP RBX
POP RBP
POP R12
POP R13
POP R14
RET
LEA RDX,[0x14f8f0]
MOV ESI,0x3df
LEA RDI,[0x14f190]
CALL 0x0011dd00
(translation_unit "void FUN_00127d70(byte *param_1,byte *param_2,undefined4 param_3,byte *param_4)\n\n{\n  undefined8 uVar1;\n  int iVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 *puVar5;\n  undefined8 uVar6;\n  undefined8 *puVar7;\n  undefined8 *puVar8;\n  undefined *puVar9;\n  undefined4 local_34;\n  undefined8 local_30;\n  \n  puVar8 = (undefined8 *)0x0;\n  if (param_2 != (byte *)0x0) {\n    puVar8 = *(undefined8 **)(param_2 + 8);\n    if ((*param_2 & 1) != 0) {\n      if (DAT_001e4578 != puVar8) goto LAB_00127d9c;\n      puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);\n    }\n    puVar8 = (undefined8 *)puVar8[4];\n  }\nLAB_00127d9c:\n  puVar7 = *(undefined8 **)(param_4 + 8);\n  if ((*param_4 & 1) == 0) {\nLAB_00127dd8:\n    puVar7 = (undefined8 *)puVar7[4];\n  }\n  else if (DAT_001e4578 == puVar7) {\n    puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);\n    goto LAB_00127dd8;\n  }\n  switch(param_3) {\n  case 7:\n  case 0x14:\n    puVar9 = &DAT_0014af24;\n    break;\n  case 8:\n    puVar9 = &DAT_0014f1b2;\n    break;\n  case 9:\n    puVar9 = &DAT_0014f1a7;\n    break;\n  case 10:\n    puVar9 = &DAT_001493c2;\n    break;\n  case 0xb:\n    puVar9 = &DAT_0014f085;\n    break;\n  case 0xc:\n    puVar9 = &DAT_0014f1a9;\n    break;\n  case 0xd:\n    puVar9 = &DAT_0014f1ab;\n    break;\n  case 0xe:\n    puVar9 = &DAT_0014f1ae;\n    break;\n  case 0xf:\n    puVar9 = &DAT_0014f1b7;\n    break;\n  case 0x10:\n    puVar9 = &DAT_0014f1b1;\n    break;\n  case 0x11:\n    puVar9 = &DAT_0014f1b4;\n    break;\n  case 0x12:\n    puVar9 = &DAT_0014f1a5;\n    break;\n  case 0x13:\n    puVar9 = &DAT_00149508;\n    break;\n  case 0x15:\n    puVar9 = &DAT_0014f1b9;\n    break;\n  case 0x16:\n    puVar9 = &DAT_0014f1bc;\n    break;\n  case 0x17:\n    puVar9 = &DAT_00150035;\n    break;\n  case 0x18:\n    puVar9 = &DAT_0014f1bf;\n    break;\n  case 0x19:\n    puVar9 = &DAT_0014f1c2;\n    break;\n  case 0x1a:\n    puVar9 = &DAT_0014f1af;\n    break;\n  case 0x1b:\n    puVar9 = &DAT_0014f1a4;\n    break;\n  case 0x1c:\n    puVar9 = &DAT_0014f1b6;\n    break;\n  default:\n                    /* WARNING: Subroutine does not return */\n    FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error");\n  }\n  iVar2 = FUN_00114030(param_1,&local_30,&local_34);\n  if (iVar2 != 0) {\n    uVar1 = *puVar7;\n    if (param_2 != (byte *)0x0) {\n      uVar6 = *puVar8;\n      uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);\n      return;\n    }\n    uVar6 = dcgettext(0,"invalid operand (%s section) for `%s\'",5);\n    FUN_0011db40(local_30,local_34,uVar6,uVar1,puVar9);\n    return;\n  }\n  puVar5 = *(undefined8 **)(param_1 + 8);\n  if ((*param_1 & 1) != 0) {\n    if (DAT_001e4578 != puVar5) {\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      uVar6 = *puVar7;\n      goto joined_r0x00128023;\n    }\n    puVar5 = *(undefined8 **)(*(long *)(param_1 + 0x18) + 8);\n  }\n  uVar1 = puVar5[1];\n  uVar6 = *puVar7;\njoined_r0x00128023:\n  if (param_2 == (byte *)0x0) {\n    uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    FUN_0011da70(uVar3,uVar6,puVar9,uVar1);\n    return;\n  }\n  uVar3 = *puVar8;\n  uVar4 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",5);\n  FUN_0011da70(uVar4,uVar3,uVar6,puVar9,uVar1);\n  return;\n}\n\n" (function_definition "void FUN_00127d70(byte *param_1,byte *param_2,undefined4 param_3,byte *param_4)\n\n{\n  undefined8 uVar1;\n  int iVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 *puVar5;\n  undefined8 uVar6;\n  undefined8 *puVar7;\n  undefined8 *puVar8;\n  undefined *puVar9;\n  undefined4 local_34;\n  undefined8 local_30;\n  \n  puVar8 = (undefined8 *)0x0;\n  if (param_2 != (byte *)0x0) {\n    puVar8 = *(undefined8 **)(param_2 + 8);\n    if ((*param_2 & 1) != 0) {\n      if (DAT_001e4578 != puVar8) goto LAB_00127d9c;\n      puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);\n    }\n    puVar8 = (undefined8 *)puVar8[4];\n  }\nLAB_00127d9c:\n  puVar7 = *(undefined8 **)(param_4 + 8);\n  if ((*param_4 & 1) == 0) {\nLAB_00127dd8:\n    puVar7 = (undefined8 *)puVar7[4];\n  }\n  else if (DAT_001e4578 == puVar7) {\n    puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);\n    goto LAB_00127dd8;\n  }\n  switch(param_3) {\n  case 7:\n  case 0x14:\n    puVar9 = &DAT_0014af24;\n    break;\n  case 8:\n    puVar9 = &DAT_0014f1b2;\n    break;\n  case 9:\n    puVar9 = &DAT_0014f1a7;\n    break;\n  case 10:\n    puVar9 = &DAT_001493c2;\n    break;\n  case 0xb:\n    puVar9 = &DAT_0014f085;\n    break;\n  case 0xc:\n    puVar9 = &DAT_0014f1a9;\n    break;\n  case 0xd:\n    puVar9 = &DAT_0014f1ab;\n    break;\n  case 0xe:\n    puVar9 = &DAT_0014f1ae;\n    break;\n  case 0xf:\n    puVar9 = &DAT_0014f1b7;\n    break;\n  case 0x10:\n    puVar9 = &DAT_0014f1b1;\n    break;\n  case 0x11:\n    puVar9 = &DAT_0014f1b4;\n    break;\n  case 0x12:\n    puVar9 = &DAT_0014f1a5;\n    break;\n  case 0x13:\n    puVar9 = &DAT_00149508;\n    break;\n  case 0x15:\n    puVar9 = &DAT_0014f1b9;\n    break;\n  case 0x16:\n    puVar9 = &DAT_0014f1bc;\n    break;\n  case 0x17:\n    puVar9 = &DAT_00150035;\n    break;\n  case 0x18:\n    puVar9 = &DAT_0014f1bf;\n    break;\n  case 0x19:\n    puVar9 = &DAT_0014f1c2;\n    break;\n  case 0x1a:\n    puVar9 = &DAT_0014f1af;\n    break;\n  case 0x1b:\n    puVar9 = &DAT_0014f1a4;\n    break;\n  case 0x1c:\n    puVar9 = &DAT_0014f1b6;\n    break;\n  default:\n                    /* WARNING: Subroutine does not return */\n    FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error");\n  }\n  iVar2 = FUN_00114030(param_1,&local_30,&local_34);\n  if (iVar2 != 0) {\n    uVar1 = *puVar7;\n    if (param_2 != (byte *)0x0) {\n      uVar6 = *puVar8;\n      uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);\n      return;\n    }\n    uVar6 = dcgettext(0,"invalid operand (%s section) for `%s\'",5);\n    FUN_0011db40(local_30,local_34,uVar6,uVar1,puVar9);\n    return;\n  }\n  puVar5 = *(undefined8 **)(param_1 + 8);\n  if ((*param_1 & 1) != 0) {\n    if (DAT_001e4578 != puVar5) {\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      uVar6 = *puVar7;\n      goto joined_r0x00128023;\n    }\n    puVar5 = *(undefined8 **)(*(long *)(param_1 + 0x18) + 8);\n  }\n  uVar1 = puVar5[1];\n  uVar6 = *puVar7;\njoined_r0x00128023:\n  if (param_2 == (byte *)0x0) {\n    uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    FUN_0011da70(uVar3,uVar6,puVar9,uVar1);\n    return;\n  }\n  uVar3 = *puVar8;\n  uVar4 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",5);\n  FUN_0011da70(uVar4,uVar3,uVar6,puVar9,uVar1);\n  return;\n}" primitive_type (function_declarator "FUN_00127d70(byte *param_1,byte *param_2,undefined4 param_3,byte *param_4)" identifier (parameter_list "(byte *param_1,byte *param_2,undefined4 param_3,byte *param_4)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "byte *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "byte *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  undefined8 uVar1;\n  int iVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 *puVar5;\n  undefined8 uVar6;\n  undefined8 *puVar7;\n  undefined8 *puVar8;\n  undefined *puVar9;\n  undefined4 local_34;\n  undefined8 local_30;\n  \n  puVar8 = (undefined8 *)0x0;\n  if (param_2 != (byte *)0x0) {\n    puVar8 = *(undefined8 **)(param_2 + 8);\n    if ((*param_2 & 1) != 0) {\n      if (DAT_001e4578 != puVar8) goto LAB_00127d9c;\n      puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);\n    }\n    puVar8 = (undefined8 *)puVar8[4];\n  }\nLAB_00127d9c:\n  puVar7 = *(undefined8 **)(param_4 + 8);\n  if ((*param_4 & 1) == 0) {\nLAB_00127dd8:\n    puVar7 = (undefined8 *)puVar7[4];\n  }\n  else if (DAT_001e4578 == puVar7) {\n    puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);\n    goto LAB_00127dd8;\n  }\n  switch(param_3) {\n  case 7:\n  case 0x14:\n    puVar9 = &DAT_0014af24;\n    break;\n  case 8:\n    puVar9 = &DAT_0014f1b2;\n    break;\n  case 9:\n    puVar9 = &DAT_0014f1a7;\n    break;\n  case 10:\n    puVar9 = &DAT_001493c2;\n    break;\n  case 0xb:\n    puVar9 = &DAT_0014f085;\n    break;\n  case 0xc:\n    puVar9 = &DAT_0014f1a9;\n    break;\n  case 0xd:\n    puVar9 = &DAT_0014f1ab;\n    break;\n  case 0xe:\n    puVar9 = &DAT_0014f1ae;\n    break;\n  case 0xf:\n    puVar9 = &DAT_0014f1b7;\n    break;\n  case 0x10:\n    puVar9 = &DAT_0014f1b1;\n    break;\n  case 0x11:\n    puVar9 = &DAT_0014f1b4;\n    break;\n  case 0x12:\n    puVar9 = &DAT_0014f1a5;\n    break;\n  case 0x13:\n    puVar9 = &DAT_00149508;\n    break;\n  case 0x15:\n    puVar9 = &DAT_0014f1b9;\n    break;\n  case 0x16:\n    puVar9 = &DAT_0014f1bc;\n    break;\n  case 0x17:\n    puVar9 = &DAT_00150035;\n    break;\n  case 0x18:\n    puVar9 = &DAT_0014f1bf;\n    break;\n  case 0x19:\n    puVar9 = &DAT_0014f1c2;\n    break;\n  case 0x1a:\n    puVar9 = &DAT_0014f1af;\n    break;\n  case 0x1b:\n    puVar9 = &DAT_0014f1a4;\n    break;\n  case 0x1c:\n    puVar9 = &DAT_0014f1b6;\n    break;\n  default:\n                    /* WARNING: Subroutine does not return */\n    FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error");\n  }\n  iVar2 = FUN_00114030(param_1,&local_30,&local_34);\n  if (iVar2 != 0) {\n    uVar1 = *puVar7;\n    if (param_2 != (byte *)0x0) {\n      uVar6 = *puVar8;\n      uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);\n      return;\n    }\n    uVar6 = dcgettext(0,"invalid operand (%s section) for `%s\'",5);\n    FUN_0011db40(local_30,local_34,uVar6,uVar1,puVar9);\n    return;\n  }\n  puVar5 = *(undefined8 **)(param_1 + 8);\n  if ((*param_1 & 1) != 0) {\n    if (DAT_001e4578 != puVar5) {\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      uVar6 = *puVar7;\n      goto joined_r0x00128023;\n    }\n    puVar5 = *(undefined8 **)(*(long *)(param_1 + 0x18) + 8);\n  }\n  uVar1 = puVar5[1];\n  uVar6 = *puVar7;\njoined_r0x00128023:\n  if (param_2 == (byte *)0x0) {\n    uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    FUN_0011da70(uVar3,uVar6,puVar9,uVar1);\n    return;\n  }\n  uVar3 = *puVar8;\n  uVar4 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",5);\n  FUN_0011da70(uVar4,uVar3,uVar6,puVar9,uVar1);\n  return;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "undefined8 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "undefined8 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined8 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined8 local_30;" type_identifier identifier ;) (expression_statement "puVar8 = (undefined8 *)0x0;" (assignment_expression "puVar8 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (param_2 != (byte *)0x0) {\n    puVar8 = *(undefined8 **)(param_2 + 8);\n    if ((*param_2 & 1) != 0) {\n      if (DAT_001e4578 != puVar8) goto LAB_00127d9c;\n      puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);\n    }\n    puVar8 = (undefined8 *)puVar8[4];\n  }" if (parenthesized_expression "(param_2 != (byte *)0x0)" ( (binary_expression "param_2 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar8 = *(undefined8 **)(param_2 + 8);\n    if ((*param_2 & 1) != 0) {\n      if (DAT_001e4578 != puVar8) goto LAB_00127d9c;\n      puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);\n    }\n    puVar8 = (undefined8 *)puVar8[4];\n  }" { (expression_statement "puVar8 = *(undefined8 **)(param_2 + 8);" (assignment_expression "puVar8 = *(undefined8 **)(param_2 + 8)" identifier = (pointer_expression "*(undefined8 **)(param_2 + 8)" * (cast_expression "(undefined8 **)(param_2 + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((*param_2 & 1) != 0) {\n      if (DAT_001e4578 != puVar8) goto LAB_00127d9c;\n      puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);\n    }" if (parenthesized_expression "((*param_2 & 1) != 0)" ( (binary_expression "(*param_2 & 1) != 0" (parenthesized_expression "(*param_2 & 1)" ( (binary_expression "*param_2 & 1" (pointer_expression "*param_2" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      if (DAT_001e4578 != puVar8) goto LAB_00127d9c;\n      puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);\n    }" { (if_statement "if (DAT_001e4578 != puVar8) goto LAB_00127d9c;" if (parenthesized_expression "(DAT_001e4578 != puVar8)" ( (binary_expression "DAT_001e4578 != puVar8" identifier != identifier) )) (goto_statement "goto LAB_00127d9c;" goto statement_identifier ;)) (expression_statement "puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);" (assignment_expression "puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8)" identifier = (pointer_expression "*(undefined8 **)(*(long *)(param_2 + 0x18) + 8)" * (cast_expression "(undefined8 **)(*(long *)(param_2 + 0x18) + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(param_2 + 0x18) + 8)" ( (binary_expression "*(long *)(param_2 + 0x18) + 8" (pointer_expression "*(long *)(param_2 + 0x18)" * (cast_expression "(long *)(param_2 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) + number_literal) ))))) ;) })) (expression_statement "puVar8 = (undefined8 *)puVar8[4];" (assignment_expression "puVar8 = (undefined8 *)puVar8[4]" identifier = (cast_expression "(undefined8 *)puVar8[4]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[4]" identifier [ number_literal ]))) ;) })) (labeled_statement "LAB_00127d9c:\n  puVar7 = *(undefined8 **)(param_4 + 8);" statement_identifier : (expression_statement "puVar7 = *(undefined8 **)(param_4 + 8);" (assignment_expression "puVar7 = *(undefined8 **)(param_4 + 8)" identifier = (pointer_expression "*(undefined8 **)(param_4 + 8)" * (cast_expression "(undefined8 **)(param_4 + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 8)" ( (binary_expression "param_4 + 8" identifier + number_literal) ))))) ;)) (if_statement "if ((*param_4 & 1) == 0) {\nLAB_00127dd8:\n    puVar7 = (undefined8 *)puVar7[4];\n  }\n  else if (DAT_001e4578 == puVar7) {\n    puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);\n    goto LAB_00127dd8;\n  }" if (parenthesized_expression "((*param_4 & 1) == 0)" ( (binary_expression "(*param_4 & 1) == 0" (parenthesized_expression "(*param_4 & 1)" ( (binary_expression "*param_4 & 1" (pointer_expression "*param_4" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00127dd8:\n    puVar7 = (undefined8 *)puVar7[4];\n  }" { (labeled_statement "LAB_00127dd8:\n    puVar7 = (undefined8 *)puVar7[4];" statement_identifier : (expression_statement "puVar7 = (undefined8 *)puVar7[4];" (assignment_expression "puVar7 = (undefined8 *)puVar7[4]" identifier = (cast_expression "(undefined8 *)puVar7[4]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar7[4]" identifier [ number_literal ]))) ;)) }) (else_clause "else if (DAT_001e4578 == puVar7) {\n    puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);\n    goto LAB_00127dd8;\n  }" else (if_statement "if (DAT_001e4578 == puVar7) {\n    puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);\n    goto LAB_00127dd8;\n  }" if (parenthesized_expression "(DAT_001e4578 == puVar7)" ( (binary_expression "DAT_001e4578 == puVar7" identifier == identifier) )) (compound_statement "{\n    puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);\n    goto LAB_00127dd8;\n  }" { (expression_statement "puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);" (assignment_expression "puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8)" identifier = (pointer_expression "*(undefined8 **)(*(long *)(param_4 + 0x18) + 8)" * (cast_expression "(undefined8 **)(*(long *)(param_4 + 0x18) + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(param_4 + 0x18) + 8)" ( (binary_expression "*(long *)(param_4 + 0x18) + 8" (pointer_expression "*(long *)(param_4 + 0x18)" * (cast_expression "(long *)(param_4 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x18)" ( (binary_expression "param_4 + 0x18" identifier + number_literal) )))) + number_literal) ))))) ;) (goto_statement "goto LAB_00127dd8;" goto statement_identifier ;) })))) (switch_statement "switch(param_3) {\n  case 7:\n  case 0x14:\n    puVar9 = &DAT_0014af24;\n    break;\n  case 8:\n    puVar9 = &DAT_0014f1b2;\n    break;\n  case 9:\n    puVar9 = &DAT_0014f1a7;\n    break;\n  case 10:\n    puVar9 = &DAT_001493c2;\n    break;\n  case 0xb:\n    puVar9 = &DAT_0014f085;\n    break;\n  case 0xc:\n    puVar9 = &DAT_0014f1a9;\n    break;\n  case 0xd:\n    puVar9 = &DAT_0014f1ab;\n    break;\n  case 0xe:\n    puVar9 = &DAT_0014f1ae;\n    break;\n  case 0xf:\n    puVar9 = &DAT_0014f1b7;\n    break;\n  case 0x10:\n    puVar9 = &DAT_0014f1b1;\n    break;\n  case 0x11:\n    puVar9 = &DAT_0014f1b4;\n    break;\n  case 0x12:\n    puVar9 = &DAT_0014f1a5;\n    break;\n  case 0x13:\n    puVar9 = &DAT_00149508;\n    break;\n  case 0x15:\n    puVar9 = &DAT_0014f1b9;\n    break;\n  case 0x16:\n    puVar9 = &DAT_0014f1bc;\n    break;\n  case 0x17:\n    puVar9 = &DAT_00150035;\n    break;\n  case 0x18:\n    puVar9 = &DAT_0014f1bf;\n    break;\n  case 0x19:\n    puVar9 = &DAT_0014f1c2;\n    break;\n  case 0x1a:\n    puVar9 = &DAT_0014f1af;\n    break;\n  case 0x1b:\n    puVar9 = &DAT_0014f1a4;\n    break;\n  case 0x1c:\n    puVar9 = &DAT_0014f1b6;\n    break;\n  default:\n                    /* WARNING: Subroutine does not return */\n    FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error");\n  }" switch (parenthesized_expression "(param_3)" ( identifier )) (compound_statement "{\n  case 7:\n  case 0x14:\n    puVar9 = &DAT_0014af24;\n    break;\n  case 8:\n    puVar9 = &DAT_0014f1b2;\n    break;\n  case 9:\n    puVar9 = &DAT_0014f1a7;\n    break;\n  case 10:\n    puVar9 = &DAT_001493c2;\n    break;\n  case 0xb:\n    puVar9 = &DAT_0014f085;\n    break;\n  case 0xc:\n    puVar9 = &DAT_0014f1a9;\n    break;\n  case 0xd:\n    puVar9 = &DAT_0014f1ab;\n    break;\n  case 0xe:\n    puVar9 = &DAT_0014f1ae;\n    break;\n  case 0xf:\n    puVar9 = &DAT_0014f1b7;\n    break;\n  case 0x10:\n    puVar9 = &DAT_0014f1b1;\n    break;\n  case 0x11:\n    puVar9 = &DAT_0014f1b4;\n    break;\n  case 0x12:\n    puVar9 = &DAT_0014f1a5;\n    break;\n  case 0x13:\n    puVar9 = &DAT_00149508;\n    break;\n  case 0x15:\n    puVar9 = &DAT_0014f1b9;\n    break;\n  case 0x16:\n    puVar9 = &DAT_0014f1bc;\n    break;\n  case 0x17:\n    puVar9 = &DAT_00150035;\n    break;\n  case 0x18:\n    puVar9 = &DAT_0014f1bf;\n    break;\n  case 0x19:\n    puVar9 = &DAT_0014f1c2;\n    break;\n  case 0x1a:\n    puVar9 = &DAT_0014f1af;\n    break;\n  case 0x1b:\n    puVar9 = &DAT_0014f1a4;\n    break;\n  case 0x1c:\n    puVar9 = &DAT_0014f1b6;\n    break;\n  default:\n                    /* WARNING: Subroutine does not return */\n    FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error");\n  }" { (case_statement "case 7:" case number_literal :) (case_statement "case 0x14:\n    puVar9 = &DAT_0014af24;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014af24;" (assignment_expression "puVar9 = &DAT_0014af24" identifier = (pointer_expression "&DAT_0014af24" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n    puVar9 = &DAT_0014f1b2;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1b2;" (assignment_expression "puVar9 = &DAT_0014f1b2" identifier = (pointer_expression "&DAT_0014f1b2" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n    puVar9 = &DAT_0014f1a7;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1a7;" (assignment_expression "puVar9 = &DAT_0014f1a7" identifier = (pointer_expression "&DAT_0014f1a7" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n    puVar9 = &DAT_001493c2;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_001493c2;" (assignment_expression "puVar9 = &DAT_001493c2" identifier = (pointer_expression "&DAT_001493c2" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0xb:\n    puVar9 = &DAT_0014f085;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f085;" (assignment_expression "puVar9 = &DAT_0014f085" identifier = (pointer_expression "&DAT_0014f085" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n    puVar9 = &DAT_0014f1a9;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1a9;" (assignment_expression "puVar9 = &DAT_0014f1a9" identifier = (pointer_expression "&DAT_0014f1a9" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0xd:\n    puVar9 = &DAT_0014f1ab;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1ab;" (assignment_expression "puVar9 = &DAT_0014f1ab" identifier = (pointer_expression "&DAT_0014f1ab" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0xe:\n    puVar9 = &DAT_0014f1ae;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1ae;" (assignment_expression "puVar9 = &DAT_0014f1ae" identifier = (pointer_expression "&DAT_0014f1ae" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0xf:\n    puVar9 = &DAT_0014f1b7;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1b7;" (assignment_expression "puVar9 = &DAT_0014f1b7" identifier = (pointer_expression "&DAT_0014f1b7" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x10:\n    puVar9 = &DAT_0014f1b1;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1b1;" (assignment_expression "puVar9 = &DAT_0014f1b1" identifier = (pointer_expression "&DAT_0014f1b1" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x11:\n    puVar9 = &DAT_0014f1b4;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1b4;" (assignment_expression "puVar9 = &DAT_0014f1b4" identifier = (pointer_expression "&DAT_0014f1b4" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x12:\n    puVar9 = &DAT_0014f1a5;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1a5;" (assignment_expression "puVar9 = &DAT_0014f1a5" identifier = (pointer_expression "&DAT_0014f1a5" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x13:\n    puVar9 = &DAT_00149508;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_00149508;" (assignment_expression "puVar9 = &DAT_00149508" identifier = (pointer_expression "&DAT_00149508" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x15:\n    puVar9 = &DAT_0014f1b9;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1b9;" (assignment_expression "puVar9 = &DAT_0014f1b9" identifier = (pointer_expression "&DAT_0014f1b9" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x16:\n    puVar9 = &DAT_0014f1bc;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1bc;" (assignment_expression "puVar9 = &DAT_0014f1bc" identifier = (pointer_expression "&DAT_0014f1bc" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x17:\n    puVar9 = &DAT_00150035;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_00150035;" (assignment_expression "puVar9 = &DAT_00150035" identifier = (pointer_expression "&DAT_00150035" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x18:\n    puVar9 = &DAT_0014f1bf;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1bf;" (assignment_expression "puVar9 = &DAT_0014f1bf" identifier = (pointer_expression "&DAT_0014f1bf" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x19:\n    puVar9 = &DAT_0014f1c2;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1c2;" (assignment_expression "puVar9 = &DAT_0014f1c2" identifier = (pointer_expression "&DAT_0014f1c2" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x1a:\n    puVar9 = &DAT_0014f1af;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1af;" (assignment_expression "puVar9 = &DAT_0014f1af" identifier = (pointer_expression "&DAT_0014f1af" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x1b:\n    puVar9 = &DAT_0014f1a4;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1a4;" (assignment_expression "puVar9 = &DAT_0014f1a4" identifier = (pointer_expression "&DAT_0014f1a4" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x1c:\n    puVar9 = &DAT_0014f1b6;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1b6;" (assignment_expression "puVar9 = &DAT_0014f1b6" identifier = (pointer_expression "&DAT_0014f1b6" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n    FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error");" default : comment (expression_statement "FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error");" (call_expression "FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error")" identifier (argument_list "("../../gas/symbols.c",0x3df,"report_op_error")" ( (string_literal ""../../gas/symbols.c"" " string_content ") , number_literal , (string_literal ""report_op_error"" " string_content ") ))) ;)) })) (expression_statement "iVar2 = FUN_00114030(param_1,&local_30,&local_34);" (assignment_expression "iVar2 = FUN_00114030(param_1,&local_30,&local_34)" identifier = (call_expression "FUN_00114030(param_1,&local_30,&local_34)" identifier (argument_list "(param_1,&local_30,&local_34)" ( identifier , (pointer_expression "&local_30" & identifier) , (pointer_expression "&local_34" & identifier) )))) ;) (if_statement "if (iVar2 != 0) {\n    uVar1 = *puVar7;\n    if (param_2 != (byte *)0x0) {\n      uVar6 = *puVar8;\n      uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);\n      return;\n    }\n    uVar6 = dcgettext(0,"invalid operand (%s section) for `%s\'",5);\n    FUN_0011db40(local_30,local_34,uVar6,uVar1,puVar9);\n    return;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar1 = *puVar7;\n    if (param_2 != (byte *)0x0) {\n      uVar6 = *puVar8;\n      uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);\n      return;\n    }\n    uVar6 = dcgettext(0,"invalid operand (%s section) for `%s\'",5);\n    FUN_0011db40(local_30,local_34,uVar6,uVar1,puVar9);\n    return;\n  }" { (expression_statement "uVar1 = *puVar7;" (assignment_expression "uVar1 = *puVar7" identifier = (pointer_expression "*puVar7" * identifier)) ;) (if_statement "if (param_2 != (byte *)0x0) {\n      uVar6 = *puVar8;\n      uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);\n      return;\n    }" if (parenthesized_expression "(param_2 != (byte *)0x0)" ( (binary_expression "param_2 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar6 = *puVar8;\n      uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);\n      return;\n    }" { (expression_statement "uVar6 = *puVar8;" (assignment_expression "uVar6 = *puVar8" identifier = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);" (assignment_expression "uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5)" identifier = (call_expression "dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5)" identifier (argument_list "(0,"invalid operands (%s and %s sections) for `%s\'",5)" ( number_literal , (string_literal ""invalid operands (%s and %s sections) for `%s\'"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);" (call_expression "FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9)" identifier (argument_list "(local_30,local_34,uVar3,uVar6,uVar1,puVar9)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar6 = dcgettext(0,"invalid operand (%s section) for `%s\'",5);" (assignment_expression "uVar6 = dcgettext(0,"invalid operand (%s section) for `%s\'",5)" identifier = (call_expression "dcgettext(0,"invalid operand (%s section) for `%s\'",5)" identifier (argument_list "(0,"invalid operand (%s section) for `%s\'",5)" ( number_literal , (string_literal ""invalid operand (%s section) for `%s\'"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0011db40(local_30,local_34,uVar6,uVar1,puVar9);" (call_expression "FUN_0011db40(local_30,local_34,uVar6,uVar1,puVar9)" identifier (argument_list "(local_30,local_34,uVar6,uVar1,puVar9)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "puVar5 = *(undefined8 **)(param_1 + 8);" (assignment_expression "puVar5 = *(undefined8 **)(param_1 + 8)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 8)" * (cast_expression "(undefined8 **)(param_1 + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((*param_1 & 1) != 0) {\n    if (DAT_001e4578 != puVar5) {\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      uVar6 = *puVar7;\n      goto joined_r0x00128023;\n    }\n    puVar5 = *(undefined8 **)(*(long *)(param_1 + 0x18) + 8);\n  }" if (parenthesized_expression "((*param_1 & 1) != 0)" ( (binary_expression "(*param_1 & 1) != 0" (parenthesized_expression "(*param_1 & 1)" ( (binary_expression "*param_1 & 1" (pointer_expression "*param_1" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n    if (DAT_001e4578 != puVar5) {\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      uVar6 = *puVar7;\n      goto joined_r0x00128023;\n    }\n    puVar5 = *(undefined8 **)(*(long *)(param_1 + 0x18) + 8);\n  }" { (if_statement "if (DAT_001e4578 != puVar5) {\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      uVar6 = *puVar7;\n      goto joined_r0x00128023;\n    }" if (parenthesized_expression "(DAT_001e4578 != puVar5)" ( (binary_expression "DAT_001e4578 != puVar5" identifier != identifier) )) (compound_statement "{\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      uVar6 = *puVar7;\n      goto joined_r0x00128023;\n    }" { (expression_statement "uVar1 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar1 = *(undefined8 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *puVar7;" (assignment_expression "uVar6 = *puVar7" identifier = (pointer_expression "*puVar7" * identifier)) ;) (goto_statement "goto joined_r0x00128023;" goto statement_identifier ;) })) (expression_statement "puVar5 = *(undefined8 **)(*(long *)(param_1 + 0x18) + 8);" (assignment_expression "puVar5 = *(undefined8 **)(*(long *)(param_1 + 0x18) + 8)" identifier = (pointer_expression "*(undefined8 **)(*(long *)(param_1 + 0x18) + 8)" * (cast_expression "(undefined8 **)(*(long *)(param_1 + 0x18) + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(param_1 + 0x18) + 8)" ( (binary_expression "*(long *)(param_1 + 0x18) + 8" (pointer_expression "*(long *)(param_1 + 0x18)" * (cast_expression "(long *)(param_1 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) + number_literal) ))))) ;) })) (expression_statement "uVar1 = puVar5[1];" (assignment_expression "uVar1 = puVar5[1]" identifier = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = *puVar7;" (assignment_expression "uVar6 = *puVar7" identifier = (pointer_expression "*puVar7" * identifier)) ;) (labeled_statement "joined_r0x00128023:\n  if (param_2 == (byte *)0x0) {\n    uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    FUN_0011da70(uVar3,uVar6,puVar9,uVar1);\n    return;\n  }" statement_identifier : (if_statement "if (param_2 == (byte *)0x0) {\n    uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    FUN_0011da70(uVar3,uVar6,puVar9,uVar1);\n    return;\n  }" if (parenthesized_expression "(param_2 == (byte *)0x0)" ( (binary_expression "param_2 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    FUN_0011da70(uVar3,uVar6,puVar9,uVar1);\n    return;\n  }" { (expression_statement "uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);" (assignment_expression "uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5)" identifier = (call_expression "dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5)" identifier (argument_list "(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5)" ( number_literal , (string_literal ""invalid operand (%s section) for `%s\' when setting `%s\'"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0011da70(uVar3,uVar6,puVar9,uVar1);" (call_expression "FUN_0011da70(uVar3,uVar6,puVar9,uVar1)" identifier (argument_list "(uVar3,uVar6,puVar9,uVar1)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) }))) (expression_statement "uVar3 = *puVar8;" (assignment_expression "uVar3 = *puVar8" identifier = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "uVar4 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",5);" (assignment_expression "uVar4 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",5)" identifier = (call_expression "dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",5)" identifier (argument_list "(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",5)" ( number_literal , (string_literal ""invalid operands (%s and %s sections) for `%s\' when setting `%s\'"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0011da70(uVar4,uVar3,uVar6,puVar9,uVar1);" (call_expression "FUN_0011da70(uVar4,uVar3,uVar6,puVar9,uVar1)" identifier (argument_list "(uVar4,uVar3,uVar6,puVar9,uVar1)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void report_op_error(symbolS *symp,symbolS *left,operatorT op,symbolS *right)\n\n{\n  char *pcVar1;\n  symbolS *psVar2;\n  int iVar3;\n  char *pcVar4;\n  segT paVar5;\n  char *pcVar6;\n  segT paVar7;\n  segT paVar8;\n  undefined *puVar9;\n  uint line;\n  char *file;\n  \n  paVar8 = (segT)0x0;\n  if (left != (symbolS *)0x0) {\n    paVar8 = (segT)left->bsym;\n    if (((uint)left->sy_flags & 1) != 0) {\n      if (reg_section != paVar8) goto LAB_00127d9c;\n      paVar8 = (segT)((left->sy_value).X_op_symbol)->bsym;\n    }\n    paVar8 = *(segT *)&paVar8->flags;\n  }\nLAB_00127d9c:\n  paVar7 = (segT)right->bsym;\n  if (((uint)right->sy_flags & 1) == 0) {\nLAB_00127dd8:\n    paVar7 = *(segT *)&paVar7->flags;\n  }\n  else if (reg_section == paVar7) {\n    paVar7 = (segT)((right->sy_value).X_op_symbol)->bsym;\n    goto LAB_00127dd8;\n  }\n  switch(op) {\n  case O_uminus:\n  case O_subtract:\n    puVar9 = &DAT_0014af24;\n    break;\n  case O_bit_not:\n    puVar9 = &DAT_0014f1b2;\n    break;\n  case O_logical_not:\n    puVar9 = &DAT_0014f1a7;\n    break;\n  case O_multiply:\n    puVar9 = &DAT_001493c2;\n    break;\n  case O_divide:\n    puVar9 = &DAT_0014f085;\n    break;\n  case O_modulus:\n    puVar9 = &DAT_0014f1a9;\n    break;\n  case O_left_shift:\n    puVar9 = &DAT_0014f1ab;\n    break;\n  case O_right_shift:\n    puVar9 = &DAT_0014f1ae;\n    break;\n  case O_bit_inclusive_or:\n    puVar9 = &DAT_0014f1b7;\n    break;\n  case O_bit_or_not:\n    puVar9 = &DAT_0014f1b1;\n    break;\n  case O_bit_exclusive_or:\n    puVar9 = &DAT_0014f1b4;\n    break;\n  case O_bit_and:\n    puVar9 = &DAT_0014f1a5;\n    break;\n  case O_add:\n    puVar9 = &DAT_00149508;\n    break;\n  case O_eq:\n    puVar9 = &DAT_0014f1b9;\n    break;\n  case O_ne:\n    puVar9 = &DAT_0014f1bc;\n    break;\n  case O_lt:\n    puVar9 = &DAT_00150035;\n    break;\n  case O_le:\n    puVar9 = &DAT_0014f1bf;\n    break;\n  case O_ge:\n    puVar9 = &DAT_0014f1c2;\n    break;\n  case O_gt:\n    puVar9 = &DAT_0014f1af;\n    break;\n  case O_logical_and:\n    puVar9 = &DAT_0014f1a4;\n    break;\n  case O_logical_or:\n    puVar9 = &DAT_0014f1b6;\n    break;\n  default:\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/symbols.c",0x3df,"report_op_error");\n  }\n  iVar3 = expr_symbol_where(symp,&file,&line);\n  if (iVar3 != 0) {\n    pcVar1 = paVar7->name;\n    if (left != (symbolS *)0x0) {\n      pcVar6 = paVar8->name;\n      pcVar4 = (char *)dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      as_bad_where(file,line,pcVar4,pcVar6,pcVar1,puVar9);\n      return;\n    }\n    pcVar6 = (char *)dcgettext(0,"invalid operand (%s section) for `%s\'",5);\n    as_bad_where(file,line,pcVar6,pcVar1,puVar9);\n    return;\n  }\n  paVar5 = (segT)symp->bsym;\n  if (((uint)symp->sy_flags & 1) != 0) {\n    if (reg_section != paVar5) {\n      psVar2 = (symp->sy_value).X_add_symbol;\n      pcVar1 = paVar7->name;\n      goto joined_r0x00128023;\n    }\n    paVar5 = (segT)((symp->sy_value).X_op_symbol)->bsym;\n  }\n  psVar2 = *(symbolS **)&paVar5->id;\n  pcVar1 = paVar7->name;\njoined_r0x00128023:\n  if (left == (symbolS *)0x0) {\n    pcVar6 = (char *)dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    as_bad(pcVar6,pcVar1,puVar9,psVar2);\n    return;\n  }\n  pcVar6 = paVar8->name;\n  pcVar4 = (char *)dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",\n                             5);\n  as_bad(pcVar4,pcVar6,pcVar1,puVar9,psVar2);\n  return;\n}\n\n" (function_definition "void report_op_error(symbolS *symp,symbolS *left,operatorT op,symbolS *right)\n\n{\n  char *pcVar1;\n  symbolS *psVar2;\n  int iVar3;\n  char *pcVar4;\n  segT paVar5;\n  char *pcVar6;\n  segT paVar7;\n  segT paVar8;\n  undefined *puVar9;\n  uint line;\n  char *file;\n  \n  paVar8 = (segT)0x0;\n  if (left != (symbolS *)0x0) {\n    paVar8 = (segT)left->bsym;\n    if (((uint)left->sy_flags & 1) != 0) {\n      if (reg_section != paVar8) goto LAB_00127d9c;\n      paVar8 = (segT)((left->sy_value).X_op_symbol)->bsym;\n    }\n    paVar8 = *(segT *)&paVar8->flags;\n  }\nLAB_00127d9c:\n  paVar7 = (segT)right->bsym;\n  if (((uint)right->sy_flags & 1) == 0) {\nLAB_00127dd8:\n    paVar7 = *(segT *)&paVar7->flags;\n  }\n  else if (reg_section == paVar7) {\n    paVar7 = (segT)((right->sy_value).X_op_symbol)->bsym;\n    goto LAB_00127dd8;\n  }\n  switch(op) {\n  case O_uminus:\n  case O_subtract:\n    puVar9 = &DAT_0014af24;\n    break;\n  case O_bit_not:\n    puVar9 = &DAT_0014f1b2;\n    break;\n  case O_logical_not:\n    puVar9 = &DAT_0014f1a7;\n    break;\n  case O_multiply:\n    puVar9 = &DAT_001493c2;\n    break;\n  case O_divide:\n    puVar9 = &DAT_0014f085;\n    break;\n  case O_modulus:\n    puVar9 = &DAT_0014f1a9;\n    break;\n  case O_left_shift:\n    puVar9 = &DAT_0014f1ab;\n    break;\n  case O_right_shift:\n    puVar9 = &DAT_0014f1ae;\n    break;\n  case O_bit_inclusive_or:\n    puVar9 = &DAT_0014f1b7;\n    break;\n  case O_bit_or_not:\n    puVar9 = &DAT_0014f1b1;\n    break;\n  case O_bit_exclusive_or:\n    puVar9 = &DAT_0014f1b4;\n    break;\n  case O_bit_and:\n    puVar9 = &DAT_0014f1a5;\n    break;\n  case O_add:\n    puVar9 = &DAT_00149508;\n    break;\n  case O_eq:\n    puVar9 = &DAT_0014f1b9;\n    break;\n  case O_ne:\n    puVar9 = &DAT_0014f1bc;\n    break;\n  case O_lt:\n    puVar9 = &DAT_00150035;\n    break;\n  case O_le:\n    puVar9 = &DAT_0014f1bf;\n    break;\n  case O_ge:\n    puVar9 = &DAT_0014f1c2;\n    break;\n  case O_gt:\n    puVar9 = &DAT_0014f1af;\n    break;\n  case O_logical_and:\n    puVar9 = &DAT_0014f1a4;\n    break;\n  case O_logical_or:\n    puVar9 = &DAT_0014f1b6;\n    break;\n  default:\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/symbols.c",0x3df,"report_op_error");\n  }\n  iVar3 = expr_symbol_where(symp,&file,&line);\n  if (iVar3 != 0) {\n    pcVar1 = paVar7->name;\n    if (left != (symbolS *)0x0) {\n      pcVar6 = paVar8->name;\n      pcVar4 = (char *)dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      as_bad_where(file,line,pcVar4,pcVar6,pcVar1,puVar9);\n      return;\n    }\n    pcVar6 = (char *)dcgettext(0,"invalid operand (%s section) for `%s\'",5);\n    as_bad_where(file,line,pcVar6,pcVar1,puVar9);\n    return;\n  }\n  paVar5 = (segT)symp->bsym;\n  if (((uint)symp->sy_flags & 1) != 0) {\n    if (reg_section != paVar5) {\n      psVar2 = (symp->sy_value).X_add_symbol;\n      pcVar1 = paVar7->name;\n      goto joined_r0x00128023;\n    }\n    paVar5 = (segT)((symp->sy_value).X_op_symbol)->bsym;\n  }\n  psVar2 = *(symbolS **)&paVar5->id;\n  pcVar1 = paVar7->name;\njoined_r0x00128023:\n  if (left == (symbolS *)0x0) {\n    pcVar6 = (char *)dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    as_bad(pcVar6,pcVar1,puVar9,psVar2);\n    return;\n  }\n  pcVar6 = paVar8->name;\n  pcVar4 = (char *)dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",\n                             5);\n  as_bad(pcVar4,pcVar6,pcVar1,puVar9,psVar2);\n  return;\n}" primitive_type (function_declarator "report_op_error(symbolS *symp,symbolS *left,operatorT op,symbolS *right)" identifier (parameter_list "(symbolS *symp,symbolS *left,operatorT op,symbolS *right)" ( (parameter_declaration "symbolS *symp" type_identifier (pointer_declarator "*symp" * identifier)) , (parameter_declaration "symbolS *left" type_identifier (pointer_declarator "*left" * identifier)) , (parameter_declaration "operatorT op" type_identifier identifier) , (parameter_declaration "symbolS *right" type_identifier (pointer_declarator "*right" * identifier)) ))) (compound_statement "{\n  char *pcVar1;\n  symbolS *psVar2;\n  int iVar3;\n  char *pcVar4;\n  segT paVar5;\n  char *pcVar6;\n  segT paVar7;\n  segT paVar8;\n  undefined *puVar9;\n  uint line;\n  char *file;\n  \n  paVar8 = (segT)0x0;\n  if (left != (symbolS *)0x0) {\n    paVar8 = (segT)left->bsym;\n    if (((uint)left->sy_flags & 1) != 0) {\n      if (reg_section != paVar8) goto LAB_00127d9c;\n      paVar8 = (segT)((left->sy_value).X_op_symbol)->bsym;\n    }\n    paVar8 = *(segT *)&paVar8->flags;\n  }\nLAB_00127d9c:\n  paVar7 = (segT)right->bsym;\n  if (((uint)right->sy_flags & 1) == 0) {\nLAB_00127dd8:\n    paVar7 = *(segT *)&paVar7->flags;\n  }\n  else if (reg_section == paVar7) {\n    paVar7 = (segT)((right->sy_value).X_op_symbol)->bsym;\n    goto LAB_00127dd8;\n  }\n  switch(op) {\n  case O_uminus:\n  case O_subtract:\n    puVar9 = &DAT_0014af24;\n    break;\n  case O_bit_not:\n    puVar9 = &DAT_0014f1b2;\n    break;\n  case O_logical_not:\n    puVar9 = &DAT_0014f1a7;\n    break;\n  case O_multiply:\n    puVar9 = &DAT_001493c2;\n    break;\n  case O_divide:\n    puVar9 = &DAT_0014f085;\n    break;\n  case O_modulus:\n    puVar9 = &DAT_0014f1a9;\n    break;\n  case O_left_shift:\n    puVar9 = &DAT_0014f1ab;\n    break;\n  case O_right_shift:\n    puVar9 = &DAT_0014f1ae;\n    break;\n  case O_bit_inclusive_or:\n    puVar9 = &DAT_0014f1b7;\n    break;\n  case O_bit_or_not:\n    puVar9 = &DAT_0014f1b1;\n    break;\n  case O_bit_exclusive_or:\n    puVar9 = &DAT_0014f1b4;\n    break;\n  case O_bit_and:\n    puVar9 = &DAT_0014f1a5;\n    break;\n  case O_add:\n    puVar9 = &DAT_00149508;\n    break;\n  case O_eq:\n    puVar9 = &DAT_0014f1b9;\n    break;\n  case O_ne:\n    puVar9 = &DAT_0014f1bc;\n    break;\n  case O_lt:\n    puVar9 = &DAT_00150035;\n    break;\n  case O_le:\n    puVar9 = &DAT_0014f1bf;\n    break;\n  case O_ge:\n    puVar9 = &DAT_0014f1c2;\n    break;\n  case O_gt:\n    puVar9 = &DAT_0014f1af;\n    break;\n  case O_logical_and:\n    puVar9 = &DAT_0014f1a4;\n    break;\n  case O_logical_or:\n    puVar9 = &DAT_0014f1b6;\n    break;\n  default:\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/symbols.c",0x3df,"report_op_error");\n  }\n  iVar3 = expr_symbol_where(symp,&file,&line);\n  if (iVar3 != 0) {\n    pcVar1 = paVar7->name;\n    if (left != (symbolS *)0x0) {\n      pcVar6 = paVar8->name;\n      pcVar4 = (char *)dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      as_bad_where(file,line,pcVar4,pcVar6,pcVar1,puVar9);\n      return;\n    }\n    pcVar6 = (char *)dcgettext(0,"invalid operand (%s section) for `%s\'",5);\n    as_bad_where(file,line,pcVar6,pcVar1,puVar9);\n    return;\n  }\n  paVar5 = (segT)symp->bsym;\n  if (((uint)symp->sy_flags & 1) != 0) {\n    if (reg_section != paVar5) {\n      psVar2 = (symp->sy_value).X_add_symbol;\n      pcVar1 = paVar7->name;\n      goto joined_r0x00128023;\n    }\n    paVar5 = (segT)((symp->sy_value).X_op_symbol)->bsym;\n  }\n  psVar2 = *(symbolS **)&paVar5->id;\n  pcVar1 = paVar7->name;\njoined_r0x00128023:\n  if (left == (symbolS *)0x0) {\n    pcVar6 = (char *)dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    as_bad(pcVar6,pcVar1,puVar9,psVar2);\n    return;\n  }\n  pcVar6 = paVar8->name;\n  pcVar4 = (char *)dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",\n                             5);\n  as_bad(pcVar4,pcVar6,pcVar1,puVar9,psVar2);\n  return;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "symbolS *psVar2;" type_identifier (pointer_declarator "*psVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "segT paVar5;" type_identifier identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "segT paVar7;" type_identifier identifier ;) (declaration "segT paVar8;" type_identifier identifier ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "uint line;" type_identifier identifier ;) (declaration "char *file;" primitive_type (pointer_declarator "*file" * identifier) ;) (expression_statement "paVar8 = (segT)0x0;" (assignment_expression "paVar8 = (segT)0x0" identifier = (cast_expression "(segT)0x0" ( (type_descriptor "segT" type_identifier) ) number_literal)) ;) (if_statement "if (left != (symbolS *)0x0) {\n    paVar8 = (segT)left->bsym;\n    if (((uint)left->sy_flags & 1) != 0) {\n      if (reg_section != paVar8) goto LAB_00127d9c;\n      paVar8 = (segT)((left->sy_value).X_op_symbol)->bsym;\n    }\n    paVar8 = *(segT *)&paVar8->flags;\n  }" if (parenthesized_expression "(left != (symbolS *)0x0)" ( (binary_expression "left != (symbolS *)0x0" identifier != (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    paVar8 = (segT)left->bsym;\n    if (((uint)left->sy_flags & 1) != 0) {\n      if (reg_section != paVar8) goto LAB_00127d9c;\n      paVar8 = (segT)((left->sy_value).X_op_symbol)->bsym;\n    }\n    paVar8 = *(segT *)&paVar8->flags;\n  }" { (expression_statement "paVar8 = (segT)left->bsym;" (assignment_expression "paVar8 = (segT)left->bsym" identifier = (cast_expression "(segT)left->bsym" ( (type_descriptor "segT" type_identifier) ) (field_expression "left->bsym" identifier -> field_identifier))) ;) (if_statement "if (((uint)left->sy_flags & 1) != 0) {\n      if (reg_section != paVar8) goto LAB_00127d9c;\n      paVar8 = (segT)((left->sy_value).X_op_symbol)->bsym;\n    }" if (parenthesized_expression "(((uint)left->sy_flags & 1) != 0)" ( (binary_expression "((uint)left->sy_flags & 1) != 0" (parenthesized_expression "((uint)left->sy_flags & 1)" ( (binary_expression "(uint)left->sy_flags & 1" (cast_expression "(uint)left->sy_flags" ( (type_descriptor "uint" type_identifier) ) (field_expression "left->sy_flags" identifier -> field_identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n      if (reg_section != paVar8) goto LAB_00127d9c;\n      paVar8 = (segT)((left->sy_value).X_op_symbol)->bsym;\n    }" { (if_statement "if (reg_section != paVar8) goto LAB_00127d9c;" if (parenthesized_expression "(reg_section != paVar8)" ( (binary_expression "reg_section != paVar8" identifier != identifier) )) (goto_statement "goto LAB_00127d9c;" goto statement_identifier ;)) (expression_statement "paVar8 = (segT)((left->sy_value).X_op_symbol)->bsym;" (assignment_expression "paVar8 = (segT)((left->sy_value).X_op_symbol)->bsym" identifier = (field_expression "(segT)((left->sy_value).X_op_symbol)->bsym" (call_expression "(segT)((left->sy_value).X_op_symbol)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "((left->sy_value).X_op_symbol)" ( (field_expression "(left->sy_value).X_op_symbol" (parenthesized_expression "(left->sy_value)" ( (field_expression "left->sy_value" identifier -> field_identifier) )) . field_identifier) ))) -> field_identifier)) ;) })) (expression_statement "paVar8 = *(segT *)&paVar8->flags;" (assignment_expression "paVar8 = *(segT *)&paVar8->flags" identifier = (pointer_expression "*(segT *)&paVar8->flags" * (cast_expression "(segT *)&paVar8->flags" ( (type_descriptor "segT *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&paVar8->flags" & (field_expression "paVar8->flags" identifier -> field_identifier))))) ;) })) (labeled_statement "LAB_00127d9c:\n  paVar7 = (segT)right->bsym;" statement_identifier : (expression_statement "paVar7 = (segT)right->bsym;" (assignment_expression "paVar7 = (segT)right->bsym" identifier = (cast_expression "(segT)right->bsym" ( (type_descriptor "segT" type_identifier) ) (field_expression "right->bsym" identifier -> field_identifier))) ;)) (if_statement "if (((uint)right->sy_flags & 1) == 0) {\nLAB_00127dd8:\n    paVar7 = *(segT *)&paVar7->flags;\n  }\n  else if (reg_section == paVar7) {\n    paVar7 = (segT)((right->sy_value).X_op_symbol)->bsym;\n    goto LAB_00127dd8;\n  }" if (parenthesized_expression "(((uint)right->sy_flags & 1) == 0)" ( (binary_expression "((uint)right->sy_flags & 1) == 0" (parenthesized_expression "((uint)right->sy_flags & 1)" ( (binary_expression "(uint)right->sy_flags & 1" (cast_expression "(uint)right->sy_flags" ( (type_descriptor "uint" type_identifier) ) (field_expression "right->sy_flags" identifier -> field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00127dd8:\n    paVar7 = *(segT *)&paVar7->flags;\n  }" { (labeled_statement "LAB_00127dd8:\n    paVar7 = *(segT *)&paVar7->flags;" statement_identifier : (expression_statement "paVar7 = *(segT *)&paVar7->flags;" (assignment_expression "paVar7 = *(segT *)&paVar7->flags" identifier = (pointer_expression "*(segT *)&paVar7->flags" * (cast_expression "(segT *)&paVar7->flags" ( (type_descriptor "segT *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&paVar7->flags" & (field_expression "paVar7->flags" identifier -> field_identifier))))) ;)) }) (else_clause "else if (reg_section == paVar7) {\n    paVar7 = (segT)((right->sy_value).X_op_symbol)->bsym;\n    goto LAB_00127dd8;\n  }" else (if_statement "if (reg_section == paVar7) {\n    paVar7 = (segT)((right->sy_value).X_op_symbol)->bsym;\n    goto LAB_00127dd8;\n  }" if (parenthesized_expression "(reg_section == paVar7)" ( (binary_expression "reg_section == paVar7" identifier == identifier) )) (compound_statement "{\n    paVar7 = (segT)((right->sy_value).X_op_symbol)->bsym;\n    goto LAB_00127dd8;\n  }" { (expression_statement "paVar7 = (segT)((right->sy_value).X_op_symbol)->bsym;" (assignment_expression "paVar7 = (segT)((right->sy_value).X_op_symbol)->bsym" identifier = (field_expression "(segT)((right->sy_value).X_op_symbol)->bsym" (call_expression "(segT)((right->sy_value).X_op_symbol)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "((right->sy_value).X_op_symbol)" ( (field_expression "(right->sy_value).X_op_symbol" (parenthesized_expression "(right->sy_value)" ( (field_expression "right->sy_value" identifier -> field_identifier) )) . field_identifier) ))) -> field_identifier)) ;) (goto_statement "goto LAB_00127dd8;" goto statement_identifier ;) })))) (switch_statement "switch(op) {\n  case O_uminus:\n  case O_subtract:\n    puVar9 = &DAT_0014af24;\n    break;\n  case O_bit_not:\n    puVar9 = &DAT_0014f1b2;\n    break;\n  case O_logical_not:\n    puVar9 = &DAT_0014f1a7;\n    break;\n  case O_multiply:\n    puVar9 = &DAT_001493c2;\n    break;\n  case O_divide:\n    puVar9 = &DAT_0014f085;\n    break;\n  case O_modulus:\n    puVar9 = &DAT_0014f1a9;\n    break;\n  case O_left_shift:\n    puVar9 = &DAT_0014f1ab;\n    break;\n  case O_right_shift:\n    puVar9 = &DAT_0014f1ae;\n    break;\n  case O_bit_inclusive_or:\n    puVar9 = &DAT_0014f1b7;\n    break;\n  case O_bit_or_not:\n    puVar9 = &DAT_0014f1b1;\n    break;\n  case O_bit_exclusive_or:\n    puVar9 = &DAT_0014f1b4;\n    break;\n  case O_bit_and:\n    puVar9 = &DAT_0014f1a5;\n    break;\n  case O_add:\n    puVar9 = &DAT_00149508;\n    break;\n  case O_eq:\n    puVar9 = &DAT_0014f1b9;\n    break;\n  case O_ne:\n    puVar9 = &DAT_0014f1bc;\n    break;\n  case O_lt:\n    puVar9 = &DAT_00150035;\n    break;\n  case O_le:\n    puVar9 = &DAT_0014f1bf;\n    break;\n  case O_ge:\n    puVar9 = &DAT_0014f1c2;\n    break;\n  case O_gt:\n    puVar9 = &DAT_0014f1af;\n    break;\n  case O_logical_and:\n    puVar9 = &DAT_0014f1a4;\n    break;\n  case O_logical_or:\n    puVar9 = &DAT_0014f1b6;\n    break;\n  default:\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/symbols.c",0x3df,"report_op_error");\n  }" switch (parenthesized_expression "(op)" ( identifier )) (compound_statement "{\n  case O_uminus:\n  case O_subtract:\n    puVar9 = &DAT_0014af24;\n    break;\n  case O_bit_not:\n    puVar9 = &DAT_0014f1b2;\n    break;\n  case O_logical_not:\n    puVar9 = &DAT_0014f1a7;\n    break;\n  case O_multiply:\n    puVar9 = &DAT_001493c2;\n    break;\n  case O_divide:\n    puVar9 = &DAT_0014f085;\n    break;\n  case O_modulus:\n    puVar9 = &DAT_0014f1a9;\n    break;\n  case O_left_shift:\n    puVar9 = &DAT_0014f1ab;\n    break;\n  case O_right_shift:\n    puVar9 = &DAT_0014f1ae;\n    break;\n  case O_bit_inclusive_or:\n    puVar9 = &DAT_0014f1b7;\n    break;\n  case O_bit_or_not:\n    puVar9 = &DAT_0014f1b1;\n    break;\n  case O_bit_exclusive_or:\n    puVar9 = &DAT_0014f1b4;\n    break;\n  case O_bit_and:\n    puVar9 = &DAT_0014f1a5;\n    break;\n  case O_add:\n    puVar9 = &DAT_00149508;\n    break;\n  case O_eq:\n    puVar9 = &DAT_0014f1b9;\n    break;\n  case O_ne:\n    puVar9 = &DAT_0014f1bc;\n    break;\n  case O_lt:\n    puVar9 = &DAT_00150035;\n    break;\n  case O_le:\n    puVar9 = &DAT_0014f1bf;\n    break;\n  case O_ge:\n    puVar9 = &DAT_0014f1c2;\n    break;\n  case O_gt:\n    puVar9 = &DAT_0014f1af;\n    break;\n  case O_logical_and:\n    puVar9 = &DAT_0014f1a4;\n    break;\n  case O_logical_or:\n    puVar9 = &DAT_0014f1b6;\n    break;\n  default:\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/symbols.c",0x3df,"report_op_error");\n  }" { (case_statement "case O_uminus:" case identifier :) (case_statement "case O_subtract:\n    puVar9 = &DAT_0014af24;\n    break;" case identifier : (expression_statement "puVar9 = &DAT_0014af24;" (assignment_expression "puVar9 = &DAT_0014af24" identifier = (pointer_expression "&DAT_0014af24" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case O_bit_not:\n    puVar9 = &DAT_0014f1b2;\n    break;" case identifier : (expression_statement "puVar9 = &DAT_0014f1b2;" (assignment_expression "puVar9 = &DAT_0014f1b2" identifier = (pointer_expression "&DAT_0014f1b2" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case O_logical_not:\n    puVar9 = &DAT_0014f1a7;\n    break;" case identifier : (expression_statement "puVar9 = &DAT_0014f1a7;" (assignment_expression "puVar9 = &DAT_0014f1a7" identifier = (pointer_expression "&DAT_0014f1a7" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case O_multiply:\n    puVar9 = &DAT_001493c2;\n    break;" case identifier : (expression_statement "puVar9 = &DAT_001493c2;" (assignment_expression "puVar9 = &DAT_001493c2" identifier = (pointer_expression "&DAT_001493c2" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case O_divide:\n    puVar9 = &DAT_0014f085;\n    break;" case identifier : (expression_statement "puVar9 = &DAT_0014f085;" (assignment_expression "puVar9 = &DAT_0014f085" identifier = (pointer_expression "&DAT_0014f085" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case O_modulus:\n    puVar9 = &DAT_0014f1a9;\n    break;" case identifier : (expression_statement "puVar9 = &DAT_0014f1a9;" (assignment_expression "puVar9 = &DAT_0014f1a9" identifier = (pointer_expression "&DAT_0014f1a9" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case O_left_shift:\n    puVar9 = &DAT_0014f1ab;\n    break;" case identifier : (expression_statement "puVar9 = &DAT_0014f1ab;" (assignment_expression "puVar9 = &DAT_0014f1ab" identifier = (pointer_expression "&DAT_0014f1ab" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case O_right_shift:\n    puVar9 = &DAT_0014f1ae;\n    break;" case identifier : (expression_statement "puVar9 = &DAT_0014f1ae;" (assignment_expression "puVar9 = &DAT_0014f1ae" identifier = (pointer_expression "&DAT_0014f1ae" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case O_bit_inclusive_or:\n    puVar9 = &DAT_0014f1b7;\n    break;" case identifier : (expression_statement "puVar9 = &DAT_0014f1b7;" (assignment_expression "puVar9 = &DAT_0014f1b7" identifier = (pointer_expression "&DAT_0014f1b7" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case O_bit_or_not:\n    puVar9 = &DAT_0014f1b1;\n    break;" case identifier : (expression_statement "puVar9 = &DAT_0014f1b1;" (assignment_expression "puVar9 = &DAT_0014f1b1" identifier = (pointer_expression "&DAT_0014f1b1" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case O_bit_exclusive_or:\n    puVar9 = &DAT_0014f1b4;\n    break;" case identifier : (expression_statement "puVar9 = &DAT_0014f1b4;" (assignment_expression "puVar9 = &DAT_0014f1b4" identifier = (pointer_expression "&DAT_0014f1b4" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case O_bit_and:\n    puVar9 = &DAT_0014f1a5;\n    break;" case identifier : (expression_statement "puVar9 = &DAT_0014f1a5;" (assignment_expression "puVar9 = &DAT_0014f1a5" identifier = (pointer_expression "&DAT_0014f1a5" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case O_add:\n    puVar9 = &DAT_00149508;\n    break;" case identifier : (expression_statement "puVar9 = &DAT_00149508;" (assignment_expression "puVar9 = &DAT_00149508" identifier = (pointer_expression "&DAT_00149508" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case O_eq:\n    puVar9 = &DAT_0014f1b9;\n    break;" case identifier : (expression_statement "puVar9 = &DAT_0014f1b9;" (assignment_expression "puVar9 = &DAT_0014f1b9" identifier = (pointer_expression "&DAT_0014f1b9" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case O_ne:\n    puVar9 = &DAT_0014f1bc;\n    break;" case identifier : (expression_statement "puVar9 = &DAT_0014f1bc;" (assignment_expression "puVar9 = &DAT_0014f1bc" identifier = (pointer_expression "&DAT_0014f1bc" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case O_lt:\n    puVar9 = &DAT_00150035;\n    break;" case identifier : (expression_statement "puVar9 = &DAT_00150035;" (assignment_expression "puVar9 = &DAT_00150035" identifier = (pointer_expression "&DAT_00150035" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case O_le:\n    puVar9 = &DAT_0014f1bf;\n    break;" case identifier : (expression_statement "puVar9 = &DAT_0014f1bf;" (assignment_expression "puVar9 = &DAT_0014f1bf" identifier = (pointer_expression "&DAT_0014f1bf" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case O_ge:\n    puVar9 = &DAT_0014f1c2;\n    break;" case identifier : (expression_statement "puVar9 = &DAT_0014f1c2;" (assignment_expression "puVar9 = &DAT_0014f1c2" identifier = (pointer_expression "&DAT_0014f1c2" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case O_gt:\n    puVar9 = &DAT_0014f1af;\n    break;" case identifier : (expression_statement "puVar9 = &DAT_0014f1af;" (assignment_expression "puVar9 = &DAT_0014f1af" identifier = (pointer_expression "&DAT_0014f1af" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case O_logical_and:\n    puVar9 = &DAT_0014f1a4;\n    break;" case identifier : (expression_statement "puVar9 = &DAT_0014f1a4;" (assignment_expression "puVar9 = &DAT_0014f1a4" identifier = (pointer_expression "&DAT_0014f1a4" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case O_logical_or:\n    puVar9 = &DAT_0014f1b6;\n    break;" case identifier : (expression_statement "puVar9 = &DAT_0014f1b6;" (assignment_expression "puVar9 = &DAT_0014f1b6" identifier = (pointer_expression "&DAT_0014f1b6" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/symbols.c",0x3df,"report_op_error");" default : comment (expression_statement "as_abort("../../gas/symbols.c",0x3df,"report_op_error");" (call_expression "as_abort("../../gas/symbols.c",0x3df,"report_op_error")" identifier (argument_list "("../../gas/symbols.c",0x3df,"report_op_error")" ( (string_literal ""../../gas/symbols.c"" " string_content ") , number_literal , (string_literal ""report_op_error"" " string_content ") ))) ;)) })) (expression_statement "iVar3 = expr_symbol_where(symp,&file,&line);" (assignment_expression "iVar3 = expr_symbol_where(symp,&file,&line)" identifier = (call_expression "expr_symbol_where(symp,&file,&line)" identifier (argument_list "(symp,&file,&line)" ( identifier , (pointer_expression "&file" & identifier) , (pointer_expression "&line" & identifier) )))) ;) (if_statement "if (iVar3 != 0) {\n    pcVar1 = paVar7->name;\n    if (left != (symbolS *)0x0) {\n      pcVar6 = paVar8->name;\n      pcVar4 = (char *)dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      as_bad_where(file,line,pcVar4,pcVar6,pcVar1,puVar9);\n      return;\n    }\n    pcVar6 = (char *)dcgettext(0,"invalid operand (%s section) for `%s\'",5);\n    as_bad_where(file,line,pcVar6,pcVar1,puVar9);\n    return;\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    pcVar1 = paVar7->name;\n    if (left != (symbolS *)0x0) {\n      pcVar6 = paVar8->name;\n      pcVar4 = (char *)dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      as_bad_where(file,line,pcVar4,pcVar6,pcVar1,puVar9);\n      return;\n    }\n    pcVar6 = (char *)dcgettext(0,"invalid operand (%s section) for `%s\'",5);\n    as_bad_where(file,line,pcVar6,pcVar1,puVar9);\n    return;\n  }" { (expression_statement "pcVar1 = paVar7->name;" (assignment_expression "pcVar1 = paVar7->name" identifier = (field_expression "paVar7->name" identifier -> field_identifier)) ;) (if_statement "if (left != (symbolS *)0x0) {\n      pcVar6 = paVar8->name;\n      pcVar4 = (char *)dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      as_bad_where(file,line,pcVar4,pcVar6,pcVar1,puVar9);\n      return;\n    }" if (parenthesized_expression "(left != (symbolS *)0x0)" ( (binary_expression "left != (symbolS *)0x0" identifier != (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar6 = paVar8->name;\n      pcVar4 = (char *)dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      as_bad_where(file,line,pcVar4,pcVar6,pcVar1,puVar9);\n      return;\n    }" { (expression_statement "pcVar6 = paVar8->name;" (assignment_expression "pcVar6 = paVar8->name" identifier = (field_expression "paVar8->name" identifier -> field_identifier)) ;) (expression_statement "pcVar4 = (char *)dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5)" identifier = (cast_expression "(char *)dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5)" identifier (argument_list "(0,"invalid operands (%s and %s sections) for `%s\'",5)" ( number_literal , (string_literal ""invalid operands (%s and %s sections) for `%s\'"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "as_bad_where(file,line,pcVar4,pcVar6,pcVar1,puVar9);" (call_expression "as_bad_where(file,line,pcVar4,pcVar6,pcVar1,puVar9)" identifier (argument_list "(file,line,pcVar4,pcVar6,pcVar1,puVar9)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "pcVar6 = (char *)dcgettext(0,"invalid operand (%s section) for `%s\'",5);" (assignment_expression "pcVar6 = (char *)dcgettext(0,"invalid operand (%s section) for `%s\'",5)" identifier = (cast_expression "(char *)dcgettext(0,"invalid operand (%s section) for `%s\'",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"invalid operand (%s section) for `%s\'",5)" identifier (argument_list "(0,"invalid operand (%s section) for `%s\'",5)" ( number_literal , (string_literal ""invalid operand (%s section) for `%s\'"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "as_bad_where(file,line,pcVar6,pcVar1,puVar9);" (call_expression "as_bad_where(file,line,pcVar6,pcVar1,puVar9)" identifier (argument_list "(file,line,pcVar6,pcVar1,puVar9)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "paVar5 = (segT)symp->bsym;" (assignment_expression "paVar5 = (segT)symp->bsym" identifier = (cast_expression "(segT)symp->bsym" ( (type_descriptor "segT" type_identifier) ) (field_expression "symp->bsym" identifier -> field_identifier))) ;) (if_statement "if (((uint)symp->sy_flags & 1) != 0) {\n    if (reg_section != paVar5) {\n      psVar2 = (symp->sy_value).X_add_symbol;\n      pcVar1 = paVar7->name;\n      goto joined_r0x00128023;\n    }\n    paVar5 = (segT)((symp->sy_value).X_op_symbol)->bsym;\n  }" if (parenthesized_expression "(((uint)symp->sy_flags & 1) != 0)" ( (binary_expression "((uint)symp->sy_flags & 1) != 0" (parenthesized_expression "((uint)symp->sy_flags & 1)" ( (binary_expression "(uint)symp->sy_flags & 1" (cast_expression "(uint)symp->sy_flags" ( (type_descriptor "uint" type_identifier) ) (field_expression "symp->sy_flags" identifier -> field_identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n    if (reg_section != paVar5) {\n      psVar2 = (symp->sy_value).X_add_symbol;\n      pcVar1 = paVar7->name;\n      goto joined_r0x00128023;\n    }\n    paVar5 = (segT)((symp->sy_value).X_op_symbol)->bsym;\n  }" { (if_statement "if (reg_section != paVar5) {\n      psVar2 = (symp->sy_value).X_add_symbol;\n      pcVar1 = paVar7->name;\n      goto joined_r0x00128023;\n    }" if (parenthesized_expression "(reg_section != paVar5)" ( (binary_expression "reg_section != paVar5" identifier != identifier) )) (compound_statement "{\n      psVar2 = (symp->sy_value).X_add_symbol;\n      pcVar1 = paVar7->name;\n      goto joined_r0x00128023;\n    }" { (expression_statement "psVar2 = (symp->sy_value).X_add_symbol;" (assignment_expression "psVar2 = (symp->sy_value).X_add_symbol" identifier = (field_expression "(symp->sy_value).X_add_symbol" (parenthesized_expression "(symp->sy_value)" ( (field_expression "symp->sy_value" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pcVar1 = paVar7->name;" (assignment_expression "pcVar1 = paVar7->name" identifier = (field_expression "paVar7->name" identifier -> field_identifier)) ;) (goto_statement "goto joined_r0x00128023;" goto statement_identifier ;) })) (expression_statement "paVar5 = (segT)((symp->sy_value).X_op_symbol)->bsym;" (assignment_expression "paVar5 = (segT)((symp->sy_value).X_op_symbol)->bsym" identifier = (field_expression "(segT)((symp->sy_value).X_op_symbol)->bsym" (call_expression "(segT)((symp->sy_value).X_op_symbol)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "((symp->sy_value).X_op_symbol)" ( (field_expression "(symp->sy_value).X_op_symbol" (parenthesized_expression "(symp->sy_value)" ( (field_expression "symp->sy_value" identifier -> field_identifier) )) . field_identifier) ))) -> field_identifier)) ;) })) (expression_statement "psVar2 = *(symbolS **)&paVar5->id;" (assignment_expression "psVar2 = *(symbolS **)&paVar5->id" identifier = (pointer_expression "*(symbolS **)&paVar5->id" * (cast_expression "(symbolS **)&paVar5->id" ( (type_descriptor "symbolS **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&paVar5->id" & (field_expression "paVar5->id" identifier -> field_identifier))))) ;) (expression_statement "pcVar1 = paVar7->name;" (assignment_expression "pcVar1 = paVar7->name" identifier = (field_expression "paVar7->name" identifier -> field_identifier)) ;) (labeled_statement "joined_r0x00128023:\n  if (left == (symbolS *)0x0) {\n    pcVar6 = (char *)dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    as_bad(pcVar6,pcVar1,puVar9,psVar2);\n    return;\n  }" statement_identifier : (if_statement "if (left == (symbolS *)0x0) {\n    pcVar6 = (char *)dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    as_bad(pcVar6,pcVar1,puVar9,psVar2);\n    return;\n  }" if (parenthesized_expression "(left == (symbolS *)0x0)" ( (binary_expression "left == (symbolS *)0x0" identifier == (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar6 = (char *)dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    as_bad(pcVar6,pcVar1,puVar9,psVar2);\n    return;\n  }" { (expression_statement "pcVar6 = (char *)dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);" (assignment_expression "pcVar6 = (char *)dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5)" identifier = (cast_expression "(char *)dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5)" identifier (argument_list "(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5)" ( number_literal , (string_literal ""invalid operand (%s section) for `%s\' when setting `%s\'"" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar6,pcVar1,puVar9,psVar2);" (call_expression "as_bad(pcVar6,pcVar1,puVar9,psVar2)" identifier (argument_list "(pcVar6,pcVar1,puVar9,psVar2)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) }))) (expression_statement "pcVar6 = paVar8->name;" (assignment_expression "pcVar6 = paVar8->name" identifier = (field_expression "paVar8->name" identifier -> field_identifier)) ;) (expression_statement "pcVar4 = (char *)dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",\n                             5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",\n                             5)" identifier = (cast_expression "(char *)dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",\n                             5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",\n                             5)" identifier (argument_list "(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",\n                             5)" ( number_literal , (string_literal ""invalid operands (%s and %s sections) for `%s\' when setting `%s\'"" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar4,pcVar6,pcVar1,puVar9,psVar2);" (call_expression "as_bad(pcVar4,pcVar6,pcVar1,puVar9,psVar2)" identifier (argument_list "(pcVar4,pcVar6,pcVar1,puVar9,psVar2)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00127d70(byte *param_1,byte *param_2,undefined4 param_3,byte *param_4)\n\n{\n  undefined8 uVar1;\n  int iVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 *puVar5;\n  undefined8 uVar6;\n  undefined8 *puVar7;\n  undefined8 *puVar8;\n  undefined *puVar9;\n  undefined4 local_34;\n  undefined8 local_30;\n  \n  puVar8 = (undefined8 *)0x0;\n  if (param_2 != (byte *)0x0) {\n    puVar8 = *(undefined8 **)(param_2 + 8);\n    if ((*param_2 & 1) != 0) {\n      if (DAT_001e4578 != puVar8) goto LAB_00127d9c;\n      puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);\n    }\n    puVar8 = (undefined8 *)puVar8[4];\n  }\nLAB_00127d9c:\n  puVar7 = *(undefined8 **)(param_4 + 8);\n  if ((*param_4 & 1) == 0) {\nLAB_00127dd8:\n    puVar7 = (undefined8 *)puVar7[4];\n  }\n  else if (DAT_001e4578 == puVar7) {\n    puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);\n    goto LAB_00127dd8;\n  }\n  switch(param_3) {\n  case 7:\n  case 0x14:\n    puVar9 = &DAT_0014af24;\n    break;\n  case 8:\n    puVar9 = &DAT_0014f1b2;\n    break;\n  case 9:\n    puVar9 = &DAT_0014f1a7;\n    break;\n  case 10:\n    puVar9 = &DAT_001493c2;\n    break;\n  case 0xb:\n    puVar9 = &DAT_0014f085;\n    break;\n  case 0xc:\n    puVar9 = &DAT_0014f1a9;\n    break;\n  case 0xd:\n    puVar9 = &DAT_0014f1ab;\n    break;\n  case 0xe:\n    puVar9 = &DAT_0014f1ae;\n    break;\n  case 0xf:\n    puVar9 = &DAT_0014f1b7;\n    break;\n  case 0x10:\n    puVar9 = &DAT_0014f1b1;\n    break;\n  case 0x11:\n    puVar9 = &DAT_0014f1b4;\n    break;\n  case 0x12:\n    puVar9 = &DAT_0014f1a5;\n    break;\n  case 0x13:\n    puVar9 = &DAT_00149508;\n    break;\n  case 0x15:\n    puVar9 = &DAT_0014f1b9;\n    break;\n  case 0x16:\n    puVar9 = &DAT_0014f1bc;\n    break;\n  case 0x17:\n    puVar9 = &DAT_00150035;\n    break;\n  case 0x18:\n    puVar9 = &DAT_0014f1bf;\n    break;\n  case 0x19:\n    puVar9 = &DAT_0014f1c2;\n    break;\n  case 0x1a:\n    puVar9 = &DAT_0014f1af;\n    break;\n  case 0x1b:\n    puVar9 = &DAT_0014f1a4;\n    break;\n  case 0x1c:\n    puVar9 = &DAT_0014f1b6;\n    break;\n  default:\n                    \n    FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error");\n  }\n  iVar2 = FUN_00114030(param_1,&local_30,&local_34);\n  if (iVar2 != 0) {\n    uVar1 = *puVar7;\n    if (param_2 != (byte *)0x0) {\n      uVar6 = *puVar8;\n      uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);\n      return;\n    }\n    uVar6 = dcgettext(0,"invalid operand (%s section) for `%s\'",5);\n    FUN_0011db40(local_30,local_34,uVar6,uVar1,puVar9);\n    return;\n  }\n  puVar5 = *(undefined8 **)(param_1 + 8);\n  if ((*param_1 & 1) != 0) {\n    if (DAT_001e4578 != puVar5) {\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      uVar6 = *puVar7;\n      goto joined_r0x00128023;\n    }\n    puVar5 = *(undefined8 **)(*(long *)(param_1 + 0x18) + 8);\n  }\n  uVar1 = puVar5[1];\n  uVar6 = *puVar7;\njoined_r0x00128023:\n  if (param_2 == (byte *)0x0) {\n    uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    FUN_0011da70(uVar3,uVar6,puVar9,uVar1);\n    return;\n  }\n  uVar3 = *puVar8;\n  uVar4 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",5);\n  FUN_0011da70(uVar4,uVar3,uVar6,puVar9,uVar1);\n  return;\n}\n\n" (function_definition "void FUN_00127d70(byte *param_1,byte *param_2,undefined4 param_3,byte *param_4)\n\n{\n  undefined8 uVar1;\n  int iVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 *puVar5;\n  undefined8 uVar6;\n  undefined8 *puVar7;\n  undefined8 *puVar8;\n  undefined *puVar9;\n  undefined4 local_34;\n  undefined8 local_30;\n  \n  puVar8 = (undefined8 *)0x0;\n  if (param_2 != (byte *)0x0) {\n    puVar8 = *(undefined8 **)(param_2 + 8);\n    if ((*param_2 & 1) != 0) {\n      if (DAT_001e4578 != puVar8) goto LAB_00127d9c;\n      puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);\n    }\n    puVar8 = (undefined8 *)puVar8[4];\n  }\nLAB_00127d9c:\n  puVar7 = *(undefined8 **)(param_4 + 8);\n  if ((*param_4 & 1) == 0) {\nLAB_00127dd8:\n    puVar7 = (undefined8 *)puVar7[4];\n  }\n  else if (DAT_001e4578 == puVar7) {\n    puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);\n    goto LAB_00127dd8;\n  }\n  switch(param_3) {\n  case 7:\n  case 0x14:\n    puVar9 = &DAT_0014af24;\n    break;\n  case 8:\n    puVar9 = &DAT_0014f1b2;\n    break;\n  case 9:\n    puVar9 = &DAT_0014f1a7;\n    break;\n  case 10:\n    puVar9 = &DAT_001493c2;\n    break;\n  case 0xb:\n    puVar9 = &DAT_0014f085;\n    break;\n  case 0xc:\n    puVar9 = &DAT_0014f1a9;\n    break;\n  case 0xd:\n    puVar9 = &DAT_0014f1ab;\n    break;\n  case 0xe:\n    puVar9 = &DAT_0014f1ae;\n    break;\n  case 0xf:\n    puVar9 = &DAT_0014f1b7;\n    break;\n  case 0x10:\n    puVar9 = &DAT_0014f1b1;\n    break;\n  case 0x11:\n    puVar9 = &DAT_0014f1b4;\n    break;\n  case 0x12:\n    puVar9 = &DAT_0014f1a5;\n    break;\n  case 0x13:\n    puVar9 = &DAT_00149508;\n    break;\n  case 0x15:\n    puVar9 = &DAT_0014f1b9;\n    break;\n  case 0x16:\n    puVar9 = &DAT_0014f1bc;\n    break;\n  case 0x17:\n    puVar9 = &DAT_00150035;\n    break;\n  case 0x18:\n    puVar9 = &DAT_0014f1bf;\n    break;\n  case 0x19:\n    puVar9 = &DAT_0014f1c2;\n    break;\n  case 0x1a:\n    puVar9 = &DAT_0014f1af;\n    break;\n  case 0x1b:\n    puVar9 = &DAT_0014f1a4;\n    break;\n  case 0x1c:\n    puVar9 = &DAT_0014f1b6;\n    break;\n  default:\n                    \n    FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error");\n  }\n  iVar2 = FUN_00114030(param_1,&local_30,&local_34);\n  if (iVar2 != 0) {\n    uVar1 = *puVar7;\n    if (param_2 != (byte *)0x0) {\n      uVar6 = *puVar8;\n      uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);\n      return;\n    }\n    uVar6 = dcgettext(0,"invalid operand (%s section) for `%s\'",5);\n    FUN_0011db40(local_30,local_34,uVar6,uVar1,puVar9);\n    return;\n  }\n  puVar5 = *(undefined8 **)(param_1 + 8);\n  if ((*param_1 & 1) != 0) {\n    if (DAT_001e4578 != puVar5) {\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      uVar6 = *puVar7;\n      goto joined_r0x00128023;\n    }\n    puVar5 = *(undefined8 **)(*(long *)(param_1 + 0x18) + 8);\n  }\n  uVar1 = puVar5[1];\n  uVar6 = *puVar7;\njoined_r0x00128023:\n  if (param_2 == (byte *)0x0) {\n    uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    FUN_0011da70(uVar3,uVar6,puVar9,uVar1);\n    return;\n  }\n  uVar3 = *puVar8;\n  uVar4 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",5);\n  FUN_0011da70(uVar4,uVar3,uVar6,puVar9,uVar1);\n  return;\n}" primitive_type (function_declarator "FUN_00127d70(byte *param_1,byte *param_2,undefined4 param_3,byte *param_4)" identifier (parameter_list "(byte *param_1,byte *param_2,undefined4 param_3,byte *param_4)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "byte *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "byte *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  undefined8 uVar1;\n  int iVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 *puVar5;\n  undefined8 uVar6;\n  undefined8 *puVar7;\n  undefined8 *puVar8;\n  undefined *puVar9;\n  undefined4 local_34;\n  undefined8 local_30;\n  \n  puVar8 = (undefined8 *)0x0;\n  if (param_2 != (byte *)0x0) {\n    puVar8 = *(undefined8 **)(param_2 + 8);\n    if ((*param_2 & 1) != 0) {\n      if (DAT_001e4578 != puVar8) goto LAB_00127d9c;\n      puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);\n    }\n    puVar8 = (undefined8 *)puVar8[4];\n  }\nLAB_00127d9c:\n  puVar7 = *(undefined8 **)(param_4 + 8);\n  if ((*param_4 & 1) == 0) {\nLAB_00127dd8:\n    puVar7 = (undefined8 *)puVar7[4];\n  }\n  else if (DAT_001e4578 == puVar7) {\n    puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);\n    goto LAB_00127dd8;\n  }\n  switch(param_3) {\n  case 7:\n  case 0x14:\n    puVar9 = &DAT_0014af24;\n    break;\n  case 8:\n    puVar9 = &DAT_0014f1b2;\n    break;\n  case 9:\n    puVar9 = &DAT_0014f1a7;\n    break;\n  case 10:\n    puVar9 = &DAT_001493c2;\n    break;\n  case 0xb:\n    puVar9 = &DAT_0014f085;\n    break;\n  case 0xc:\n    puVar9 = &DAT_0014f1a9;\n    break;\n  case 0xd:\n    puVar9 = &DAT_0014f1ab;\n    break;\n  case 0xe:\n    puVar9 = &DAT_0014f1ae;\n    break;\n  case 0xf:\n    puVar9 = &DAT_0014f1b7;\n    break;\n  case 0x10:\n    puVar9 = &DAT_0014f1b1;\n    break;\n  case 0x11:\n    puVar9 = &DAT_0014f1b4;\n    break;\n  case 0x12:\n    puVar9 = &DAT_0014f1a5;\n    break;\n  case 0x13:\n    puVar9 = &DAT_00149508;\n    break;\n  case 0x15:\n    puVar9 = &DAT_0014f1b9;\n    break;\n  case 0x16:\n    puVar9 = &DAT_0014f1bc;\n    break;\n  case 0x17:\n    puVar9 = &DAT_00150035;\n    break;\n  case 0x18:\n    puVar9 = &DAT_0014f1bf;\n    break;\n  case 0x19:\n    puVar9 = &DAT_0014f1c2;\n    break;\n  case 0x1a:\n    puVar9 = &DAT_0014f1af;\n    break;\n  case 0x1b:\n    puVar9 = &DAT_0014f1a4;\n    break;\n  case 0x1c:\n    puVar9 = &DAT_0014f1b6;\n    break;\n  default:\n                    \n    FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error");\n  }\n  iVar2 = FUN_00114030(param_1,&local_30,&local_34);\n  if (iVar2 != 0) {\n    uVar1 = *puVar7;\n    if (param_2 != (byte *)0x0) {\n      uVar6 = *puVar8;\n      uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);\n      return;\n    }\n    uVar6 = dcgettext(0,"invalid operand (%s section) for `%s\'",5);\n    FUN_0011db40(local_30,local_34,uVar6,uVar1,puVar9);\n    return;\n  }\n  puVar5 = *(undefined8 **)(param_1 + 8);\n  if ((*param_1 & 1) != 0) {\n    if (DAT_001e4578 != puVar5) {\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      uVar6 = *puVar7;\n      goto joined_r0x00128023;\n    }\n    puVar5 = *(undefined8 **)(*(long *)(param_1 + 0x18) + 8);\n  }\n  uVar1 = puVar5[1];\n  uVar6 = *puVar7;\njoined_r0x00128023:\n  if (param_2 == (byte *)0x0) {\n    uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    FUN_0011da70(uVar3,uVar6,puVar9,uVar1);\n    return;\n  }\n  uVar3 = *puVar8;\n  uVar4 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",5);\n  FUN_0011da70(uVar4,uVar3,uVar6,puVar9,uVar1);\n  return;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "undefined8 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "undefined8 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined8 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined8 local_30;" type_identifier identifier ;) (expression_statement "puVar8 = (undefined8 *)0x0;" (assignment_expression "puVar8 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (param_2 != (byte *)0x0) {\n    puVar8 = *(undefined8 **)(param_2 + 8);\n    if ((*param_2 & 1) != 0) {\n      if (DAT_001e4578 != puVar8) goto LAB_00127d9c;\n      puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);\n    }\n    puVar8 = (undefined8 *)puVar8[4];\n  }" if (parenthesized_expression "(param_2 != (byte *)0x0)" ( (binary_expression "param_2 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar8 = *(undefined8 **)(param_2 + 8);\n    if ((*param_2 & 1) != 0) {\n      if (DAT_001e4578 != puVar8) goto LAB_00127d9c;\n      puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);\n    }\n    puVar8 = (undefined8 *)puVar8[4];\n  }" { (expression_statement "puVar8 = *(undefined8 **)(param_2 + 8);" (assignment_expression "puVar8 = *(undefined8 **)(param_2 + 8)" identifier = (pointer_expression "*(undefined8 **)(param_2 + 8)" * (cast_expression "(undefined8 **)(param_2 + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((*param_2 & 1) != 0) {\n      if (DAT_001e4578 != puVar8) goto LAB_00127d9c;\n      puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);\n    }" if (parenthesized_expression "((*param_2 & 1) != 0)" ( (binary_expression "(*param_2 & 1) != 0" (parenthesized_expression "(*param_2 & 1)" ( (binary_expression "*param_2 & 1" (pointer_expression "*param_2" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      if (DAT_001e4578 != puVar8) goto LAB_00127d9c;\n      puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);\n    }" { (if_statement "if (DAT_001e4578 != puVar8) goto LAB_00127d9c;" if (parenthesized_expression "(DAT_001e4578 != puVar8)" ( (binary_expression "DAT_001e4578 != puVar8" identifier != identifier) )) (goto_statement "goto LAB_00127d9c;" goto statement_identifier ;)) (expression_statement "puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);" (assignment_expression "puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8)" identifier = (pointer_expression "*(undefined8 **)(*(long *)(param_2 + 0x18) + 8)" * (cast_expression "(undefined8 **)(*(long *)(param_2 + 0x18) + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(param_2 + 0x18) + 8)" ( (binary_expression "*(long *)(param_2 + 0x18) + 8" (pointer_expression "*(long *)(param_2 + 0x18)" * (cast_expression "(long *)(param_2 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) + number_literal) ))))) ;) })) (expression_statement "puVar8 = (undefined8 *)puVar8[4];" (assignment_expression "puVar8 = (undefined8 *)puVar8[4]" identifier = (cast_expression "(undefined8 *)puVar8[4]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[4]" identifier [ number_literal ]))) ;) })) (labeled_statement "LAB_00127d9c:\n  puVar7 = *(undefined8 **)(param_4 + 8);" statement_identifier : (expression_statement "puVar7 = *(undefined8 **)(param_4 + 8);" (assignment_expression "puVar7 = *(undefined8 **)(param_4 + 8)" identifier = (pointer_expression "*(undefined8 **)(param_4 + 8)" * (cast_expression "(undefined8 **)(param_4 + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 8)" ( (binary_expression "param_4 + 8" identifier + number_literal) ))))) ;)) (if_statement "if ((*param_4 & 1) == 0) {\nLAB_00127dd8:\n    puVar7 = (undefined8 *)puVar7[4];\n  }\n  else if (DAT_001e4578 == puVar7) {\n    puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);\n    goto LAB_00127dd8;\n  }" if (parenthesized_expression "((*param_4 & 1) == 0)" ( (binary_expression "(*param_4 & 1) == 0" (parenthesized_expression "(*param_4 & 1)" ( (binary_expression "*param_4 & 1" (pointer_expression "*param_4" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00127dd8:\n    puVar7 = (undefined8 *)puVar7[4];\n  }" { (labeled_statement "LAB_00127dd8:\n    puVar7 = (undefined8 *)puVar7[4];" statement_identifier : (expression_statement "puVar7 = (undefined8 *)puVar7[4];" (assignment_expression "puVar7 = (undefined8 *)puVar7[4]" identifier = (cast_expression "(undefined8 *)puVar7[4]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar7[4]" identifier [ number_literal ]))) ;)) }) (else_clause "else if (DAT_001e4578 == puVar7) {\n    puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);\n    goto LAB_00127dd8;\n  }" else (if_statement "if (DAT_001e4578 == puVar7) {\n    puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);\n    goto LAB_00127dd8;\n  }" if (parenthesized_expression "(DAT_001e4578 == puVar7)" ( (binary_expression "DAT_001e4578 == puVar7" identifier == identifier) )) (compound_statement "{\n    puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);\n    goto LAB_00127dd8;\n  }" { (expression_statement "puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);" (assignment_expression "puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8)" identifier = (pointer_expression "*(undefined8 **)(*(long *)(param_4 + 0x18) + 8)" * (cast_expression "(undefined8 **)(*(long *)(param_4 + 0x18) + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(param_4 + 0x18) + 8)" ( (binary_expression "*(long *)(param_4 + 0x18) + 8" (pointer_expression "*(long *)(param_4 + 0x18)" * (cast_expression "(long *)(param_4 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x18)" ( (binary_expression "param_4 + 0x18" identifier + number_literal) )))) + number_literal) ))))) ;) (goto_statement "goto LAB_00127dd8;" goto statement_identifier ;) })))) (switch_statement "switch(param_3) {\n  case 7:\n  case 0x14:\n    puVar9 = &DAT_0014af24;\n    break;\n  case 8:\n    puVar9 = &DAT_0014f1b2;\n    break;\n  case 9:\n    puVar9 = &DAT_0014f1a7;\n    break;\n  case 10:\n    puVar9 = &DAT_001493c2;\n    break;\n  case 0xb:\n    puVar9 = &DAT_0014f085;\n    break;\n  case 0xc:\n    puVar9 = &DAT_0014f1a9;\n    break;\n  case 0xd:\n    puVar9 = &DAT_0014f1ab;\n    break;\n  case 0xe:\n    puVar9 = &DAT_0014f1ae;\n    break;\n  case 0xf:\n    puVar9 = &DAT_0014f1b7;\n    break;\n  case 0x10:\n    puVar9 = &DAT_0014f1b1;\n    break;\n  case 0x11:\n    puVar9 = &DAT_0014f1b4;\n    break;\n  case 0x12:\n    puVar9 = &DAT_0014f1a5;\n    break;\n  case 0x13:\n    puVar9 = &DAT_00149508;\n    break;\n  case 0x15:\n    puVar9 = &DAT_0014f1b9;\n    break;\n  case 0x16:\n    puVar9 = &DAT_0014f1bc;\n    break;\n  case 0x17:\n    puVar9 = &DAT_00150035;\n    break;\n  case 0x18:\n    puVar9 = &DAT_0014f1bf;\n    break;\n  case 0x19:\n    puVar9 = &DAT_0014f1c2;\n    break;\n  case 0x1a:\n    puVar9 = &DAT_0014f1af;\n    break;\n  case 0x1b:\n    puVar9 = &DAT_0014f1a4;\n    break;\n  case 0x1c:\n    puVar9 = &DAT_0014f1b6;\n    break;\n  default:\n                    \n    FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error");\n  }" switch (parenthesized_expression "(param_3)" ( identifier )) (compound_statement "{\n  case 7:\n  case 0x14:\n    puVar9 = &DAT_0014af24;\n    break;\n  case 8:\n    puVar9 = &DAT_0014f1b2;\n    break;\n  case 9:\n    puVar9 = &DAT_0014f1a7;\n    break;\n  case 10:\n    puVar9 = &DAT_001493c2;\n    break;\n  case 0xb:\n    puVar9 = &DAT_0014f085;\n    break;\n  case 0xc:\n    puVar9 = &DAT_0014f1a9;\n    break;\n  case 0xd:\n    puVar9 = &DAT_0014f1ab;\n    break;\n  case 0xe:\n    puVar9 = &DAT_0014f1ae;\n    break;\n  case 0xf:\n    puVar9 = &DAT_0014f1b7;\n    break;\n  case 0x10:\n    puVar9 = &DAT_0014f1b1;\n    break;\n  case 0x11:\n    puVar9 = &DAT_0014f1b4;\n    break;\n  case 0x12:\n    puVar9 = &DAT_0014f1a5;\n    break;\n  case 0x13:\n    puVar9 = &DAT_00149508;\n    break;\n  case 0x15:\n    puVar9 = &DAT_0014f1b9;\n    break;\n  case 0x16:\n    puVar9 = &DAT_0014f1bc;\n    break;\n  case 0x17:\n    puVar9 = &DAT_00150035;\n    break;\n  case 0x18:\n    puVar9 = &DAT_0014f1bf;\n    break;\n  case 0x19:\n    puVar9 = &DAT_0014f1c2;\n    break;\n  case 0x1a:\n    puVar9 = &DAT_0014f1af;\n    break;\n  case 0x1b:\n    puVar9 = &DAT_0014f1a4;\n    break;\n  case 0x1c:\n    puVar9 = &DAT_0014f1b6;\n    break;\n  default:\n                    \n    FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error");\n  }" { (case_statement "case 7:" case number_literal :) (case_statement "case 0x14:\n    puVar9 = &DAT_0014af24;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014af24;" (assignment_expression "puVar9 = &DAT_0014af24" identifier = (pointer_expression "&DAT_0014af24" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n    puVar9 = &DAT_0014f1b2;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1b2;" (assignment_expression "puVar9 = &DAT_0014f1b2" identifier = (pointer_expression "&DAT_0014f1b2" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n    puVar9 = &DAT_0014f1a7;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1a7;" (assignment_expression "puVar9 = &DAT_0014f1a7" identifier = (pointer_expression "&DAT_0014f1a7" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n    puVar9 = &DAT_001493c2;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_001493c2;" (assignment_expression "puVar9 = &DAT_001493c2" identifier = (pointer_expression "&DAT_001493c2" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0xb:\n    puVar9 = &DAT_0014f085;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f085;" (assignment_expression "puVar9 = &DAT_0014f085" identifier = (pointer_expression "&DAT_0014f085" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n    puVar9 = &DAT_0014f1a9;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1a9;" (assignment_expression "puVar9 = &DAT_0014f1a9" identifier = (pointer_expression "&DAT_0014f1a9" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0xd:\n    puVar9 = &DAT_0014f1ab;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1ab;" (assignment_expression "puVar9 = &DAT_0014f1ab" identifier = (pointer_expression "&DAT_0014f1ab" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0xe:\n    puVar9 = &DAT_0014f1ae;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1ae;" (assignment_expression "puVar9 = &DAT_0014f1ae" identifier = (pointer_expression "&DAT_0014f1ae" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0xf:\n    puVar9 = &DAT_0014f1b7;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1b7;" (assignment_expression "puVar9 = &DAT_0014f1b7" identifier = (pointer_expression "&DAT_0014f1b7" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x10:\n    puVar9 = &DAT_0014f1b1;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1b1;" (assignment_expression "puVar9 = &DAT_0014f1b1" identifier = (pointer_expression "&DAT_0014f1b1" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x11:\n    puVar9 = &DAT_0014f1b4;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1b4;" (assignment_expression "puVar9 = &DAT_0014f1b4" identifier = (pointer_expression "&DAT_0014f1b4" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x12:\n    puVar9 = &DAT_0014f1a5;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1a5;" (assignment_expression "puVar9 = &DAT_0014f1a5" identifier = (pointer_expression "&DAT_0014f1a5" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x13:\n    puVar9 = &DAT_00149508;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_00149508;" (assignment_expression "puVar9 = &DAT_00149508" identifier = (pointer_expression "&DAT_00149508" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x15:\n    puVar9 = &DAT_0014f1b9;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1b9;" (assignment_expression "puVar9 = &DAT_0014f1b9" identifier = (pointer_expression "&DAT_0014f1b9" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x16:\n    puVar9 = &DAT_0014f1bc;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1bc;" (assignment_expression "puVar9 = &DAT_0014f1bc" identifier = (pointer_expression "&DAT_0014f1bc" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x17:\n    puVar9 = &DAT_00150035;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_00150035;" (assignment_expression "puVar9 = &DAT_00150035" identifier = (pointer_expression "&DAT_00150035" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x18:\n    puVar9 = &DAT_0014f1bf;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1bf;" (assignment_expression "puVar9 = &DAT_0014f1bf" identifier = (pointer_expression "&DAT_0014f1bf" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x19:\n    puVar9 = &DAT_0014f1c2;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1c2;" (assignment_expression "puVar9 = &DAT_0014f1c2" identifier = (pointer_expression "&DAT_0014f1c2" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x1a:\n    puVar9 = &DAT_0014f1af;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1af;" (assignment_expression "puVar9 = &DAT_0014f1af" identifier = (pointer_expression "&DAT_0014f1af" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x1b:\n    puVar9 = &DAT_0014f1a4;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1a4;" (assignment_expression "puVar9 = &DAT_0014f1a4" identifier = (pointer_expression "&DAT_0014f1a4" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x1c:\n    puVar9 = &DAT_0014f1b6;\n    break;" case number_literal : (expression_statement "puVar9 = &DAT_0014f1b6;" (assignment_expression "puVar9 = &DAT_0014f1b6" identifier = (pointer_expression "&DAT_0014f1b6" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "default:\n                    \n    FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error");" default : (expression_statement "FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error");" (call_expression "FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error")" identifier (argument_list "("../../gas/symbols.c",0x3df,"report_op_error")" ( (string_literal ""../../gas/symbols.c"" " string_content ") , number_literal , (string_literal ""report_op_error"" " string_content ") ))) ;)) })) (expression_statement "iVar2 = FUN_00114030(param_1,&local_30,&local_34);" (assignment_expression "iVar2 = FUN_00114030(param_1,&local_30,&local_34)" identifier = (call_expression "FUN_00114030(param_1,&local_30,&local_34)" identifier (argument_list "(param_1,&local_30,&local_34)" ( identifier , (pointer_expression "&local_30" & identifier) , (pointer_expression "&local_34" & identifier) )))) ;) (if_statement "if (iVar2 != 0) {\n    uVar1 = *puVar7;\n    if (param_2 != (byte *)0x0) {\n      uVar6 = *puVar8;\n      uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);\n      return;\n    }\n    uVar6 = dcgettext(0,"invalid operand (%s section) for `%s\'",5);\n    FUN_0011db40(local_30,local_34,uVar6,uVar1,puVar9);\n    return;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar1 = *puVar7;\n    if (param_2 != (byte *)0x0) {\n      uVar6 = *puVar8;\n      uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);\n      return;\n    }\n    uVar6 = dcgettext(0,"invalid operand (%s section) for `%s\'",5);\n    FUN_0011db40(local_30,local_34,uVar6,uVar1,puVar9);\n    return;\n  }" { (expression_statement "uVar1 = *puVar7;" (assignment_expression "uVar1 = *puVar7" identifier = (pointer_expression "*puVar7" * identifier)) ;) (if_statement "if (param_2 != (byte *)0x0) {\n      uVar6 = *puVar8;\n      uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);\n      return;\n    }" if (parenthesized_expression "(param_2 != (byte *)0x0)" ( (binary_expression "param_2 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar6 = *puVar8;\n      uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);\n      return;\n    }" { (expression_statement "uVar6 = *puVar8;" (assignment_expression "uVar6 = *puVar8" identifier = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);" (assignment_expression "uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5)" identifier = (call_expression "dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5)" identifier (argument_list "(0,"invalid operands (%s and %s sections) for `%s\'",5)" ( number_literal , (string_literal ""invalid operands (%s and %s sections) for `%s\'"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);" (call_expression "FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9)" identifier (argument_list "(local_30,local_34,uVar3,uVar6,uVar1,puVar9)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar6 = dcgettext(0,"invalid operand (%s section) for `%s\'",5);" (assignment_expression "uVar6 = dcgettext(0,"invalid operand (%s section) for `%s\'",5)" identifier = (call_expression "dcgettext(0,"invalid operand (%s section) for `%s\'",5)" identifier (argument_list "(0,"invalid operand (%s section) for `%s\'",5)" ( number_literal , (string_literal ""invalid operand (%s section) for `%s\'"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0011db40(local_30,local_34,uVar6,uVar1,puVar9);" (call_expression "FUN_0011db40(local_30,local_34,uVar6,uVar1,puVar9)" identifier (argument_list "(local_30,local_34,uVar6,uVar1,puVar9)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "puVar5 = *(undefined8 **)(param_1 + 8);" (assignment_expression "puVar5 = *(undefined8 **)(param_1 + 8)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 8)" * (cast_expression "(undefined8 **)(param_1 + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((*param_1 & 1) != 0) {\n    if (DAT_001e4578 != puVar5) {\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      uVar6 = *puVar7;\n      goto joined_r0x00128023;\n    }\n    puVar5 = *(undefined8 **)(*(long *)(param_1 + 0x18) + 8);\n  }" if (parenthesized_expression "((*param_1 & 1) != 0)" ( (binary_expression "(*param_1 & 1) != 0" (parenthesized_expression "(*param_1 & 1)" ( (binary_expression "*param_1 & 1" (pointer_expression "*param_1" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n    if (DAT_001e4578 != puVar5) {\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      uVar6 = *puVar7;\n      goto joined_r0x00128023;\n    }\n    puVar5 = *(undefined8 **)(*(long *)(param_1 + 0x18) + 8);\n  }" { (if_statement "if (DAT_001e4578 != puVar5) {\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      uVar6 = *puVar7;\n      goto joined_r0x00128023;\n    }" if (parenthesized_expression "(DAT_001e4578 != puVar5)" ( (binary_expression "DAT_001e4578 != puVar5" identifier != identifier) )) (compound_statement "{\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      uVar6 = *puVar7;\n      goto joined_r0x00128023;\n    }" { (expression_statement "uVar1 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar1 = *(undefined8 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *puVar7;" (assignment_expression "uVar6 = *puVar7" identifier = (pointer_expression "*puVar7" * identifier)) ;) (goto_statement "goto joined_r0x00128023;" goto statement_identifier ;) })) (expression_statement "puVar5 = *(undefined8 **)(*(long *)(param_1 + 0x18) + 8);" (assignment_expression "puVar5 = *(undefined8 **)(*(long *)(param_1 + 0x18) + 8)" identifier = (pointer_expression "*(undefined8 **)(*(long *)(param_1 + 0x18) + 8)" * (cast_expression "(undefined8 **)(*(long *)(param_1 + 0x18) + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(param_1 + 0x18) + 8)" ( (binary_expression "*(long *)(param_1 + 0x18) + 8" (pointer_expression "*(long *)(param_1 + 0x18)" * (cast_expression "(long *)(param_1 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) + number_literal) ))))) ;) })) (expression_statement "uVar1 = puVar5[1];" (assignment_expression "uVar1 = puVar5[1]" identifier = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = *puVar7;" (assignment_expression "uVar6 = *puVar7" identifier = (pointer_expression "*puVar7" * identifier)) ;) (labeled_statement "joined_r0x00128023:\n  if (param_2 == (byte *)0x0) {\n    uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    FUN_0011da70(uVar3,uVar6,puVar9,uVar1);\n    return;\n  }" statement_identifier : (if_statement "if (param_2 == (byte *)0x0) {\n    uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    FUN_0011da70(uVar3,uVar6,puVar9,uVar1);\n    return;\n  }" if (parenthesized_expression "(param_2 == (byte *)0x0)" ( (binary_expression "param_2 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    FUN_0011da70(uVar3,uVar6,puVar9,uVar1);\n    return;\n  }" { (expression_statement "uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);" (assignment_expression "uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5)" identifier = (call_expression "dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5)" identifier (argument_list "(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5)" ( number_literal , (string_literal ""invalid operand (%s section) for `%s\' when setting `%s\'"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0011da70(uVar3,uVar6,puVar9,uVar1);" (call_expression "FUN_0011da70(uVar3,uVar6,puVar9,uVar1)" identifier (argument_list "(uVar3,uVar6,puVar9,uVar1)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) }))) (expression_statement "uVar3 = *puVar8;" (assignment_expression "uVar3 = *puVar8" identifier = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "uVar4 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",5);" (assignment_expression "uVar4 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",5)" identifier = (call_expression "dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",5)" identifier (argument_list "(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",5)" ( number_literal , (string_literal ""invalid operands (%s and %s sections) for `%s\' when setting `%s\'"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0011da70(uVar4,uVar3,uVar6,puVar9,uVar1);" (call_expression "FUN_0011da70(uVar4,uVar3,uVar6,puVar9,uVar1)" identifier (argument_list "(uVar4,uVar3,uVar6,puVar9,uVar1)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })))) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (break_statement break ;)) (case_statement default : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_00127d70(byte *param_1,byte *param_2,undefined4 param_3,byte *param_4)\n\n{\n  undefined8 uVar1;\n  int iVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 *puVar5;\n  undefined8 uVar6;\n  undefined8 *puVar7;\n  undefined8 *puVar8;\n  undefined *puVar9;\n  undefined4 local_34;\n  undefined8 local_30;\n  \n  puVar8 = (undefined8 *)0x0;\n  if (param_2 != (byte *)0x0) {\n    puVar8 = *(undefined8 **)(param_2 + 8);\n    if ((*param_2 & 1) != 0) {\n      if (DAT_001e4578 != puVar8) goto LAB_00127d9c;\n      puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);\n    }\n    puVar8 = (undefined8 *)puVar8[4];\n  }\nLAB_00127d9c:\n  puVar7 = *(undefined8 **)(param_4 + 8);\n  if ((*param_4 & 1) == 0) {\nLAB_00127dd8:\n    puVar7 = (undefined8 *)puVar7[4];\n  }\n  else if (DAT_001e4578 == puVar7) {\n    puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);\n    goto LAB_00127dd8;\n  }\n  switch(param_3) {\n  case 7:\n  case 0x14:\n    puVar9 = &DAT_0014af24;\n    break;\n  case 8:\n    puVar9 = &DAT_0014f1b2;\n    break;\n  case 9:\n    puVar9 = &DAT_0014f1a7;\n    break;\n  case 10:\n    puVar9 = &DAT_001493c2;\n    break;\n  case 0xb:\n    puVar9 = &DAT_0014f085;\n    break;\n  case 0xc:\n    puVar9 = &DAT_0014f1a9;\n    break;\n  case 0xd:\n    puVar9 = &DAT_0014f1ab;\n    break;\n  case 0xe:\n    puVar9 = &DAT_0014f1ae;\n    break;\n  case 0xf:\n    puVar9 = &DAT_0014f1b7;\n    break;\n  case 0x10:\n    puVar9 = &DAT_0014f1b1;\n    break;\n  case 0x11:\n    puVar9 = &DAT_0014f1b4;\n    break;\n  case 0x12:\n    puVar9 = &DAT_0014f1a5;\n    break;\n  case 0x13:\n    puVar9 = &DAT_00149508;\n    break;\n  case 0x15:\n    puVar9 = &DAT_0014f1b9;\n    break;\n  case 0x16:\n    puVar9 = &DAT_0014f1bc;\n    break;\n  case 0x17:\n    puVar9 = &DAT_00150035;\n    break;\n  case 0x18:\n    puVar9 = &DAT_0014f1bf;\n    break;\n  case 0x19:\n    puVar9 = &DAT_0014f1c2;\n    break;\n  case 0x1a:\n    puVar9 = &DAT_0014f1af;\n    break;\n  case 0x1b:\n    puVar9 = &DAT_0014f1a4;\n    break;\n  case 0x1c:\n    puVar9 = &DAT_0014f1b6;\n    break;\n  default:\n                    \n    FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error");\n  }\n  iVar2 = FUN_00114030(param_1,&local_30,&local_34);\n  if (iVar2 != 0) {\n    uVar1 = *puVar7;\n    if (param_2 != (byte *)0x0) {\n      uVar6 = *puVar8;\n      uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);\n      return;\n    }\n    uVar6 = dcgettext(0,"invalid operand (%s section) for `%s\'",5);\n    FUN_0011db40(local_30,local_34,uVar6,uVar1,puVar9);\n    return;\n  }\n  puVar5 = *(undefined8 **)(param_1 + 8);\n  if ((*param_1 & 1) != 0) {\n    if (DAT_001e4578 != puVar5) {\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      uVar6 = *puVar7;\n      goto joined_r0x00128023;\n    }\n    puVar5 = *(undefined8 **)(*(long *)(param_1 + 0x18) + 8);\n  }\n  uVar1 = puVar5[1];\n  uVar6 = *puVar7;\njoined_r0x00128023:\n  if (param_2 == (byte *)0x0) {\n    uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    FUN_0011da70(uVar3,uVar6,puVar9,uVar1);\n    return;\n  }\n  uVar3 = *puVar8;\n  uVar4 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",5);\n  FUN_0011da70(uVar4,uVar3,uVar6,puVar9,uVar1);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00127d70(byte *param_1,byte *param_2,undefined4 param_3,byte *param_4)" (identifier "FUN_00127d70") (parameter_list "(byte *param_1,byte *param_2,undefined4 param_3,byte *param_4)" (( "(") (parameter_declaration "byte *param_1" (type_identifier "byte") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "byte *param_2" (type_identifier "byte") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "byte *param_4" (type_identifier "byte") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")"))) (compound_statement "{\n  undefined8 uVar1;\n  int iVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 *puVar5;\n  undefined8 uVar6;\n  undefined8 *puVar7;\n  undefined8 *puVar8;\n  undefined *puVar9;\n  undefined4 local_34;\n  undefined8 local_30;\n  \n  puVar8 = (undefined8 *)0x0;\n  if (param_2 != (byte *)0x0) {\n    puVar8 = *(undefined8 **)(param_2 + 8);\n    if ((*param_2 & 1) != 0) {\n      if (DAT_001e4578 != puVar8) goto LAB_00127d9c;\n      puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);\n    }\n    puVar8 = (undefined8 *)puVar8[4];\n  }\nLAB_00127d9c:\n  puVar7 = *(undefined8 **)(param_4 + 8);\n  if ((*param_4 & 1) == 0) {\nLAB_00127dd8:\n    puVar7 = (undefined8 *)puVar7[4];\n  }\n  else if (DAT_001e4578 == puVar7) {\n    puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);\n    goto LAB_00127dd8;\n  }\n  switch(param_3) {\n  case 7:\n  case 0x14:\n    puVar9 = &DAT_0014af24;\n    break;\n  case 8:\n    puVar9 = &DAT_0014f1b2;\n    break;\n  case 9:\n    puVar9 = &DAT_0014f1a7;\n    break;\n  case 10:\n    puVar9 = &DAT_001493c2;\n    break;\n  case 0xb:\n    puVar9 = &DAT_0014f085;\n    break;\n  case 0xc:\n    puVar9 = &DAT_0014f1a9;\n    break;\n  case 0xd:\n    puVar9 = &DAT_0014f1ab;\n    break;\n  case 0xe:\n    puVar9 = &DAT_0014f1ae;\n    break;\n  case 0xf:\n    puVar9 = &DAT_0014f1b7;\n    break;\n  case 0x10:\n    puVar9 = &DAT_0014f1b1;\n    break;\n  case 0x11:\n    puVar9 = &DAT_0014f1b4;\n    break;\n  case 0x12:\n    puVar9 = &DAT_0014f1a5;\n    break;\n  case 0x13:\n    puVar9 = &DAT_00149508;\n    break;\n  case 0x15:\n    puVar9 = &DAT_0014f1b9;\n    break;\n  case 0x16:\n    puVar9 = &DAT_0014f1bc;\n    break;\n  case 0x17:\n    puVar9 = &DAT_00150035;\n    break;\n  case 0x18:\n    puVar9 = &DAT_0014f1bf;\n    break;\n  case 0x19:\n    puVar9 = &DAT_0014f1c2;\n    break;\n  case 0x1a:\n    puVar9 = &DAT_0014f1af;\n    break;\n  case 0x1b:\n    puVar9 = &DAT_0014f1a4;\n    break;\n  case 0x1c:\n    puVar9 = &DAT_0014f1b6;\n    break;\n  default:\n                    \n    FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error");\n  }\n  iVar2 = FUN_00114030(param_1,&local_30,&local_34);\n  if (iVar2 != 0) {\n    uVar1 = *puVar7;\n    if (param_2 != (byte *)0x0) {\n      uVar6 = *puVar8;\n      uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);\n      return;\n    }\n    uVar6 = dcgettext(0,"invalid operand (%s section) for `%s\'",5);\n    FUN_0011db40(local_30,local_34,uVar6,uVar1,puVar9);\n    return;\n  }\n  puVar5 = *(undefined8 **)(param_1 + 8);\n  if ((*param_1 & 1) != 0) {\n    if (DAT_001e4578 != puVar5) {\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      uVar6 = *puVar7;\n      goto joined_r0x00128023;\n    }\n    puVar5 = *(undefined8 **)(*(long *)(param_1 + 0x18) + 8);\n  }\n  uVar1 = puVar5[1];\n  uVar6 = *puVar7;\njoined_r0x00128023:\n  if (param_2 == (byte *)0x0) {\n    uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    FUN_0011da70(uVar3,uVar6,puVar9,uVar1);\n    return;\n  }\n  uVar3 = *puVar8;\n  uVar4 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",5);\n  FUN_0011da70(uVar4,uVar3,uVar6,puVar9,uVar1);\n  return;\n}" ({ "{") (declaration "undefined8 uVar1;" (type_identifier "undefined8") (identifier "uVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined8 uVar3;" (type_identifier "undefined8") (identifier "uVar3") (; ";")) (declaration "undefined8 uVar4;" (type_identifier "undefined8") (identifier "uVar4") (; ";")) (declaration "undefined8 *puVar5;" (type_identifier "undefined8") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined8 uVar6;" (type_identifier "undefined8") (identifier "uVar6") (; ";")) (declaration "undefined8 *puVar7;" (type_identifier "undefined8") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined8 *puVar8;" (type_identifier "undefined8") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "undefined *puVar9;" (type_identifier "undefined") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "undefined8 local_30;" (type_identifier "undefined8") (identifier "local_30") (; ";")) (expression_statement "puVar8 = (undefined8 *)0x0;" (assignment_expression "puVar8 = (undefined8 *)0x0" (identifier "puVar8") (= "=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (param_2 != (byte *)0x0) {\n    puVar8 = *(undefined8 **)(param_2 + 8);\n    if ((*param_2 & 1) != 0) {\n      if (DAT_001e4578 != puVar8) goto LAB_00127d9c;\n      puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);\n    }\n    puVar8 = (undefined8 *)puVar8[4];\n  }" (if "if") (parenthesized_expression "(param_2 != (byte *)0x0)" (( "(") (binary_expression "param_2 != (byte *)0x0" (identifier "param_2") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar8 = *(undefined8 **)(param_2 + 8);\n    if ((*param_2 & 1) != 0) {\n      if (DAT_001e4578 != puVar8) goto LAB_00127d9c;\n      puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);\n    }\n    puVar8 = (undefined8 *)puVar8[4];\n  }" ({ "{") (expression_statement "puVar8 = *(undefined8 **)(param_2 + 8);" (assignment_expression "puVar8 = *(undefined8 **)(param_2 + 8)" (identifier "puVar8") (= "=") (pointer_expression "*(undefined8 **)(param_2 + 8)" (* "*") (cast_expression "(undefined8 **)(param_2 + 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if ((*param_2 & 1) != 0) {\n      if (DAT_001e4578 != puVar8) goto LAB_00127d9c;\n      puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);\n    }" (if "if") (parenthesized_expression "((*param_2 & 1) != 0)" (( "(") (binary_expression "(*param_2 & 1) != 0" (parenthesized_expression "(*param_2 & 1)" (( "(") (binary_expression "*param_2 & 1" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (DAT_001e4578 != puVar8) goto LAB_00127d9c;\n      puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);\n    }" ({ "{") (if_statement "if (DAT_001e4578 != puVar8) goto LAB_00127d9c;" (if "if") (parenthesized_expression "(DAT_001e4578 != puVar8)" (( "(") (binary_expression "DAT_001e4578 != puVar8" (identifier "DAT_001e4578") (!= "!=") (identifier "puVar8")) () ")")) (goto_statement "goto LAB_00127d9c;" (goto "goto") (statement_identifier "LAB_00127d9c") (; ";"))) (expression_statement "puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);" (assignment_expression "puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8)" (identifier "puVar8") (= "=") (pointer_expression "*(undefined8 **)(*(long *)(param_2 + 0x18) + 8)" (* "*") (cast_expression "(undefined8 **)(*(long *)(param_2 + 0x18) + 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)(param_2 + 0x18) + 8)" (( "(") (binary_expression "*(long *)(param_2 + 0x18) + 8" (pointer_expression "*(long *)(param_2 + 0x18)" (* "*") (cast_expression "(long *)(param_2 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}"))) (expression_statement "puVar8 = (undefined8 *)puVar8[4];" (assignment_expression "puVar8 = (undefined8 *)puVar8[4]" (identifier "puVar8") (= "=") (cast_expression "(undefined8 *)puVar8[4]" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar8[4]" (identifier "puVar8") ([ "[") (number_literal "4") (] "]")))) (; ";")) (} "}"))) (labeled_statement "LAB_00127d9c:\n  puVar7 = *(undefined8 **)(param_4 + 8);" (statement_identifier "LAB_00127d9c") (: ":") (expression_statement "puVar7 = *(undefined8 **)(param_4 + 8);" (assignment_expression "puVar7 = *(undefined8 **)(param_4 + 8)" (identifier "puVar7") (= "=") (pointer_expression "*(undefined8 **)(param_4 + 8)" (* "*") (cast_expression "(undefined8 **)(param_4 + 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 8)" (( "(") (binary_expression "param_4 + 8" (identifier "param_4") (+ "+") (number_literal "8")) () ")"))))) (; ";"))) (if_statement "if ((*param_4 & 1) == 0) {\nLAB_00127dd8:\n    puVar7 = (undefined8 *)puVar7[4];\n  }\n  else if (DAT_001e4578 == puVar7) {\n    puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);\n    goto LAB_00127dd8;\n  }" (if "if") (parenthesized_expression "((*param_4 & 1) == 0)" (( "(") (binary_expression "(*param_4 & 1) == 0" (parenthesized_expression "(*param_4 & 1)" (( "(") (binary_expression "*param_4 & 1" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00127dd8:\n    puVar7 = (undefined8 *)puVar7[4];\n  }" ({ "{") (labeled_statement "LAB_00127dd8:\n    puVar7 = (undefined8 *)puVar7[4];" (statement_identifier "LAB_00127dd8") (: ":") (expression_statement "puVar7 = (undefined8 *)puVar7[4];" (assignment_expression "puVar7 = (undefined8 *)puVar7[4]" (identifier "puVar7") (= "=") (cast_expression "(undefined8 *)puVar7[4]" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar7[4]" (identifier "puVar7") ([ "[") (number_literal "4") (] "]")))) (; ";"))) (} "}")) (else_clause "else if (DAT_001e4578 == puVar7) {\n    puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);\n    goto LAB_00127dd8;\n  }" (else "else") (if_statement "if (DAT_001e4578 == puVar7) {\n    puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);\n    goto LAB_00127dd8;\n  }" (if "if") (parenthesized_expression "(DAT_001e4578 == puVar7)" (( "(") (binary_expression "DAT_001e4578 == puVar7" (identifier "DAT_001e4578") (== "==") (identifier "puVar7")) () ")")) (compound_statement "{\n    puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);\n    goto LAB_00127dd8;\n  }" ({ "{") (expression_statement "puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);" (assignment_expression "puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8)" (identifier "puVar7") (= "=") (pointer_expression "*(undefined8 **)(*(long *)(param_4 + 0x18) + 8)" (* "*") (cast_expression "(undefined8 **)(*(long *)(param_4 + 0x18) + 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)(param_4 + 0x18) + 8)" (( "(") (binary_expression "*(long *)(param_4 + 0x18) + 8" (pointer_expression "*(long *)(param_4 + 0x18)" (* "*") (cast_expression "(long *)(param_4 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x18)" (( "(") (binary_expression "param_4 + 0x18" (identifier "param_4") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (goto_statement "goto LAB_00127dd8;" (goto "goto") (statement_identifier "LAB_00127dd8") (; ";")) (} "}"))))) (switch_statement "switch(param_3) {\n  case 7:\n  case 0x14:\n    puVar9 = &DAT_0014af24;\n    break;\n  case 8:\n    puVar9 = &DAT_0014f1b2;\n    break;\n  case 9:\n    puVar9 = &DAT_0014f1a7;\n    break;\n  case 10:\n    puVar9 = &DAT_001493c2;\n    break;\n  case 0xb:\n    puVar9 = &DAT_0014f085;\n    break;\n  case 0xc:\n    puVar9 = &DAT_0014f1a9;\n    break;\n  case 0xd:\n    puVar9 = &DAT_0014f1ab;\n    break;\n  case 0xe:\n    puVar9 = &DAT_0014f1ae;\n    break;\n  case 0xf:\n    puVar9 = &DAT_0014f1b7;\n    break;\n  case 0x10:\n    puVar9 = &DAT_0014f1b1;\n    break;\n  case 0x11:\n    puVar9 = &DAT_0014f1b4;\n    break;\n  case 0x12:\n    puVar9 = &DAT_0014f1a5;\n    break;\n  case 0x13:\n    puVar9 = &DAT_00149508;\n    break;\n  case 0x15:\n    puVar9 = &DAT_0014f1b9;\n    break;\n  case 0x16:\n    puVar9 = &DAT_0014f1bc;\n    break;\n  case 0x17:\n    puVar9 = &DAT_00150035;\n    break;\n  case 0x18:\n    puVar9 = &DAT_0014f1bf;\n    break;\n  case 0x19:\n    puVar9 = &DAT_0014f1c2;\n    break;\n  case 0x1a:\n    puVar9 = &DAT_0014f1af;\n    break;\n  case 0x1b:\n    puVar9 = &DAT_0014f1a4;\n    break;\n  case 0x1c:\n    puVar9 = &DAT_0014f1b6;\n    break;\n  default:\n                    \n    FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error");\n  }" (switch "switch") (parenthesized_expression "(param_3)" (( "(") (identifier "param_3") () ")")) (compound_statement "{\n  case 7:\n  case 0x14:\n    puVar9 = &DAT_0014af24;\n    break;\n  case 8:\n    puVar9 = &DAT_0014f1b2;\n    break;\n  case 9:\n    puVar9 = &DAT_0014f1a7;\n    break;\n  case 10:\n    puVar9 = &DAT_001493c2;\n    break;\n  case 0xb:\n    puVar9 = &DAT_0014f085;\n    break;\n  case 0xc:\n    puVar9 = &DAT_0014f1a9;\n    break;\n  case 0xd:\n    puVar9 = &DAT_0014f1ab;\n    break;\n  case 0xe:\n    puVar9 = &DAT_0014f1ae;\n    break;\n  case 0xf:\n    puVar9 = &DAT_0014f1b7;\n    break;\n  case 0x10:\n    puVar9 = &DAT_0014f1b1;\n    break;\n  case 0x11:\n    puVar9 = &DAT_0014f1b4;\n    break;\n  case 0x12:\n    puVar9 = &DAT_0014f1a5;\n    break;\n  case 0x13:\n    puVar9 = &DAT_00149508;\n    break;\n  case 0x15:\n    puVar9 = &DAT_0014f1b9;\n    break;\n  case 0x16:\n    puVar9 = &DAT_0014f1bc;\n    break;\n  case 0x17:\n    puVar9 = &DAT_00150035;\n    break;\n  case 0x18:\n    puVar9 = &DAT_0014f1bf;\n    break;\n  case 0x19:\n    puVar9 = &DAT_0014f1c2;\n    break;\n  case 0x1a:\n    puVar9 = &DAT_0014f1af;\n    break;\n  case 0x1b:\n    puVar9 = &DAT_0014f1a4;\n    break;\n  case 0x1c:\n    puVar9 = &DAT_0014f1b6;\n    break;\n  default:\n                    \n    FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error");\n  }" ({ "{") (case_statement "case 7:" (case "case") (number_literal "7") (: ":")) (case_statement "case 0x14:\n    puVar9 = &DAT_0014af24;\n    break;" (case "case") (number_literal "0x14") (: ":") (expression_statement "puVar9 = &DAT_0014af24;" (assignment_expression "puVar9 = &DAT_0014af24" (identifier "puVar9") (= "=") (pointer_expression "&DAT_0014af24" (& "&") (identifier "DAT_0014af24"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 8:\n    puVar9 = &DAT_0014f1b2;\n    break;" (case "case") (number_literal "8") (: ":") (expression_statement "puVar9 = &DAT_0014f1b2;" (assignment_expression "puVar9 = &DAT_0014f1b2" (identifier "puVar9") (= "=") (pointer_expression "&DAT_0014f1b2" (& "&") (identifier "DAT_0014f1b2"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 9:\n    puVar9 = &DAT_0014f1a7;\n    break;" (case "case") (number_literal "9") (: ":") (expression_statement "puVar9 = &DAT_0014f1a7;" (assignment_expression "puVar9 = &DAT_0014f1a7" (identifier "puVar9") (= "=") (pointer_expression "&DAT_0014f1a7" (& "&") (identifier "DAT_0014f1a7"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 10:\n    puVar9 = &DAT_001493c2;\n    break;" (case "case") (number_literal "10") (: ":") (expression_statement "puVar9 = &DAT_001493c2;" (assignment_expression "puVar9 = &DAT_001493c2" (identifier "puVar9") (= "=") (pointer_expression "&DAT_001493c2" (& "&") (identifier "DAT_001493c2"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xb:\n    puVar9 = &DAT_0014f085;\n    break;" (case "case") (number_literal "0xb") (: ":") (expression_statement "puVar9 = &DAT_0014f085;" (assignment_expression "puVar9 = &DAT_0014f085" (identifier "puVar9") (= "=") (pointer_expression "&DAT_0014f085" (& "&") (identifier "DAT_0014f085"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xc:\n    puVar9 = &DAT_0014f1a9;\n    break;" (case "case") (number_literal "0xc") (: ":") (expression_statement "puVar9 = &DAT_0014f1a9;" (assignment_expression "puVar9 = &DAT_0014f1a9" (identifier "puVar9") (= "=") (pointer_expression "&DAT_0014f1a9" (& "&") (identifier "DAT_0014f1a9"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xd:\n    puVar9 = &DAT_0014f1ab;\n    break;" (case "case") (number_literal "0xd") (: ":") (expression_statement "puVar9 = &DAT_0014f1ab;" (assignment_expression "puVar9 = &DAT_0014f1ab" (identifier "puVar9") (= "=") (pointer_expression "&DAT_0014f1ab" (& "&") (identifier "DAT_0014f1ab"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xe:\n    puVar9 = &DAT_0014f1ae;\n    break;" (case "case") (number_literal "0xe") (: ":") (expression_statement "puVar9 = &DAT_0014f1ae;" (assignment_expression "puVar9 = &DAT_0014f1ae" (identifier "puVar9") (= "=") (pointer_expression "&DAT_0014f1ae" (& "&") (identifier "DAT_0014f1ae"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xf:\n    puVar9 = &DAT_0014f1b7;\n    break;" (case "case") (number_literal "0xf") (: ":") (expression_statement "puVar9 = &DAT_0014f1b7;" (assignment_expression "puVar9 = &DAT_0014f1b7" (identifier "puVar9") (= "=") (pointer_expression "&DAT_0014f1b7" (& "&") (identifier "DAT_0014f1b7"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x10:\n    puVar9 = &DAT_0014f1b1;\n    break;" (case "case") (number_literal "0x10") (: ":") (expression_statement "puVar9 = &DAT_0014f1b1;" (assignment_expression "puVar9 = &DAT_0014f1b1" (identifier "puVar9") (= "=") (pointer_expression "&DAT_0014f1b1" (& "&") (identifier "DAT_0014f1b1"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x11:\n    puVar9 = &DAT_0014f1b4;\n    break;" (case "case") (number_literal "0x11") (: ":") (expression_statement "puVar9 = &DAT_0014f1b4;" (assignment_expression "puVar9 = &DAT_0014f1b4" (identifier "puVar9") (= "=") (pointer_expression "&DAT_0014f1b4" (& "&") (identifier "DAT_0014f1b4"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x12:\n    puVar9 = &DAT_0014f1a5;\n    break;" (case "case") (number_literal "0x12") (: ":") (expression_statement "puVar9 = &DAT_0014f1a5;" (assignment_expression "puVar9 = &DAT_0014f1a5" (identifier "puVar9") (= "=") (pointer_expression "&DAT_0014f1a5" (& "&") (identifier "DAT_0014f1a5"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x13:\n    puVar9 = &DAT_00149508;\n    break;" (case "case") (number_literal "0x13") (: ":") (expression_statement "puVar9 = &DAT_00149508;" (assignment_expression "puVar9 = &DAT_00149508" (identifier "puVar9") (= "=") (pointer_expression "&DAT_00149508" (& "&") (identifier "DAT_00149508"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x15:\n    puVar9 = &DAT_0014f1b9;\n    break;" (case "case") (number_literal "0x15") (: ":") (expression_statement "puVar9 = &DAT_0014f1b9;" (assignment_expression "puVar9 = &DAT_0014f1b9" (identifier "puVar9") (= "=") (pointer_expression "&DAT_0014f1b9" (& "&") (identifier "DAT_0014f1b9"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x16:\n    puVar9 = &DAT_0014f1bc;\n    break;" (case "case") (number_literal "0x16") (: ":") (expression_statement "puVar9 = &DAT_0014f1bc;" (assignment_expression "puVar9 = &DAT_0014f1bc" (identifier "puVar9") (= "=") (pointer_expression "&DAT_0014f1bc" (& "&") (identifier "DAT_0014f1bc"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x17:\n    puVar9 = &DAT_00150035;\n    break;" (case "case") (number_literal "0x17") (: ":") (expression_statement "puVar9 = &DAT_00150035;" (assignment_expression "puVar9 = &DAT_00150035" (identifier "puVar9") (= "=") (pointer_expression "&DAT_00150035" (& "&") (identifier "DAT_00150035"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x18:\n    puVar9 = &DAT_0014f1bf;\n    break;" (case "case") (number_literal "0x18") (: ":") (expression_statement "puVar9 = &DAT_0014f1bf;" (assignment_expression "puVar9 = &DAT_0014f1bf" (identifier "puVar9") (= "=") (pointer_expression "&DAT_0014f1bf" (& "&") (identifier "DAT_0014f1bf"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x19:\n    puVar9 = &DAT_0014f1c2;\n    break;" (case "case") (number_literal "0x19") (: ":") (expression_statement "puVar9 = &DAT_0014f1c2;" (assignment_expression "puVar9 = &DAT_0014f1c2" (identifier "puVar9") (= "=") (pointer_expression "&DAT_0014f1c2" (& "&") (identifier "DAT_0014f1c2"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x1a:\n    puVar9 = &DAT_0014f1af;\n    break;" (case "case") (number_literal "0x1a") (: ":") (expression_statement "puVar9 = &DAT_0014f1af;" (assignment_expression "puVar9 = &DAT_0014f1af" (identifier "puVar9") (= "=") (pointer_expression "&DAT_0014f1af" (& "&") (identifier "DAT_0014f1af"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x1b:\n    puVar9 = &DAT_0014f1a4;\n    break;" (case "case") (number_literal "0x1b") (: ":") (expression_statement "puVar9 = &DAT_0014f1a4;" (assignment_expression "puVar9 = &DAT_0014f1a4" (identifier "puVar9") (= "=") (pointer_expression "&DAT_0014f1a4" (& "&") (identifier "DAT_0014f1a4"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x1c:\n    puVar9 = &DAT_0014f1b6;\n    break;" (case "case") (number_literal "0x1c") (: ":") (expression_statement "puVar9 = &DAT_0014f1b6;" (assignment_expression "puVar9 = &DAT_0014f1b6" (identifier "puVar9") (= "=") (pointer_expression "&DAT_0014f1b6" (& "&") (identifier "DAT_0014f1b6"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n                    \n    FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error");" (default "default") (: ":") (expression_statement "FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error");" (call_expression "FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error")" (identifier "FUN_0011dd00") (argument_list "("../../gas/symbols.c",0x3df,"report_op_error")" (( "(") (string_literal ""../../gas/symbols.c"" (" """) (string_content "../../gas/symbols.c") (" """)) (, ",") (number_literal "0x3df") (, ",") (string_literal ""report_op_error"" (" """) (string_content "report_op_error") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "iVar2 = FUN_00114030(param_1,&local_30,&local_34);" (assignment_expression "iVar2 = FUN_00114030(param_1,&local_30,&local_34)" (identifier "iVar2") (= "=") (call_expression "FUN_00114030(param_1,&local_30,&local_34)" (identifier "FUN_00114030") (argument_list "(param_1,&local_30,&local_34)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n    uVar1 = *puVar7;\n    if (param_2 != (byte *)0x0) {\n      uVar6 = *puVar8;\n      uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);\n      return;\n    }\n    uVar6 = dcgettext(0,"invalid operand (%s section) for `%s\'",5);\n    FUN_0011db40(local_30,local_34,uVar6,uVar1,puVar9);\n    return;\n  }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar1 = *puVar7;\n    if (param_2 != (byte *)0x0) {\n      uVar6 = *puVar8;\n      uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);\n      return;\n    }\n    uVar6 = dcgettext(0,"invalid operand (%s section) for `%s\'",5);\n    FUN_0011db40(local_30,local_34,uVar6,uVar1,puVar9);\n    return;\n  }" ({ "{") (expression_statement "uVar1 = *puVar7;" (assignment_expression "uVar1 = *puVar7" (identifier "uVar1") (= "=") (pointer_expression "*puVar7" (* "*") (identifier "puVar7"))) (; ";")) (if_statement "if (param_2 != (byte *)0x0) {\n      uVar6 = *puVar8;\n      uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);\n      return;\n    }" (if "if") (parenthesized_expression "(param_2 != (byte *)0x0)" (( "(") (binary_expression "param_2 != (byte *)0x0" (identifier "param_2") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      uVar6 = *puVar8;\n      uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);\n      FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);\n      return;\n    }" ({ "{") (expression_statement "uVar6 = *puVar8;" (assignment_expression "uVar6 = *puVar8" (identifier "uVar6") (= "=") (pointer_expression "*puVar8" (* "*") (identifier "puVar8"))) (; ";")) (expression_statement "uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);" (assignment_expression "uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5)" (identifier "dcgettext") (argument_list "(0,"invalid operands (%s and %s sections) for `%s\'",5)" (( "(") (number_literal "0") (, ",") (string_literal ""invalid operands (%s and %s sections) for `%s\'"" (" """) (string_content "invalid operands (%s and %s sections) for `%s") (escape_sequence "\'") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);" (call_expression "FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9)" (identifier "FUN_0011db40") (argument_list "(local_30,local_34,uVar3,uVar6,uVar1,puVar9)" (( "(") (identifier "local_30") (, ",") (identifier "local_34") (, ",") (identifier "uVar3") (, ",") (identifier "uVar6") (, ",") (identifier "uVar1") (, ",") (identifier "puVar9") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar6 = dcgettext(0,"invalid operand (%s section) for `%s\'",5);" (assignment_expression "uVar6 = dcgettext(0,"invalid operand (%s section) for `%s\'",5)" (identifier "uVar6") (= "=") (call_expression "dcgettext(0,"invalid operand (%s section) for `%s\'",5)" (identifier "dcgettext") (argument_list "(0,"invalid operand (%s section) for `%s\'",5)" (( "(") (number_literal "0") (, ",") (string_literal ""invalid operand (%s section) for `%s\'"" (" """) (string_content "invalid operand (%s section) for `%s") (escape_sequence "\'") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0011db40(local_30,local_34,uVar6,uVar1,puVar9);" (call_expression "FUN_0011db40(local_30,local_34,uVar6,uVar1,puVar9)" (identifier "FUN_0011db40") (argument_list "(local_30,local_34,uVar6,uVar1,puVar9)" (( "(") (identifier "local_30") (, ",") (identifier "local_34") (, ",") (identifier "uVar6") (, ",") (identifier "uVar1") (, ",") (identifier "puVar9") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "puVar5 = *(undefined8 **)(param_1 + 8);" (assignment_expression "puVar5 = *(undefined8 **)(param_1 + 8)" (identifier "puVar5") (= "=") (pointer_expression "*(undefined8 **)(param_1 + 8)" (* "*") (cast_expression "(undefined8 **)(param_1 + 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if ((*param_1 & 1) != 0) {\n    if (DAT_001e4578 != puVar5) {\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      uVar6 = *puVar7;\n      goto joined_r0x00128023;\n    }\n    puVar5 = *(undefined8 **)(*(long *)(param_1 + 0x18) + 8);\n  }" (if "if") (parenthesized_expression "((*param_1 & 1) != 0)" (( "(") (binary_expression "(*param_1 & 1) != 0" (parenthesized_expression "(*param_1 & 1)" (( "(") (binary_expression "*param_1 & 1" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (DAT_001e4578 != puVar5) {\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      uVar6 = *puVar7;\n      goto joined_r0x00128023;\n    }\n    puVar5 = *(undefined8 **)(*(long *)(param_1 + 0x18) + 8);\n  }" ({ "{") (if_statement "if (DAT_001e4578 != puVar5) {\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      uVar6 = *puVar7;\n      goto joined_r0x00128023;\n    }" (if "if") (parenthesized_expression "(DAT_001e4578 != puVar5)" (( "(") (binary_expression "DAT_001e4578 != puVar5" (identifier "DAT_001e4578") (!= "!=") (identifier "puVar5")) () ")")) (compound_statement "{\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      uVar6 = *puVar7;\n      goto joined_r0x00128023;\n    }" ({ "{") (expression_statement "uVar1 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar1 = *(undefined8 *)(param_1 + 0x10)" (identifier "uVar1") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar6 = *puVar7;" (assignment_expression "uVar6 = *puVar7" (identifier "uVar6") (= "=") (pointer_expression "*puVar7" (* "*") (identifier "puVar7"))) (; ";")) (goto_statement "goto joined_r0x00128023;" (goto "goto") (statement_identifier "joined_r0x00128023") (; ";")) (} "}"))) (expression_statement "puVar5 = *(undefined8 **)(*(long *)(param_1 + 0x18) + 8);" (assignment_expression "puVar5 = *(undefined8 **)(*(long *)(param_1 + 0x18) + 8)" (identifier "puVar5") (= "=") (pointer_expression "*(undefined8 **)(*(long *)(param_1 + 0x18) + 8)" (* "*") (cast_expression "(undefined8 **)(*(long *)(param_1 + 0x18) + 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x18) + 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x18) + 8" (pointer_expression "*(long *)(param_1 + 0x18)" (* "*") (cast_expression "(long *)(param_1 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}"))) (expression_statement "uVar1 = puVar5[1];" (assignment_expression "uVar1 = puVar5[1]" (identifier "uVar1") (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar6 = *puVar7;" (assignment_expression "uVar6 = *puVar7" (identifier "uVar6") (= "=") (pointer_expression "*puVar7" (* "*") (identifier "puVar7"))) (; ";")) (labeled_statement "joined_r0x00128023:\n  if (param_2 == (byte *)0x0) {\n    uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    FUN_0011da70(uVar3,uVar6,puVar9,uVar1);\n    return;\n  }" (statement_identifier "joined_r0x00128023") (: ":") (if_statement "if (param_2 == (byte *)0x0) {\n    uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    FUN_0011da70(uVar3,uVar6,puVar9,uVar1);\n    return;\n  }" (if "if") (parenthesized_expression "(param_2 == (byte *)0x0)" (( "(") (binary_expression "param_2 == (byte *)0x0" (identifier "param_2") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);\n    FUN_0011da70(uVar3,uVar6,puVar9,uVar1);\n    return;\n  }" ({ "{") (expression_statement "uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);" (assignment_expression "uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5)" (identifier "dcgettext") (argument_list "(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5)" (( "(") (number_literal "0") (, ",") (string_literal ""invalid operand (%s section) for `%s\' when setting `%s\'"" (" """) (string_content "invalid operand (%s section) for `%s") (escape_sequence "\'") (string_content " when setting `%s") (escape_sequence "\'") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0011da70(uVar3,uVar6,puVar9,uVar1);" (call_expression "FUN_0011da70(uVar3,uVar6,puVar9,uVar1)" (identifier "FUN_0011da70") (argument_list "(uVar3,uVar6,puVar9,uVar1)" (( "(") (identifier "uVar3") (, ",") (identifier "uVar6") (, ",") (identifier "puVar9") (, ",") (identifier "uVar1") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))) (expression_statement "uVar3 = *puVar8;" (assignment_expression "uVar3 = *puVar8" (identifier "uVar3") (= "=") (pointer_expression "*puVar8" (* "*") (identifier "puVar8"))) (; ";")) (expression_statement "uVar4 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",5);" (assignment_expression "uVar4 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",5)" (identifier "dcgettext") (argument_list "(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",5)" (( "(") (number_literal "0") (, ",") (string_literal ""invalid operands (%s and %s sections) for `%s\' when setting `%s\'"" (" """) (string_content "invalid operands (%s and %s sections) for `%s") (escape_sequence "\'") (string_content " when setting `%s") (escape_sequence "\'") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0011da70(uVar4,uVar3,uVar6,puVar9,uVar1);" (call_expression "FUN_0011da70(uVar4,uVar3,uVar6,puVar9,uVar1)" (identifier "FUN_0011da70") (argument_list "(uVar4,uVar3,uVar6,puVar9,uVar1)" (( "(") (identifier "uVar4") (, ",") (identifier "uVar3") (, ",") (identifier "uVar6") (, ",") (identifier "puVar9") (, ",") (identifier "uVar1") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(type_1 *symp,type_1 *var_1,type_2 op,type_1 *right)

{
  char *pcVar1;
  type_1 *psVar2;
  int var_7;
  char *pcVar4;
  type_3 var_10;
  char *pcVar6;
  type_3 var_4;
  type_3 var_3;
  type_4 *puVar9;
  type_5 line;
  char *file;
  
  var_3 = (type_3)0x0;
  if (var_1 != (type_1 *)0x0) {
    var_3 = (type_3)var_1->bsym;
    if (((type_5)var_1->sy_flags & 1) != 0) {
      if (var_2 != var_3) goto LAB_00127d9c;
      var_3 = (type_3)((var_1->sy_value).X_op_symbol)->bsym;
    }
    var_3 = *(type_3 *)&var_3->flags;
  }
LAB_00127d9c:
  var_4 = (type_3)right->bsym;
  if (((type_5)right->sy_flags & 1) == 0) {
LAB_00127dd8:
    var_4 = *(type_3 *)&var_4->flags;
  }
  else if (var_2 == var_4) {
    var_4 = (type_3)((right->sy_value).X_op_symbol)->bsym;
    goto LAB_00127dd8;
  }
  switch(op) {
  case O_uminus:
  case O_subtract:
    puVar9 = &DAT_0014af24;
    break;
  case O_bit_not:
    puVar9 = &DAT_0014f1b2;
    break;
  case O_logical_not:
    puVar9 = &DAT_0014f1a7;
    break;
  case O_multiply:
    puVar9 = &DAT_001493c2;
    break;
  case O_divide:
    puVar9 = &DAT_0014f085;
    break;
  case O_modulus:
    puVar9 = &DAT_0014f1a9;
    break;
  case O_left_shift:
    puVar9 = &DAT_0014f1ab;
    break;
  case O_right_shift:
    puVar9 = &DAT_0014f1ae;
    break;
  case O_bit_inclusive_or:
    puVar9 = &DAT_0014f1b7;
    break;
  case O_bit_or_not:
    puVar9 = &DAT_0014f1b1;
    break;
  case O_bit_exclusive_or:
    puVar9 = &DAT_0014f1b4;
    break;
  case O_bit_and:
    puVar9 = &DAT_0014f1a5;
    break;
  case O_add:
    puVar9 = &DAT_00149508;
    break;
  case O_eq:
    puVar9 = &DAT_0014f1b9;
    break;
  case O_ne:
    puVar9 = &DAT_0014f1bc;
    break;
  case O_lt:
    puVar9 = &DAT_00150035;
    break;
  case O_le:
    puVar9 = &DAT_0014f1bf;
    break;
  case O_ge:
    puVar9 = &DAT_0014f1c2;
    break;
  case O_gt:
    puVar9 = &DAT_0014f1af;
    break;
  case O_logical_and:
    puVar9 = &DAT_0014f1a4;
    break;
  case O_logical_or:
    puVar9 = &DAT_0014f1b6;
    break;
  default:
                    /* WARNING: Subroutine does not return */
    var_5("../../gas/symbols.c",0x3df,"report_op_error");
  }
  var_7 = var_6(symp,&file,&line);
  if (var_7 != 0) {
    pcVar1 = var_4->name;
    if (var_1 != (type_1 *)0x0) {
      pcVar6 = var_3->name;
      pcVar4 = (char *)var_8(0,"invalid operands (%s and %s sections) for `%s\'",5);
      var_9(file,line,pcVar4,pcVar6,pcVar1,puVar9);
      return;
    }
    pcVar6 = (char *)var_8(0,"invalid operand (%s section) for `%s\'",5);
    var_9(file,line,pcVar6,pcVar1,puVar9);
    return;
  }
  var_10 = (type_3)symp->bsym;
  if (((type_5)symp->sy_flags & 1) != 0) {
    if (var_2 != var_10) {
      psVar2 = (symp->sy_value).X_add_symbol;
      pcVar1 = var_4->name;
      goto joined_r0x00128023;
    }
    var_10 = (type_3)((symp->sy_value).X_op_symbol)->bsym;
  }
  psVar2 = *(type_1 **)&var_10->id;
  pcVar1 = var_4->name;
joined_r0x00128023:
  if (var_1 == (type_1 *)0x0) {
    pcVar6 = (char *)var_8(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);
    var_11(pcVar6,pcVar1,puVar9,psVar2);
    return;
  }
  pcVar6 = var_3->name;
  pcVar4 = (char *)var_8(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",
                             5);
  var_11(pcVar4,pcVar6,pcVar1,puVar9,psVar2);
  return;
}


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

void MASKED(byte *param_1,byte *param_2,undefined4 param_3,byte *param_4)

{
  undefined8 uVar1;
  int iVar2;
  undefined8 uVar3;
  undefined8 uVar4;
  undefined8 *puVar5;
  undefined8 uVar6;
  undefined8 *puVar7;
  undefined8 *puVar8;
  undefined *puVar9;
  undefined4 local_34;
  undefined8 local_30;
  
  puVar8 = (undefined8 *)0x0;
  if (param_2 != (byte *)0x0) {
    puVar8 = *(undefined8 **)(param_2 + 8);
    if ((*param_2 & 1) != 0) {
      if (DAT_001e4578 != puVar8) goto LAB_00127d9c;
      puVar8 = *(undefined8 **)(*(long *)(param_2 + 0x18) + 8);
    }
    puVar8 = (undefined8 *)puVar8[4];
  }
LAB_00127d9c:
  puVar7 = *(undefined8 **)(param_4 + 8);
  if ((*param_4 & 1) == 0) {
LAB_00127dd8:
    puVar7 = (undefined8 *)puVar7[4];
  }
  else if (DAT_001e4578 == puVar7) {
    puVar7 = *(undefined8 **)(*(long *)(param_4 + 0x18) + 8);
    goto LAB_00127dd8;
  }
  switch(param_3) {
  case 7:
  case 0x14:
    puVar9 = &DAT_0014af24;
    break;
  case 8:
    puVar9 = &DAT_0014f1b2;
    break;
  case 9:
    puVar9 = &DAT_0014f1a7;
    break;
  case 10:
    puVar9 = &DAT_001493c2;
    break;
  case 0xb:
    puVar9 = &DAT_0014f085;
    break;
  case 0xc:
    puVar9 = &DAT_0014f1a9;
    break;
  case 0xd:
    puVar9 = &DAT_0014f1ab;
    break;
  case 0xe:
    puVar9 = &DAT_0014f1ae;
    break;
  case 0xf:
    puVar9 = &DAT_0014f1b7;
    break;
  case 0x10:
    puVar9 = &DAT_0014f1b1;
    break;
  case 0x11:
    puVar9 = &DAT_0014f1b4;
    break;
  case 0x12:
    puVar9 = &DAT_0014f1a5;
    break;
  case 0x13:
    puVar9 = &DAT_00149508;
    break;
  case 0x15:
    puVar9 = &DAT_0014f1b9;
    break;
  case 0x16:
    puVar9 = &DAT_0014f1bc;
    break;
  case 0x17:
    puVar9 = &DAT_00150035;
    break;
  case 0x18:
    puVar9 = &DAT_0014f1bf;
    break;
  case 0x19:
    puVar9 = &DAT_0014f1c2;
    break;
  case 0x1a:
    puVar9 = &DAT_0014f1af;
    break;
  case 0x1b:
    puVar9 = &DAT_0014f1a4;
    break;
  case 0x1c:
    puVar9 = &DAT_0014f1b6;
    break;
  default:
                    /* WARNING: Subroutine does not return */
    FUN_0011dd00("../../gas/symbols.c",0x3df,"report_op_error");
  }
  iVar2 = FUN_00114030(param_1,&local_30,&local_34);
  if (iVar2 != 0) {
    uVar1 = *puVar7;
    if (param_2 != (byte *)0x0) {
      uVar6 = *puVar8;
      uVar3 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\'",5);
      FUN_0011db40(local_30,local_34,uVar3,uVar6,uVar1,puVar9);
      return;
    }
    uVar6 = dcgettext(0,"invalid operand (%s section) for `%s\'",5);
    FUN_0011db40(local_30,local_34,uVar6,uVar1,puVar9);
    return;
  }
  puVar5 = *(undefined8 **)(param_1 + 8);
  if ((*param_1 & 1) != 0) {
    if (DAT_001e4578 != puVar5) {
      uVar1 = *(undefined8 *)(param_1 + 0x10);
      uVar6 = *puVar7;
      goto joined_r0x00128023;
    }
    puVar5 = *(undefined8 **)(*(long *)(param_1 + 0x18) + 8);
  }
  uVar1 = puVar5[1];
  uVar6 = *puVar7;
joined_r0x00128023:
  if (param_2 == (byte *)0x0) {
    uVar3 = dcgettext(0,"invalid operand (%s section) for `%s\' when setting `%s\'",5);
    FUN_0011da70(uVar3,uVar6,puVar9,uVar1);
    return;
  }
  uVar3 = *puVar8;
  uVar4 = dcgettext(0,"invalid operands (%s and %s sections) for `%s\' when setting `%s\'",5);
  FUN_0011da70(uVar4,uVar3,uVar6,puVar9,uVar1);
  return;
}

