
char * get_symbol_other(Filedata *filedata,uint other)

{
  ushort uVar1;
  uint uVar2;
  uint uVar3;
  char *pcVar4;
  uint *puVar5;
  uint *puVar6;
  undefined4 *puVar7;
  uint uVar8;
  bool bVar9;
  
  if (other == 0) {
    return "";
  }
  uVar1 = (filedata->file_header).e_machine;
  if (uVar1 == 0x15) {
    uVar8 = 1 << ((byte)(other >> 5) & 0x1f) & 0xfffffffc;
    if (uVar8 != 0) {
      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);
      snprintf(buf_19140,0x20,pcVar4,(ulong)uVar8);
      return buf_19140;
    }
  }
  else if (uVar1 == 0x32) {
    if ((filedata->file_header).e_ident[7] == '\r') {
      res_19120 = res_19120 & 0xffffff00;
      if ((filedata->file_header).e_type - 2 < 2) {
        uVar8 = other >> 4 & 3;
        if (uVar8 == 2) {
          res_19120 = 0x444620;
        }
        else if (uVar8 == 3) {
          res_19120 = 0x56535220;
          DAT_00192724._0_1_ = 0;
        }
        else if (uVar8 == 1) {
          res_19120 = 0x43455620;
          DAT_00192724._0_1_ = 0;
        }
        else {
          res_19120 = 0x414320;
        }
      }
      uVar8 = other >> 6;
      puVar6 = &res_19120;
      do {
        puVar5 = puVar6;
        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;
        uVar3 = uVar2 & 0x80808080;
        puVar6 = puVar5 + 1;
      } while (uVar3 == 0);
      bVar9 = (uVar2 & 0x8080) == 0;
      if (bVar9) {
        uVar3 = uVar3 >> 0x10;
      }
      if (bVar9) {
        puVar6 = (uint *)((long)puVar5 + 6);
      }
      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));
      if (uVar8 == 2) {
        *puVar7 = 0x44545320;
        *(undefined1 *)(puVar7 + 1) = 0;
      }
      else if (uVar8 == 3) {
        *puVar7 = 0x4b4e4c20;
        *(undefined1 *)(puVar7 + 1) = 0;
      }
      else if (uVar8 == 1) {
        *puVar7 = 0x56535220;
        *(undefined1 *)(puVar7 + 1) = 0;
      }
      else {
        *puVar7 = 0x4e474920;
        *(undefined1 *)(puVar7 + 1) = 0;
      }
      if ((char)res_19120 != '\0') {
        return (char *)((long)&res_19120 + 1);
      }
      return (char *)&res_19120;
    }
  }
  else if (uVar1 == 8) {
    if (other == 0x20) {
      return "MIPS PIC";
    }
    if (other < 0x21) {
      if (other == 4) {
        return "OPTIONAL";
      }
      if (other == 8) {
        return "MIPS PLT";
      }
    }
    else {
      if (other == 0xa0) {
        return "MICROMIPS, MIPS PIC";
      }
      if (other == 0xf0) {
        return "MIPS16";
      }
      if (other == 0x80) {
        return "MICROMIPS";
      }
    }
  }
  pcVar4 = (char *)dcgettext(0,"<other>: %x",5);
  snprintf(buff_19146,0x20,pcVar4,other);
  return buff_19146;
}



char * FUN_00122cb0(long param_1,uint param_2)

{
  short sVar1;
  uint uVar2;
  uint uVar3;
  char *pcVar4;
  uint *puVar5;
  uint *puVar6;
  undefined4 *puVar7;
  bool bVar8;
  
  if (param_2 == 0) {
    return "";
  }
  sVar1 = *(short *)(param_1 + 0x52);
  if (sVar1 == 0x15) {
    uVar3 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;
    if (uVar3 != 0) {
      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);
      snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);
      return &DAT_00192700;
    }
  }
  else if (sVar1 == 0x32) {
    if (*(char *)(param_1 + 0x1f) == '\r') {
      DAT_00192720 = DAT_00192720 & 0xffffff00;
      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {
        uVar3 = param_2 >> 4 & 3;
        if (uVar3 == 2) {
          DAT_00192720 = 0x444620;
        }
        else if (uVar3 == 3) {
          DAT_00192720 = 0x56535220;
          DAT_00192724._0_1_ = 0;
        }
        else if (uVar3 == 1) {
          DAT_00192720 = 0x43455620;
          DAT_00192724._0_1_ = 0;
        }
        else {
          DAT_00192720 = 0x414320;
        }
      }
      param_2 = param_2 >> 6;
      puVar6 = &DAT_00192720;
      do {
        puVar5 = puVar6;
        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;
        uVar3 = uVar2 & 0x80808080;
        puVar6 = puVar5 + 1;
      } while (uVar3 == 0);
      bVar8 = (uVar2 & 0x8080) == 0;
      if (bVar8) {
        uVar3 = uVar3 >> 0x10;
      }
      if (bVar8) {
        puVar6 = (uint *)((long)puVar5 + 6);
      }
      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));
      if (param_2 == 2) {
        *puVar7 = 0x44545320;
        *(undefined1 *)(puVar7 + 1) = 0;
      }
      else if (param_2 == 3) {
        *puVar7 = 0x4b4e4c20;
        *(undefined1 *)(puVar7 + 1) = 0;
      }
      else if (param_2 == 1) {
        *puVar7 = 0x56535220;
        *(undefined1 *)(puVar7 + 1) = 0;
      }
      else {
        *puVar7 = 0x4e474920;
        *(undefined1 *)(puVar7 + 1) = 0;
      }
      if ((char)DAT_00192720 != '\0') {
        return (char *)((long)&DAT_00192720 + 1);
      }
      return (char *)&DAT_00192720;
    }
  }
  else if (sVar1 == 8) {
    if (param_2 == 0x20) {
      return "MIPS PIC";
    }
    if (param_2 < 0x21) {
      if (param_2 == 4) {
        return "OPTIONAL";
      }
      if (param_2 == 8) {
        return "MIPS PLT";
      }
    }
    else {
      if (param_2 == 0xa0) {
        return "MICROMIPS, MIPS PIC";
      }
      if (param_2 == 0xf0) {
        return "MIPS16";
      }
      if (param_2 == 0x80) {
        return "MICROMIPS";
      }
    }
  }
  pcVar4 = (char *)dcgettext(0,"<other>: %x",5);
  snprintf(&DAT_00192740,0x20,pcVar4,(ulong)param_2);
  return &DAT_00192740;
}


LEA RAX,[0x169c35]
TEST ESI,ESI
JZ 0x00122d20
PUSH RBP
PUSH RBX
MOV EBX,ESI
SUB RSP,0x8
MOVZX EAX,word ptr [RDI + 0x52]
CMP AX,0x15
JZ 0x00122e30
CMP AX,0x32
JZ 0x00122d28
CMP AX,0x8
JZ 0x00122dd8
MOV EDX,0x5
LEA RSI,[0x1697de]
XOR EDI,EDI
CALL 0x00107130
MOV ECX,EBX
MOV ESI,0x20
LEA RDI,[0x192740]
MOV RDX,RAX
XOR EAX,EAX
CALL 0x001071b0
LEA RAX,[0x192740]
ADD RSP,0x8
POP RBX
POP RBP
RET
RET
CMP byte ptr [RDI + 0x1f],0xd
JNZ 0x00122ce1
MOVZX EAX,word ptr [RDI + 0x50]
MOV byte ptr [0x00192720],0x0
SUB EAX,0x2
CMP EAX,0x1
JBE 0x00122ea7
LEA R8,[0x192720]
SHR EBX,0x6
MOV ESI,EBX
MOV RDI,R8
MOV RDX,R8
MOV ECX,dword ptr [RDX]
ADD RDX,0x4
LEA EAX,[RCX + -0x1010101]
NOT ECX
AND EAX,ECX
AND EAX,0x80808080
JZ 0x00122d57
MOV ECX,EAX
SHR ECX,0x10
TEST EAX,0x8080
CMOVZ EAX,ECX
LEA RCX,[RDX + 0x2]
CMOVZ RDX,RCX
MOV EBX,EAX
ADD BL,AL
SBB RDX,0x3
SUB RDX,R8
ADD RDX,RDI
CMP ESI,0x2
JZ 0x00122eeb
CMP ESI,0x3
JZ 0x00122edc
CMP ESI,0x1
JZ 0x00122ecd
MOV dword ptr [RDX],0x4e474920
MOV byte ptr [RDX + 0x4],0x0
LEA RAX,[0x192721]
CMP byte ptr [0x00192720],0x0
LEA RDX,[RAX + -0x1]
CMOVZ RAX,RDX
JMP 0x00122d13
LEA RAX,[0x1697c4]
CMP ESI,0x20
JZ 0x00122d13
JBE 0x00122e80
LEA RAX,[0x1697b9]
CMP ESI,0xa0
JZ 0x00122d13
LEA RAX,[0x1697b2]
CMP ESI,0xf0
JZ 0x00122d13
LEA RAX,[0x169796]
CMP ESI,0x80
JNZ 0x00122ce1
JMP 0x00122d13
MOV ECX,ESI
MOV EAX,0x1
SHR ECX,0x5
SHL EAX,CL
MOV ECX,EAX
AND ECX,0xfffffffc
MOV EBP,ECX
JZ 0x00122ce1
MOV EDX,0x5
LEA RSI,[0x1697cd]
XOR EDI,EDI
CALL 0x00107130
MOV ECX,EBP
MOV ESI,0x20
LEA RDI,[0x192700]
MOV RDX,RAX
XOR EAX,EAX
CALL 0x001071b0
LEA RAX,[0x192700]
JMP 0x00122d13
LEA RAX,[0x1697a0]
CMP ESI,0x4
JZ 0x00122d13
LEA RAX,[0x1697a9]
CMP ESI,0x8
JNZ 0x00122ce1
ADD RSP,0x8
POP RBX
POP RBP
RET
MOV EAX,ESI
SHR EAX,0x4
AND EAX,0x3
CMP EAX,0x2
JZ 0x00122f26
CMP EAX,0x3
JZ 0x00122f10
CMP EAX,0x1
JZ 0x00122efa
MOV dword ptr [0x00192720],0x414320
JMP 0x00122d45
MOV dword ptr [RDX],0x56535220
MOV byte ptr [RDX + 0x4],0x0
JMP 0x00122db6
MOV dword ptr [RDX],0x4b4e4c20
MOV byte ptr [RDX + 0x4],0x0
JMP 0x00122db6
MOV dword ptr [RDX],0x44545320
MOV byte ptr [RDX + 0x4],0x0
JMP 0x00122db6
MOV dword ptr [0x00192720],0x43455620
MOV byte ptr [0x00192724],0x0
JMP 0x00122d45
MOV dword ptr [0x00192720],0x56535220
MOV byte ptr [0x00192724],0x0
JMP 0x00122d45
MOV dword ptr [0x00192720],0x444620
JMP 0x00122d45
(translation_unit "char * FUN_00122cb0(long param_1,uint param_2)\n\n{\n  short sVar1;\n  uint uVar2;\n  uint uVar3;\n  char *pcVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  bool bVar8;\n  \n  if (param_2 == 0) {\n    return "";\n  }\n  sVar1 = *(short *)(param_1 + 0x52);\n  if (sVar1 == 0x15) {\n    uVar3 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar3 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);\n      return &DAT_00192700;\n    }\n  }\n  else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }\n  pcVar4 = (char *)dcgettext(0,"<other>: %x",5);\n  snprintf(&DAT_00192740,0x20,pcVar4,(ulong)param_2);\n  return &DAT_00192740;\n}\n\n" (function_definition "char * FUN_00122cb0(long param_1,uint param_2)\n\n{\n  short sVar1;\n  uint uVar2;\n  uint uVar3;\n  char *pcVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  bool bVar8;\n  \n  if (param_2 == 0) {\n    return "";\n  }\n  sVar1 = *(short *)(param_1 + 0x52);\n  if (sVar1 == 0x15) {\n    uVar3 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar3 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);\n      return &DAT_00192700;\n    }\n  }\n  else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }\n  pcVar4 = (char *)dcgettext(0,"<other>: %x",5);\n  snprintf(&DAT_00192740,0x20,pcVar4,(ulong)param_2);\n  return &DAT_00192740;\n}" primitive_type (pointer_declarator "* FUN_00122cb0(long param_1,uint param_2)" * (function_declarator "FUN_00122cb0(long param_1,uint param_2)" identifier (parameter_list "(long param_1,uint param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "uint param_2" type_identifier identifier) )))) (compound_statement "{\n  short sVar1;\n  uint uVar2;\n  uint uVar3;\n  char *pcVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  bool bVar8;\n  \n  if (param_2 == 0) {\n    return "";\n  }\n  sVar1 = *(short *)(param_1 + 0x52);\n  if (sVar1 == 0x15) {\n    uVar3 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar3 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);\n      return &DAT_00192700;\n    }\n  }\n  else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }\n  pcVar4 = (char *)dcgettext(0,"<other>: %x",5);\n  snprintf(&DAT_00192740,0x20,pcVar4,(ulong)param_2);\n  return &DAT_00192740;\n}" { (declaration "short sVar1;" (sized_type_specifier "short" short) identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "bool bVar8;" primitive_type identifier ;) (if_statement "if (param_2 == 0) {\n    return "";\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n    return "";\n  }" { (return_statement "return "";" return (string_literal """" " ") ;) })) (expression_statement "sVar1 = *(short *)(param_1 + 0x52);" (assignment_expression "sVar1 = *(short *)(param_1 + 0x52)" identifier = (pointer_expression "*(short *)(param_1 + 0x52)" * (cast_expression "(short *)(param_1 + 0x52)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x52)" ( (binary_expression "param_1 + 0x52" identifier + number_literal) ))))) ;) (if_statement "if (sVar1 == 0x15) {\n    uVar3 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar3 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);\n      return &DAT_00192700;\n    }\n  }\n  else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" if (parenthesized_expression "(sVar1 == 0x15)" ( (binary_expression "sVar1 == 0x15" identifier == number_literal) )) (compound_statement "{\n    uVar3 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar3 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);\n      return &DAT_00192700;\n    }\n  }" { (expression_statement "uVar3 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;" (assignment_expression "uVar3 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc" identifier = (binary_expression "1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc" (binary_expression "1 << ((byte)(param_2 >> 5) & 0x1f)" number_literal << (parenthesized_expression "((byte)(param_2 >> 5) & 0x1f)" ( (binary_expression "(byte)(param_2 >> 5) & 0x1f" (call_expression "(byte)(param_2 >> 5)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(param_2 >> 5)" ( (binary_expression "param_2 >> 5" identifier >> number_literal) ))) & number_literal) ))) & number_literal)) ;) (if_statement "if (uVar3 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);\n      return &DAT_00192700;\n    }" if (parenthesized_expression "(uVar3 != 0)" ( (binary_expression "uVar3 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);\n      return &DAT_00192700;\n    }" { (expression_statement "pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5)" identifier = (cast_expression "(char *)dcgettext(0,"<localentry>: %d",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<localentry>: %d",5)" identifier (argument_list "(0,"<localentry>: %d",5)" ( number_literal , (string_literal ""<localentry>: %d"" " string_content ") , number_literal ))))) ;) (expression_statement "snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);" (call_expression "snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3)" identifier (argument_list "(&DAT_00192700,0x20,pcVar4,(ulong)uVar3)" ( (pointer_expression "&DAT_00192700" & identifier) , number_literal , identifier , (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (return_statement "return &DAT_00192700;" return (pointer_expression "&DAT_00192700" & identifier) ;) })) }) (else_clause "else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" else (if_statement "if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" if (parenthesized_expression "(sVar1 == 0x32)" ( (binary_expression "sVar1 == 0x32" identifier == number_literal) )) (compound_statement "{\n    if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }\n  }" { (if_statement "if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x1f) == '\r')" ( (binary_expression "*(char *)(param_1 + 0x1f) == '\r'" (pointer_expression "*(char *)(param_1 + 0x1f)" * (cast_expression "(char *)(param_1 + 0x1f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) )))) == (char_literal "'\r'" ' escape_sequence ')) )) (compound_statement "{\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }" { (expression_statement "DAT_00192720 = DAT_00192720 & 0xffffff00;" (assignment_expression "DAT_00192720 = DAT_00192720 & 0xffffff00" identifier = (binary_expression "DAT_00192720 & 0xffffff00" identifier & number_literal)) ;) (if_statement "if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }" if (parenthesized_expression "(*(ushort *)(param_1 + 0x50) - 2 < 2)" ( (binary_expression "*(ushort *)(param_1 + 0x50) - 2 < 2" (binary_expression "*(ushort *)(param_1 + 0x50) - 2" (pointer_expression "*(ushort *)(param_1 + 0x50)" * (cast_expression "(ushort *)(param_1 + 0x50)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) - number_literal) < number_literal) )) (compound_statement "{\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }" { (expression_statement "uVar3 = param_2 >> 4 & 3;" (assignment_expression "uVar3 = param_2 >> 4 & 3" identifier = (binary_expression "param_2 >> 4 & 3" (binary_expression "param_2 >> 4" identifier >> number_literal) & number_literal)) ;) (if_statement "if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }" if (parenthesized_expression "(uVar3 == 2)" ( (binary_expression "uVar3 == 2" identifier == number_literal) )) (compound_statement "{\n          DAT_00192720 = 0x444620;\n        }" { (expression_statement "DAT_00192720 = 0x444620;" (assignment_expression "DAT_00192720 = 0x444620" identifier = number_literal) ;) }) (else_clause "else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }" else (if_statement "if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }" if (parenthesized_expression "(uVar3 == 3)" ( (binary_expression "uVar3 == 3" identifier == number_literal) )) (compound_statement "{\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }" { (expression_statement "DAT_00192720 = 0x56535220;" (assignment_expression "DAT_00192720 = 0x56535220" identifier = number_literal) ;) (expression_statement "DAT_00192724._0_1_ = 0;" (assignment_expression "DAT_00192724._0_1_ = 0" (field_expression "DAT_00192724._0_1_" identifier . field_identifier) = number_literal) ;) }) (else_clause "else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }" else (if_statement "if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }" if (parenthesized_expression "(uVar3 == 1)" ( (binary_expression "uVar3 == 1" identifier == number_literal) )) (compound_statement "{\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }" { (expression_statement "DAT_00192720 = 0x43455620;" (assignment_expression "DAT_00192720 = 0x43455620" identifier = number_literal) ;) (expression_statement "DAT_00192724._0_1_ = 0;" (assignment_expression "DAT_00192724._0_1_ = 0" (field_expression "DAT_00192724._0_1_" identifier . field_identifier) = number_literal) ;) }) (else_clause "else {\n          DAT_00192720 = 0x414320;\n        }" else (compound_statement "{\n          DAT_00192720 = 0x414320;\n        }" { (expression_statement "DAT_00192720 = 0x414320;" (assignment_expression "DAT_00192720 = 0x414320" identifier = number_literal) ;) }))))))) })) (expression_statement "param_2 = param_2 >> 6;" (assignment_expression "param_2 = param_2 >> 6" identifier = (binary_expression "param_2 >> 6" identifier >> number_literal)) ;) (expression_statement "puVar6 = &DAT_00192720;" (assignment_expression "puVar6 = &DAT_00192720" identifier = (pointer_expression "&DAT_00192720" & identifier)) ;) (do_statement "do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);" do (compound_statement "{\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      }" { (expression_statement "puVar5 = puVar6;" (assignment_expression "puVar5 = puVar6" identifier = identifier) ;) (expression_statement "uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;" (assignment_expression "uVar2 = *puVar5 + 0xfefefeff & ~*puVar5" identifier = (binary_expression "*puVar5 + 0xfefefeff & ~*puVar5" (binary_expression "*puVar5 + 0xfefefeff" (pointer_expression "*puVar5" * identifier) + number_literal) & (unary_expression "~*puVar5" ~ (pointer_expression "*puVar5" * identifier)))) ;) (expression_statement "uVar3 = uVar2 & 0x80808080;" (assignment_expression "uVar3 = uVar2 & 0x80808080" identifier = (binary_expression "uVar2 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar6 = puVar5 + 1;" (assignment_expression "puVar6 = puVar5 + 1" identifier = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) ;) (expression_statement "bVar8 = (uVar2 & 0x8080) == 0;" (assignment_expression "bVar8 = (uVar2 & 0x8080) == 0" identifier = (binary_expression "(uVar2 & 0x8080) == 0" (parenthesized_expression "(uVar2 & 0x8080)" ( (binary_expression "uVar2 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n        uVar3 = uVar3 >> 0x10;\n      }" { (expression_statement "uVar3 = uVar3 >> 0x10;" (assignment_expression "uVar3 = uVar3 >> 0x10" identifier = (binary_expression "uVar3 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }" { (expression_statement "puVar6 = (uint *)((long)puVar5 + 6);" (assignment_expression "puVar6 = (uint *)((long)puVar5 + 6)" identifier = (cast_expression "(uint *)((long)puVar5 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar5 + 6)" ( (binary_expression "(long)puVar5 + 6" (cast_expression "(long)puVar5" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (expression_statement "puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));" (assignment_expression "puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)))" identifier = (cast_expression "(undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)))" ( (binary_expression "(long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))" (cast_expression "(long)puVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar3,(byte)uVar3)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar3,(byte)uVar3)" identifier (argument_list "((byte)uVar3,(byte)uVar3)" ( (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ))) )))) ;) (if_statement "if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" if (parenthesized_expression "(param_2 == 2)" ( (binary_expression "param_2 == 2" identifier == number_literal) )) (compound_statement "{\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" { (expression_statement "*puVar7 = 0x44545320;" (assignment_expression "*puVar7 = 0x44545320" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar7 + 1) = 0;" (assignment_expression "*(undefined1 *)(puVar7 + 1) = 0" (pointer_expression "*(undefined1 *)(puVar7 + 1)" * (cast_expression "(undefined1 *)(puVar7 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 1)" ( (binary_expression "puVar7 + 1" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" else (if_statement "if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" if (parenthesized_expression "(param_2 == 3)" ( (binary_expression "param_2 == 3" identifier == number_literal) )) (compound_statement "{\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" { (expression_statement "*puVar7 = 0x4b4e4c20;" (assignment_expression "*puVar7 = 0x4b4e4c20" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar7 + 1) = 0;" (assignment_expression "*(undefined1 *)(puVar7 + 1) = 0" (pointer_expression "*(undefined1 *)(puVar7 + 1)" * (cast_expression "(undefined1 *)(puVar7 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 1)" ( (binary_expression "puVar7 + 1" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" else (if_statement "if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" if (parenthesized_expression "(param_2 == 1)" ( (binary_expression "param_2 == 1" identifier == number_literal) )) (compound_statement "{\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" { (expression_statement "*puVar7 = 0x56535220;" (assignment_expression "*puVar7 = 0x56535220" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar7 + 1) = 0;" (assignment_expression "*(undefined1 *)(puVar7 + 1) = 0" (pointer_expression "*(undefined1 *)(puVar7 + 1)" * (cast_expression "(undefined1 *)(puVar7 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 1)" ( (binary_expression "puVar7 + 1" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" else (compound_statement "{\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" { (expression_statement "*puVar7 = 0x4e474920;" (assignment_expression "*puVar7 = 0x4e474920" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar7 + 1) = 0;" (assignment_expression "*(undefined1 *)(puVar7 + 1) = 0" (pointer_expression "*(undefined1 *)(puVar7 + 1)" * (cast_expression "(undefined1 *)(puVar7 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 1)" ( (binary_expression "puVar7 + 1" identifier + number_literal) )))) = number_literal) ;) }))))))) (if_statement "if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }" if (parenthesized_expression "((char)DAT_00192720 != '\0')" ( (binary_expression "(char)DAT_00192720 != '\0'" (cast_expression "(char)DAT_00192720" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        return (char *)((long)&DAT_00192720 + 1);\n      }" { (return_statement "return (char *)((long)&DAT_00192720 + 1);" return (cast_expression "(char *)((long)&DAT_00192720 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_00192720 + 1)" ( (binary_expression "(long)&DAT_00192720 + 1" (cast_expression "(long)&DAT_00192720" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_00192720" & identifier)) + number_literal) ))) ;) })) (return_statement "return (char *)&DAT_00192720;" return (cast_expression "(char *)&DAT_00192720" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00192720" & identifier)) ;) })) }) (else_clause "else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" else (if_statement "if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" if (parenthesized_expression "(sVar1 == 8)" ( (binary_expression "sVar1 == 8" identifier == number_literal) )) (compound_statement "{\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" { (if_statement "if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }" if (parenthesized_expression "(param_2 == 0x20)" ( (binary_expression "param_2 == 0x20" identifier == number_literal) )) (compound_statement "{\n      return "MIPS PIC";\n    }" { (return_statement "return "MIPS PIC";" return (string_literal ""MIPS PIC"" " string_content ") ;) })) (if_statement "if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }" if (parenthesized_expression "(param_2 < 0x21)" ( (binary_expression "param_2 < 0x21" identifier < number_literal) )) (compound_statement "{\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }" { (if_statement "if (param_2 == 4) {\n        return "OPTIONAL";\n      }" if (parenthesized_expression "(param_2 == 4)" ( (binary_expression "param_2 == 4" identifier == number_literal) )) (compound_statement "{\n        return "OPTIONAL";\n      }" { (return_statement "return "OPTIONAL";" return (string_literal ""OPTIONAL"" " string_content ") ;) })) (if_statement "if (param_2 == 8) {\n        return "MIPS PLT";\n      }" if (parenthesized_expression "(param_2 == 8)" ( (binary_expression "param_2 == 8" identifier == number_literal) )) (compound_statement "{\n        return "MIPS PLT";\n      }" { (return_statement "return "MIPS PLT";" return (string_literal ""MIPS PLT"" " string_content ") ;) })) }) (else_clause "else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }" else (compound_statement "{\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }" { (if_statement "if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }" if (parenthesized_expression "(param_2 == 0xa0)" ( (binary_expression "param_2 == 0xa0" identifier == number_literal) )) (compound_statement "{\n        return "MICROMIPS, MIPS PIC";\n      }" { (return_statement "return "MICROMIPS, MIPS PIC";" return (string_literal ""MICROMIPS, MIPS PIC"" " string_content ") ;) })) (if_statement "if (param_2 == 0xf0) {\n        return "MIPS16";\n      }" if (parenthesized_expression "(param_2 == 0xf0)" ( (binary_expression "param_2 == 0xf0" identifier == number_literal) )) (compound_statement "{\n        return "MIPS16";\n      }" { (return_statement "return "MIPS16";" return (string_literal ""MIPS16"" " string_content ") ;) })) (if_statement "if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }" if (parenthesized_expression "(param_2 == 0x80)" ( (binary_expression "param_2 == 0x80" identifier == number_literal) )) (compound_statement "{\n        return "MICROMIPS";\n      }" { (return_statement "return "MICROMIPS";" return (string_literal ""MICROMIPS"" " string_content ") ;) })) }))) })))))) (expression_statement "pcVar4 = (char *)dcgettext(0,"<other>: %x",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"<other>: %x",5)" identifier = (cast_expression "(char *)dcgettext(0,"<other>: %x",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<other>: %x",5)" identifier (argument_list "(0,"<other>: %x",5)" ( number_literal , (string_literal ""<other>: %x"" " string_content ") , number_literal ))))) ;) (expression_statement "snprintf(&DAT_00192740,0x20,pcVar4,(ulong)param_2);" (call_expression "snprintf(&DAT_00192740,0x20,pcVar4,(ulong)param_2)" identifier (argument_list "(&DAT_00192740,0x20,pcVar4,(ulong)param_2)" ( (pointer_expression "&DAT_00192740" & identifier) , number_literal , identifier , (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (return_statement "return &DAT_00192740;" return (pointer_expression "&DAT_00192740" & identifier) ;) })))
(translation_unit "char * get_symbol_other(Filedata *filedata,uint other)\n\n{\n  ushort uVar1;\n  uint uVar2;\n  uint uVar3;\n  char *pcVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  uint uVar8;\n  bool bVar9;\n  \n  if (other == 0) {\n    return "";\n  }\n  uVar1 = (filedata->file_header).e_machine;\n  if (uVar1 == 0x15) {\n    uVar8 = 1 << ((byte)(other >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar8 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(buf_19140,0x20,pcVar4,(ulong)uVar8);\n      return buf_19140;\n    }\n  }\n  else if (uVar1 == 0x32) {\n    if ((filedata->file_header).e_ident[7] == '\r') {\n      res_19120 = res_19120 & 0xffffff00;\n      if ((filedata->file_header).e_type - 2 < 2) {\n        uVar8 = other >> 4 & 3;\n        if (uVar8 == 2) {\n          res_19120 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_19120 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar8 == 1) {\n          res_19120 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          res_19120 = 0x414320;\n        }\n      }\n      uVar8 = other >> 6;\n      puVar6 = &res_19120;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar9 = (uVar2 & 0x8080) == 0;\n      if (bVar9) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar9) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (uVar8 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (uVar8 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (uVar8 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)res_19120 != '\0') {\n        return (char *)((long)&res_19120 + 1);\n      }\n      return (char *)&res_19120;\n    }\n  }\n  else if (uVar1 == 8) {\n    if (other == 0x20) {\n      return "MIPS PIC";\n    }\n    if (other < 0x21) {\n      if (other == 4) {\n        return "OPTIONAL";\n      }\n      if (other == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (other == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (other == 0xf0) {\n        return "MIPS16";\n      }\n      if (other == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }\n  pcVar4 = (char *)dcgettext(0,"<other>: %x",5);\n  snprintf(buff_19146,0x20,pcVar4,other);\n  return buff_19146;\n}\n\n" (function_definition "char * get_symbol_other(Filedata *filedata,uint other)\n\n{\n  ushort uVar1;\n  uint uVar2;\n  uint uVar3;\n  char *pcVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  uint uVar8;\n  bool bVar9;\n  \n  if (other == 0) {\n    return "";\n  }\n  uVar1 = (filedata->file_header).e_machine;\n  if (uVar1 == 0x15) {\n    uVar8 = 1 << ((byte)(other >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar8 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(buf_19140,0x20,pcVar4,(ulong)uVar8);\n      return buf_19140;\n    }\n  }\n  else if (uVar1 == 0x32) {\n    if ((filedata->file_header).e_ident[7] == '\r') {\n      res_19120 = res_19120 & 0xffffff00;\n      if ((filedata->file_header).e_type - 2 < 2) {\n        uVar8 = other >> 4 & 3;\n        if (uVar8 == 2) {\n          res_19120 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_19120 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar8 == 1) {\n          res_19120 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          res_19120 = 0x414320;\n        }\n      }\n      uVar8 = other >> 6;\n      puVar6 = &res_19120;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar9 = (uVar2 & 0x8080) == 0;\n      if (bVar9) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar9) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (uVar8 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (uVar8 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (uVar8 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)res_19120 != '\0') {\n        return (char *)((long)&res_19120 + 1);\n      }\n      return (char *)&res_19120;\n    }\n  }\n  else if (uVar1 == 8) {\n    if (other == 0x20) {\n      return "MIPS PIC";\n    }\n    if (other < 0x21) {\n      if (other == 4) {\n        return "OPTIONAL";\n      }\n      if (other == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (other == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (other == 0xf0) {\n        return "MIPS16";\n      }\n      if (other == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }\n  pcVar4 = (char *)dcgettext(0,"<other>: %x",5);\n  snprintf(buff_19146,0x20,pcVar4,other);\n  return buff_19146;\n}" primitive_type (pointer_declarator "* get_symbol_other(Filedata *filedata,uint other)" * (function_declarator "get_symbol_other(Filedata *filedata,uint other)" identifier (parameter_list "(Filedata *filedata,uint other)" ( (parameter_declaration "Filedata *filedata" type_identifier (pointer_declarator "*filedata" * identifier)) , (parameter_declaration "uint other" type_identifier identifier) )))) (compound_statement "{\n  ushort uVar1;\n  uint uVar2;\n  uint uVar3;\n  char *pcVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  uint uVar8;\n  bool bVar9;\n  \n  if (other == 0) {\n    return "";\n  }\n  uVar1 = (filedata->file_header).e_machine;\n  if (uVar1 == 0x15) {\n    uVar8 = 1 << ((byte)(other >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar8 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(buf_19140,0x20,pcVar4,(ulong)uVar8);\n      return buf_19140;\n    }\n  }\n  else if (uVar1 == 0x32) {\n    if ((filedata->file_header).e_ident[7] == '\r') {\n      res_19120 = res_19120 & 0xffffff00;\n      if ((filedata->file_header).e_type - 2 < 2) {\n        uVar8 = other >> 4 & 3;\n        if (uVar8 == 2) {\n          res_19120 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_19120 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar8 == 1) {\n          res_19120 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          res_19120 = 0x414320;\n        }\n      }\n      uVar8 = other >> 6;\n      puVar6 = &res_19120;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar9 = (uVar2 & 0x8080) == 0;\n      if (bVar9) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar9) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (uVar8 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (uVar8 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (uVar8 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)res_19120 != '\0') {\n        return (char *)((long)&res_19120 + 1);\n      }\n      return (char *)&res_19120;\n    }\n  }\n  else if (uVar1 == 8) {\n    if (other == 0x20) {\n      return "MIPS PIC";\n    }\n    if (other < 0x21) {\n      if (other == 4) {\n        return "OPTIONAL";\n      }\n      if (other == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (other == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (other == 0xf0) {\n        return "MIPS16";\n      }\n      if (other == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }\n  pcVar4 = (char *)dcgettext(0,"<other>: %x",5);\n  snprintf(buff_19146,0x20,pcVar4,other);\n  return buff_19146;\n}" { (declaration "ushort uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "bool bVar9;" primitive_type identifier ;) (if_statement "if (other == 0) {\n    return "";\n  }" if (parenthesized_expression "(other == 0)" ( (binary_expression "other == 0" identifier == number_literal) )) (compound_statement "{\n    return "";\n  }" { (return_statement "return "";" return (string_literal """" " ") ;) })) (expression_statement "uVar1 = (filedata->file_header).e_machine;" (assignment_expression "uVar1 = (filedata->file_header).e_machine" identifier = (field_expression "(filedata->file_header).e_machine" (parenthesized_expression "(filedata->file_header)" ( (field_expression "filedata->file_header" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (uVar1 == 0x15) {\n    uVar8 = 1 << ((byte)(other >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar8 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(buf_19140,0x20,pcVar4,(ulong)uVar8);\n      return buf_19140;\n    }\n  }\n  else if (uVar1 == 0x32) {\n    if ((filedata->file_header).e_ident[7] == '\r') {\n      res_19120 = res_19120 & 0xffffff00;\n      if ((filedata->file_header).e_type - 2 < 2) {\n        uVar8 = other >> 4 & 3;\n        if (uVar8 == 2) {\n          res_19120 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_19120 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar8 == 1) {\n          res_19120 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          res_19120 = 0x414320;\n        }\n      }\n      uVar8 = other >> 6;\n      puVar6 = &res_19120;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar9 = (uVar2 & 0x8080) == 0;\n      if (bVar9) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar9) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (uVar8 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (uVar8 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (uVar8 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)res_19120 != '\0') {\n        return (char *)((long)&res_19120 + 1);\n      }\n      return (char *)&res_19120;\n    }\n  }\n  else if (uVar1 == 8) {\n    if (other == 0x20) {\n      return "MIPS PIC";\n    }\n    if (other < 0x21) {\n      if (other == 4) {\n        return "OPTIONAL";\n      }\n      if (other == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (other == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (other == 0xf0) {\n        return "MIPS16";\n      }\n      if (other == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" if (parenthesized_expression "(uVar1 == 0x15)" ( (binary_expression "uVar1 == 0x15" identifier == number_literal) )) (compound_statement "{\n    uVar8 = 1 << ((byte)(other >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar8 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(buf_19140,0x20,pcVar4,(ulong)uVar8);\n      return buf_19140;\n    }\n  }" { (expression_statement "uVar8 = 1 << ((byte)(other >> 5) & 0x1f) & 0xfffffffc;" (assignment_expression "uVar8 = 1 << ((byte)(other >> 5) & 0x1f) & 0xfffffffc" identifier = (binary_expression "1 << ((byte)(other >> 5) & 0x1f) & 0xfffffffc" (binary_expression "1 << ((byte)(other >> 5) & 0x1f)" number_literal << (parenthesized_expression "((byte)(other >> 5) & 0x1f)" ( (binary_expression "(byte)(other >> 5) & 0x1f" (call_expression "(byte)(other >> 5)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(other >> 5)" ( (binary_expression "other >> 5" identifier >> number_literal) ))) & number_literal) ))) & number_literal)) ;) (if_statement "if (uVar8 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(buf_19140,0x20,pcVar4,(ulong)uVar8);\n      return buf_19140;\n    }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(buf_19140,0x20,pcVar4,(ulong)uVar8);\n      return buf_19140;\n    }" { (expression_statement "pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5)" identifier = (cast_expression "(char *)dcgettext(0,"<localentry>: %d",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<localentry>: %d",5)" identifier (argument_list "(0,"<localentry>: %d",5)" ( number_literal , (string_literal ""<localentry>: %d"" " string_content ") , number_literal ))))) ;) (expression_statement "snprintf(buf_19140,0x20,pcVar4,(ulong)uVar8);" (call_expression "snprintf(buf_19140,0x20,pcVar4,(ulong)uVar8)" identifier (argument_list "(buf_19140,0x20,pcVar4,(ulong)uVar8)" ( identifier , number_literal , identifier , (cast_expression "(ulong)uVar8" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (return_statement "return buf_19140;" return identifier ;) })) }) (else_clause "else if (uVar1 == 0x32) {\n    if ((filedata->file_header).e_ident[7] == '\r') {\n      res_19120 = res_19120 & 0xffffff00;\n      if ((filedata->file_header).e_type - 2 < 2) {\n        uVar8 = other >> 4 & 3;\n        if (uVar8 == 2) {\n          res_19120 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_19120 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar8 == 1) {\n          res_19120 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          res_19120 = 0x414320;\n        }\n      }\n      uVar8 = other >> 6;\n      puVar6 = &res_19120;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar9 = (uVar2 & 0x8080) == 0;\n      if (bVar9) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar9) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (uVar8 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (uVar8 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (uVar8 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)res_19120 != '\0') {\n        return (char *)((long)&res_19120 + 1);\n      }\n      return (char *)&res_19120;\n    }\n  }\n  else if (uVar1 == 8) {\n    if (other == 0x20) {\n      return "MIPS PIC";\n    }\n    if (other < 0x21) {\n      if (other == 4) {\n        return "OPTIONAL";\n      }\n      if (other == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (other == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (other == 0xf0) {\n        return "MIPS16";\n      }\n      if (other == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" else (if_statement "if (uVar1 == 0x32) {\n    if ((filedata->file_header).e_ident[7] == '\r') {\n      res_19120 = res_19120 & 0xffffff00;\n      if ((filedata->file_header).e_type - 2 < 2) {\n        uVar8 = other >> 4 & 3;\n        if (uVar8 == 2) {\n          res_19120 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_19120 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar8 == 1) {\n          res_19120 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          res_19120 = 0x414320;\n        }\n      }\n      uVar8 = other >> 6;\n      puVar6 = &res_19120;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar9 = (uVar2 & 0x8080) == 0;\n      if (bVar9) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar9) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (uVar8 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (uVar8 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (uVar8 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)res_19120 != '\0') {\n        return (char *)((long)&res_19120 + 1);\n      }\n      return (char *)&res_19120;\n    }\n  }\n  else if (uVar1 == 8) {\n    if (other == 0x20) {\n      return "MIPS PIC";\n    }\n    if (other < 0x21) {\n      if (other == 4) {\n        return "OPTIONAL";\n      }\n      if (other == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (other == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (other == 0xf0) {\n        return "MIPS16";\n      }\n      if (other == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" if (parenthesized_expression "(uVar1 == 0x32)" ( (binary_expression "uVar1 == 0x32" identifier == number_literal) )) (compound_statement "{\n    if ((filedata->file_header).e_ident[7] == '\r') {\n      res_19120 = res_19120 & 0xffffff00;\n      if ((filedata->file_header).e_type - 2 < 2) {\n        uVar8 = other >> 4 & 3;\n        if (uVar8 == 2) {\n          res_19120 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_19120 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar8 == 1) {\n          res_19120 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          res_19120 = 0x414320;\n        }\n      }\n      uVar8 = other >> 6;\n      puVar6 = &res_19120;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar9 = (uVar2 & 0x8080) == 0;\n      if (bVar9) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar9) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (uVar8 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (uVar8 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (uVar8 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)res_19120 != '\0') {\n        return (char *)((long)&res_19120 + 1);\n      }\n      return (char *)&res_19120;\n    }\n  }" { (if_statement "if ((filedata->file_header).e_ident[7] == '\r') {\n      res_19120 = res_19120 & 0xffffff00;\n      if ((filedata->file_header).e_type - 2 < 2) {\n        uVar8 = other >> 4 & 3;\n        if (uVar8 == 2) {\n          res_19120 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_19120 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar8 == 1) {\n          res_19120 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          res_19120 = 0x414320;\n        }\n      }\n      uVar8 = other >> 6;\n      puVar6 = &res_19120;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar9 = (uVar2 & 0x8080) == 0;\n      if (bVar9) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar9) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (uVar8 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (uVar8 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (uVar8 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)res_19120 != '\0') {\n        return (char *)((long)&res_19120 + 1);\n      }\n      return (char *)&res_19120;\n    }" if (parenthesized_expression "((filedata->file_header).e_ident[7] == '\r')" ( (binary_expression "(filedata->file_header).e_ident[7] == '\r'" (subscript_expression "(filedata->file_header).e_ident[7]" (field_expression "(filedata->file_header).e_ident" (parenthesized_expression "(filedata->file_header)" ( (field_expression "filedata->file_header" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) == (char_literal "'\r'" ' escape_sequence ')) )) (compound_statement "{\n      res_19120 = res_19120 & 0xffffff00;\n      if ((filedata->file_header).e_type - 2 < 2) {\n        uVar8 = other >> 4 & 3;\n        if (uVar8 == 2) {\n          res_19120 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_19120 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar8 == 1) {\n          res_19120 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          res_19120 = 0x414320;\n        }\n      }\n      uVar8 = other >> 6;\n      puVar6 = &res_19120;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar9 = (uVar2 & 0x8080) == 0;\n      if (bVar9) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar9) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (uVar8 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (uVar8 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (uVar8 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)res_19120 != '\0') {\n        return (char *)((long)&res_19120 + 1);\n      }\n      return (char *)&res_19120;\n    }" { (expression_statement "res_19120 = res_19120 & 0xffffff00;" (assignment_expression "res_19120 = res_19120 & 0xffffff00" identifier = (binary_expression "res_19120 & 0xffffff00" identifier & number_literal)) ;) (if_statement "if ((filedata->file_header).e_type - 2 < 2) {\n        uVar8 = other >> 4 & 3;\n        if (uVar8 == 2) {\n          res_19120 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_19120 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar8 == 1) {\n          res_19120 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          res_19120 = 0x414320;\n        }\n      }" if (parenthesized_expression "((filedata->file_header).e_type - 2 < 2)" ( (binary_expression "(filedata->file_header).e_type - 2 < 2" (binary_expression "(filedata->file_header).e_type - 2" (field_expression "(filedata->file_header).e_type" (parenthesized_expression "(filedata->file_header)" ( (field_expression "filedata->file_header" identifier -> field_identifier) )) . field_identifier) - number_literal) < number_literal) )) (compound_statement "{\n        uVar8 = other >> 4 & 3;\n        if (uVar8 == 2) {\n          res_19120 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_19120 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar8 == 1) {\n          res_19120 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          res_19120 = 0x414320;\n        }\n      }" { (expression_statement "uVar8 = other >> 4 & 3;" (assignment_expression "uVar8 = other >> 4 & 3" identifier = (binary_expression "other >> 4 & 3" (binary_expression "other >> 4" identifier >> number_literal) & number_literal)) ;) (if_statement "if (uVar8 == 2) {\n          res_19120 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_19120 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar8 == 1) {\n          res_19120 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          res_19120 = 0x414320;\n        }" if (parenthesized_expression "(uVar8 == 2)" ( (binary_expression "uVar8 == 2" identifier == number_literal) )) (compound_statement "{\n          res_19120 = 0x444620;\n        }" { (expression_statement "res_19120 = 0x444620;" (assignment_expression "res_19120 = 0x444620" identifier = number_literal) ;) }) (else_clause "else if (uVar8 == 3) {\n          res_19120 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar8 == 1) {\n          res_19120 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          res_19120 = 0x414320;\n        }" else (if_statement "if (uVar8 == 3) {\n          res_19120 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar8 == 1) {\n          res_19120 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          res_19120 = 0x414320;\n        }" if (parenthesized_expression "(uVar8 == 3)" ( (binary_expression "uVar8 == 3" identifier == number_literal) )) (compound_statement "{\n          res_19120 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }" { (expression_statement "res_19120 = 0x56535220;" (assignment_expression "res_19120 = 0x56535220" identifier = number_literal) ;) (expression_statement "DAT_00192724._0_1_ = 0;" (assignment_expression "DAT_00192724._0_1_ = 0" (field_expression "DAT_00192724._0_1_" identifier . field_identifier) = number_literal) ;) }) (else_clause "else if (uVar8 == 1) {\n          res_19120 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          res_19120 = 0x414320;\n        }" else (if_statement "if (uVar8 == 1) {\n          res_19120 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          res_19120 = 0x414320;\n        }" if (parenthesized_expression "(uVar8 == 1)" ( (binary_expression "uVar8 == 1" identifier == number_literal) )) (compound_statement "{\n          res_19120 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }" { (expression_statement "res_19120 = 0x43455620;" (assignment_expression "res_19120 = 0x43455620" identifier = number_literal) ;) (expression_statement "DAT_00192724._0_1_ = 0;" (assignment_expression "DAT_00192724._0_1_ = 0" (field_expression "DAT_00192724._0_1_" identifier . field_identifier) = number_literal) ;) }) (else_clause "else {\n          res_19120 = 0x414320;\n        }" else (compound_statement "{\n          res_19120 = 0x414320;\n        }" { (expression_statement "res_19120 = 0x414320;" (assignment_expression "res_19120 = 0x414320" identifier = number_literal) ;) }))))))) })) (expression_statement "uVar8 = other >> 6;" (assignment_expression "uVar8 = other >> 6" identifier = (binary_expression "other >> 6" identifier >> number_literal)) ;) (expression_statement "puVar6 = &res_19120;" (assignment_expression "puVar6 = &res_19120" identifier = (pointer_expression "&res_19120" & identifier)) ;) (do_statement "do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);" do (compound_statement "{\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      }" { (expression_statement "puVar5 = puVar6;" (assignment_expression "puVar5 = puVar6" identifier = identifier) ;) (expression_statement "uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;" (assignment_expression "uVar2 = *puVar5 + 0xfefefeff & ~*puVar5" identifier = (binary_expression "*puVar5 + 0xfefefeff & ~*puVar5" (binary_expression "*puVar5 + 0xfefefeff" (pointer_expression "*puVar5" * identifier) + number_literal) & (unary_expression "~*puVar5" ~ (pointer_expression "*puVar5" * identifier)))) ;) (expression_statement "uVar3 = uVar2 & 0x80808080;" (assignment_expression "uVar3 = uVar2 & 0x80808080" identifier = (binary_expression "uVar2 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar6 = puVar5 + 1;" (assignment_expression "puVar6 = puVar5 + 1" identifier = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) ;) (expression_statement "bVar9 = (uVar2 & 0x8080) == 0;" (assignment_expression "bVar9 = (uVar2 & 0x8080) == 0" identifier = (binary_expression "(uVar2 & 0x8080) == 0" (parenthesized_expression "(uVar2 & 0x8080)" ( (binary_expression "uVar2 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar9) {\n        uVar3 = uVar3 >> 0x10;\n      }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n        uVar3 = uVar3 >> 0x10;\n      }" { (expression_statement "uVar3 = uVar3 >> 0x10;" (assignment_expression "uVar3 = uVar3 >> 0x10" identifier = (binary_expression "uVar3 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar9) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }" { (expression_statement "puVar6 = (uint *)((long)puVar5 + 6);" (assignment_expression "puVar6 = (uint *)((long)puVar5 + 6)" identifier = (cast_expression "(uint *)((long)puVar5 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar5 + 6)" ( (binary_expression "(long)puVar5 + 6" (cast_expression "(long)puVar5" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (expression_statement "puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));" (assignment_expression "puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)))" identifier = (cast_expression "(undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)))" ( (binary_expression "(long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))" (cast_expression "(long)puVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar3,(byte)uVar3)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar3,(byte)uVar3)" identifier (argument_list "((byte)uVar3,(byte)uVar3)" ( (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ))) )))) ;) (if_statement "if (uVar8 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (uVar8 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (uVar8 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" if (parenthesized_expression "(uVar8 == 2)" ( (binary_expression "uVar8 == 2" identifier == number_literal) )) (compound_statement "{\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" { (expression_statement "*puVar7 = 0x44545320;" (assignment_expression "*puVar7 = 0x44545320" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar7 + 1) = 0;" (assignment_expression "*(undefined1 *)(puVar7 + 1) = 0" (pointer_expression "*(undefined1 *)(puVar7 + 1)" * (cast_expression "(undefined1 *)(puVar7 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 1)" ( (binary_expression "puVar7 + 1" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if (uVar8 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (uVar8 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" else (if_statement "if (uVar8 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (uVar8 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" if (parenthesized_expression "(uVar8 == 3)" ( (binary_expression "uVar8 == 3" identifier == number_literal) )) (compound_statement "{\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" { (expression_statement "*puVar7 = 0x4b4e4c20;" (assignment_expression "*puVar7 = 0x4b4e4c20" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar7 + 1) = 0;" (assignment_expression "*(undefined1 *)(puVar7 + 1) = 0" (pointer_expression "*(undefined1 *)(puVar7 + 1)" * (cast_expression "(undefined1 *)(puVar7 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 1)" ( (binary_expression "puVar7 + 1" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if (uVar8 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" else (if_statement "if (uVar8 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" if (parenthesized_expression "(uVar8 == 1)" ( (binary_expression "uVar8 == 1" identifier == number_literal) )) (compound_statement "{\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" { (expression_statement "*puVar7 = 0x56535220;" (assignment_expression "*puVar7 = 0x56535220" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar7 + 1) = 0;" (assignment_expression "*(undefined1 *)(puVar7 + 1) = 0" (pointer_expression "*(undefined1 *)(puVar7 + 1)" * (cast_expression "(undefined1 *)(puVar7 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 1)" ( (binary_expression "puVar7 + 1" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" else (compound_statement "{\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" { (expression_statement "*puVar7 = 0x4e474920;" (assignment_expression "*puVar7 = 0x4e474920" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar7 + 1) = 0;" (assignment_expression "*(undefined1 *)(puVar7 + 1) = 0" (pointer_expression "*(undefined1 *)(puVar7 + 1)" * (cast_expression "(undefined1 *)(puVar7 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 1)" ( (binary_expression "puVar7 + 1" identifier + number_literal) )))) = number_literal) ;) }))))))) (if_statement "if ((char)res_19120 != '\0') {\n        return (char *)((long)&res_19120 + 1);\n      }" if (parenthesized_expression "((char)res_19120 != '\0')" ( (binary_expression "(char)res_19120 != '\0'" (cast_expression "(char)res_19120" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        return (char *)((long)&res_19120 + 1);\n      }" { (return_statement "return (char *)((long)&res_19120 + 1);" return (cast_expression "(char *)((long)&res_19120 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&res_19120 + 1)" ( (binary_expression "(long)&res_19120 + 1" (cast_expression "(long)&res_19120" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&res_19120" & identifier)) + number_literal) ))) ;) })) (return_statement "return (char *)&res_19120;" return (cast_expression "(char *)&res_19120" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&res_19120" & identifier)) ;) })) }) (else_clause "else if (uVar1 == 8) {\n    if (other == 0x20) {\n      return "MIPS PIC";\n    }\n    if (other < 0x21) {\n      if (other == 4) {\n        return "OPTIONAL";\n      }\n      if (other == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (other == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (other == 0xf0) {\n        return "MIPS16";\n      }\n      if (other == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" else (if_statement "if (uVar1 == 8) {\n    if (other == 0x20) {\n      return "MIPS PIC";\n    }\n    if (other < 0x21) {\n      if (other == 4) {\n        return "OPTIONAL";\n      }\n      if (other == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (other == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (other == 0xf0) {\n        return "MIPS16";\n      }\n      if (other == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" if (parenthesized_expression "(uVar1 == 8)" ( (binary_expression "uVar1 == 8" identifier == number_literal) )) (compound_statement "{\n    if (other == 0x20) {\n      return "MIPS PIC";\n    }\n    if (other < 0x21) {\n      if (other == 4) {\n        return "OPTIONAL";\n      }\n      if (other == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (other == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (other == 0xf0) {\n        return "MIPS16";\n      }\n      if (other == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" { (if_statement "if (other == 0x20) {\n      return "MIPS PIC";\n    }" if (parenthesized_expression "(other == 0x20)" ( (binary_expression "other == 0x20" identifier == number_literal) )) (compound_statement "{\n      return "MIPS PIC";\n    }" { (return_statement "return "MIPS PIC";" return (string_literal ""MIPS PIC"" " string_content ") ;) })) (if_statement "if (other < 0x21) {\n      if (other == 4) {\n        return "OPTIONAL";\n      }\n      if (other == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (other == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (other == 0xf0) {\n        return "MIPS16";\n      }\n      if (other == 0x80) {\n        return "MICROMIPS";\n      }\n    }" if (parenthesized_expression "(other < 0x21)" ( (binary_expression "other < 0x21" identifier < number_literal) )) (compound_statement "{\n      if (other == 4) {\n        return "OPTIONAL";\n      }\n      if (other == 8) {\n        return "MIPS PLT";\n      }\n    }" { (if_statement "if (other == 4) {\n        return "OPTIONAL";\n      }" if (parenthesized_expression "(other == 4)" ( (binary_expression "other == 4" identifier == number_literal) )) (compound_statement "{\n        return "OPTIONAL";\n      }" { (return_statement "return "OPTIONAL";" return (string_literal ""OPTIONAL"" " string_content ") ;) })) (if_statement "if (other == 8) {\n        return "MIPS PLT";\n      }" if (parenthesized_expression "(other == 8)" ( (binary_expression "other == 8" identifier == number_literal) )) (compound_statement "{\n        return "MIPS PLT";\n      }" { (return_statement "return "MIPS PLT";" return (string_literal ""MIPS PLT"" " string_content ") ;) })) }) (else_clause "else {\n      if (other == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (other == 0xf0) {\n        return "MIPS16";\n      }\n      if (other == 0x80) {\n        return "MICROMIPS";\n      }\n    }" else (compound_statement "{\n      if (other == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (other == 0xf0) {\n        return "MIPS16";\n      }\n      if (other == 0x80) {\n        return "MICROMIPS";\n      }\n    }" { (if_statement "if (other == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }" if (parenthesized_expression "(other == 0xa0)" ( (binary_expression "other == 0xa0" identifier == number_literal) )) (compound_statement "{\n        return "MICROMIPS, MIPS PIC";\n      }" { (return_statement "return "MICROMIPS, MIPS PIC";" return (string_literal ""MICROMIPS, MIPS PIC"" " string_content ") ;) })) (if_statement "if (other == 0xf0) {\n        return "MIPS16";\n      }" if (parenthesized_expression "(other == 0xf0)" ( (binary_expression "other == 0xf0" identifier == number_literal) )) (compound_statement "{\n        return "MIPS16";\n      }" { (return_statement "return "MIPS16";" return (string_literal ""MIPS16"" " string_content ") ;) })) (if_statement "if (other == 0x80) {\n        return "MICROMIPS";\n      }" if (parenthesized_expression "(other == 0x80)" ( (binary_expression "other == 0x80" identifier == number_literal) )) (compound_statement "{\n        return "MICROMIPS";\n      }" { (return_statement "return "MICROMIPS";" return (string_literal ""MICROMIPS"" " string_content ") ;) })) }))) })))))) (expression_statement "pcVar4 = (char *)dcgettext(0,"<other>: %x",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"<other>: %x",5)" identifier = (cast_expression "(char *)dcgettext(0,"<other>: %x",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<other>: %x",5)" identifier (argument_list "(0,"<other>: %x",5)" ( number_literal , (string_literal ""<other>: %x"" " string_content ") , number_literal ))))) ;) (expression_statement "snprintf(buff_19146,0x20,pcVar4,other);" (call_expression "snprintf(buff_19146,0x20,pcVar4,other)" identifier (argument_list "(buff_19146,0x20,pcVar4,other)" ( identifier , number_literal , identifier , identifier ))) ;) (return_statement "return buff_19146;" return identifier ;) })))
(translation_unit "char * FUN_00122cb0(long param_1,uint param_2)\n\n{\n  short sVar1;\n  uint uVar2;\n  uint uVar3;\n  char *pcVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  bool bVar8;\n  \n  if (param_2 == 0) {\n    return "";\n  }\n  sVar1 = *(short *)(param_1 + 0x52);\n  if (sVar1 == 0x15) {\n    uVar3 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar3 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);\n      return &DAT_00192700;\n    }\n  }\n  else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }\n  pcVar4 = (char *)dcgettext(0,"<other>: %x",5);\n  snprintf(&DAT_00192740,0x20,pcVar4,(ulong)param_2);\n  return &DAT_00192740;\n}\n\n" (function_definition "char * FUN_00122cb0(long param_1,uint param_2)\n\n{\n  short sVar1;\n  uint uVar2;\n  uint uVar3;\n  char *pcVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  bool bVar8;\n  \n  if (param_2 == 0) {\n    return "";\n  }\n  sVar1 = *(short *)(param_1 + 0x52);\n  if (sVar1 == 0x15) {\n    uVar3 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar3 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);\n      return &DAT_00192700;\n    }\n  }\n  else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }\n  pcVar4 = (char *)dcgettext(0,"<other>: %x",5);\n  snprintf(&DAT_00192740,0x20,pcVar4,(ulong)param_2);\n  return &DAT_00192740;\n}" primitive_type (pointer_declarator "* FUN_00122cb0(long param_1,uint param_2)" * (function_declarator "FUN_00122cb0(long param_1,uint param_2)" identifier (parameter_list "(long param_1,uint param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "uint param_2" type_identifier identifier) )))) (compound_statement "{\n  short sVar1;\n  uint uVar2;\n  uint uVar3;\n  char *pcVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  bool bVar8;\n  \n  if (param_2 == 0) {\n    return "";\n  }\n  sVar1 = *(short *)(param_1 + 0x52);\n  if (sVar1 == 0x15) {\n    uVar3 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar3 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);\n      return &DAT_00192700;\n    }\n  }\n  else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }\n  pcVar4 = (char *)dcgettext(0,"<other>: %x",5);\n  snprintf(&DAT_00192740,0x20,pcVar4,(ulong)param_2);\n  return &DAT_00192740;\n}" { (declaration "short sVar1;" (sized_type_specifier "short" short) identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "bool bVar8;" primitive_type identifier ;) (if_statement "if (param_2 == 0) {\n    return "";\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n    return "";\n  }" { (return_statement "return "";" return (string_literal """" " ") ;) })) (expression_statement "sVar1 = *(short *)(param_1 + 0x52);" (assignment_expression "sVar1 = *(short *)(param_1 + 0x52)" identifier = (pointer_expression "*(short *)(param_1 + 0x52)" * (cast_expression "(short *)(param_1 + 0x52)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x52)" ( (binary_expression "param_1 + 0x52" identifier + number_literal) ))))) ;) (if_statement "if (sVar1 == 0x15) {\n    uVar3 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar3 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);\n      return &DAT_00192700;\n    }\n  }\n  else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" if (parenthesized_expression "(sVar1 == 0x15)" ( (binary_expression "sVar1 == 0x15" identifier == number_literal) )) (compound_statement "{\n    uVar3 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar3 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);\n      return &DAT_00192700;\n    }\n  }" { (expression_statement "uVar3 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;" (assignment_expression "uVar3 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc" identifier = (binary_expression "1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc" (binary_expression "1 << ((byte)(param_2 >> 5) & 0x1f)" number_literal << (parenthesized_expression "((byte)(param_2 >> 5) & 0x1f)" ( (binary_expression "(byte)(param_2 >> 5) & 0x1f" (call_expression "(byte)(param_2 >> 5)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(param_2 >> 5)" ( (binary_expression "param_2 >> 5" identifier >> number_literal) ))) & number_literal) ))) & number_literal)) ;) (if_statement "if (uVar3 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);\n      return &DAT_00192700;\n    }" if (parenthesized_expression "(uVar3 != 0)" ( (binary_expression "uVar3 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);\n      return &DAT_00192700;\n    }" { (expression_statement "pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5)" identifier = (cast_expression "(char *)dcgettext(0,"<localentry>: %d",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<localentry>: %d",5)" identifier (argument_list "(0,"<localentry>: %d",5)" ( number_literal , (string_literal ""<localentry>: %d"" " string_content ") , number_literal ))))) ;) (expression_statement "snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);" (call_expression "snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3)" identifier (argument_list "(&DAT_00192700,0x20,pcVar4,(ulong)uVar3)" ( (pointer_expression "&DAT_00192700" & identifier) , number_literal , identifier , (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (return_statement "return &DAT_00192700;" return (pointer_expression "&DAT_00192700" & identifier) ;) })) }) (else_clause "else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" else (if_statement "if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" if (parenthesized_expression "(sVar1 == 0x32)" ( (binary_expression "sVar1 == 0x32" identifier == number_literal) )) (compound_statement "{\n    if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }\n  }" { (if_statement "if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x1f) == '\r')" ( (binary_expression "*(char *)(param_1 + 0x1f) == '\r'" (pointer_expression "*(char *)(param_1 + 0x1f)" * (cast_expression "(char *)(param_1 + 0x1f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) )))) == (char_literal "'\r'" ' escape_sequence ')) )) (compound_statement "{\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }" { (expression_statement "DAT_00192720 = DAT_00192720 & 0xffffff00;" (assignment_expression "DAT_00192720 = DAT_00192720 & 0xffffff00" identifier = (binary_expression "DAT_00192720 & 0xffffff00" identifier & number_literal)) ;) (if_statement "if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }" if (parenthesized_expression "(*(ushort *)(param_1 + 0x50) - 2 < 2)" ( (binary_expression "*(ushort *)(param_1 + 0x50) - 2 < 2" (binary_expression "*(ushort *)(param_1 + 0x50) - 2" (pointer_expression "*(ushort *)(param_1 + 0x50)" * (cast_expression "(ushort *)(param_1 + 0x50)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) - number_literal) < number_literal) )) (compound_statement "{\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }" { (expression_statement "uVar3 = param_2 >> 4 & 3;" (assignment_expression "uVar3 = param_2 >> 4 & 3" identifier = (binary_expression "param_2 >> 4 & 3" (binary_expression "param_2 >> 4" identifier >> number_literal) & number_literal)) ;) (if_statement "if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }" if (parenthesized_expression "(uVar3 == 2)" ( (binary_expression "uVar3 == 2" identifier == number_literal) )) (compound_statement "{\n          DAT_00192720 = 0x444620;\n        }" { (expression_statement "DAT_00192720 = 0x444620;" (assignment_expression "DAT_00192720 = 0x444620" identifier = number_literal) ;) }) (else_clause "else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }" else (if_statement "if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }" if (parenthesized_expression "(uVar3 == 3)" ( (binary_expression "uVar3 == 3" identifier == number_literal) )) (compound_statement "{\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }" { (expression_statement "DAT_00192720 = 0x56535220;" (assignment_expression "DAT_00192720 = 0x56535220" identifier = number_literal) ;) (expression_statement "DAT_00192724._0_1_ = 0;" (assignment_expression "DAT_00192724._0_1_ = 0" (field_expression "DAT_00192724._0_1_" identifier . field_identifier) = number_literal) ;) }) (else_clause "else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }" else (if_statement "if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }" if (parenthesized_expression "(uVar3 == 1)" ( (binary_expression "uVar3 == 1" identifier == number_literal) )) (compound_statement "{\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }" { (expression_statement "DAT_00192720 = 0x43455620;" (assignment_expression "DAT_00192720 = 0x43455620" identifier = number_literal) ;) (expression_statement "DAT_00192724._0_1_ = 0;" (assignment_expression "DAT_00192724._0_1_ = 0" (field_expression "DAT_00192724._0_1_" identifier . field_identifier) = number_literal) ;) }) (else_clause "else {\n          DAT_00192720 = 0x414320;\n        }" else (compound_statement "{\n          DAT_00192720 = 0x414320;\n        }" { (expression_statement "DAT_00192720 = 0x414320;" (assignment_expression "DAT_00192720 = 0x414320" identifier = number_literal) ;) }))))))) })) (expression_statement "param_2 = param_2 >> 6;" (assignment_expression "param_2 = param_2 >> 6" identifier = (binary_expression "param_2 >> 6" identifier >> number_literal)) ;) (expression_statement "puVar6 = &DAT_00192720;" (assignment_expression "puVar6 = &DAT_00192720" identifier = (pointer_expression "&DAT_00192720" & identifier)) ;) (do_statement "do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);" do (compound_statement "{\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      }" { (expression_statement "puVar5 = puVar6;" (assignment_expression "puVar5 = puVar6" identifier = identifier) ;) (expression_statement "uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;" (assignment_expression "uVar2 = *puVar5 + 0xfefefeff & ~*puVar5" identifier = (binary_expression "*puVar5 + 0xfefefeff & ~*puVar5" (binary_expression "*puVar5 + 0xfefefeff" (pointer_expression "*puVar5" * identifier) + number_literal) & (unary_expression "~*puVar5" ~ (pointer_expression "*puVar5" * identifier)))) ;) (expression_statement "uVar3 = uVar2 & 0x80808080;" (assignment_expression "uVar3 = uVar2 & 0x80808080" identifier = (binary_expression "uVar2 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar6 = puVar5 + 1;" (assignment_expression "puVar6 = puVar5 + 1" identifier = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) ;) (expression_statement "bVar8 = (uVar2 & 0x8080) == 0;" (assignment_expression "bVar8 = (uVar2 & 0x8080) == 0" identifier = (binary_expression "(uVar2 & 0x8080) == 0" (parenthesized_expression "(uVar2 & 0x8080)" ( (binary_expression "uVar2 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n        uVar3 = uVar3 >> 0x10;\n      }" { (expression_statement "uVar3 = uVar3 >> 0x10;" (assignment_expression "uVar3 = uVar3 >> 0x10" identifier = (binary_expression "uVar3 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }" { (expression_statement "puVar6 = (uint *)((long)puVar5 + 6);" (assignment_expression "puVar6 = (uint *)((long)puVar5 + 6)" identifier = (cast_expression "(uint *)((long)puVar5 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar5 + 6)" ( (binary_expression "(long)puVar5 + 6" (cast_expression "(long)puVar5" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (expression_statement "puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));" (assignment_expression "puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)))" identifier = (cast_expression "(undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)))" ( (binary_expression "(long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))" (cast_expression "(long)puVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar3,(byte)uVar3)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar3,(byte)uVar3)" identifier (argument_list "((byte)uVar3,(byte)uVar3)" ( (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ))) )))) ;) (if_statement "if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" if (parenthesized_expression "(param_2 == 2)" ( (binary_expression "param_2 == 2" identifier == number_literal) )) (compound_statement "{\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" { (expression_statement "*puVar7 = 0x44545320;" (assignment_expression "*puVar7 = 0x44545320" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar7 + 1) = 0;" (assignment_expression "*(undefined1 *)(puVar7 + 1) = 0" (pointer_expression "*(undefined1 *)(puVar7 + 1)" * (cast_expression "(undefined1 *)(puVar7 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 1)" ( (binary_expression "puVar7 + 1" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" else (if_statement "if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" if (parenthesized_expression "(param_2 == 3)" ( (binary_expression "param_2 == 3" identifier == number_literal) )) (compound_statement "{\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" { (expression_statement "*puVar7 = 0x4b4e4c20;" (assignment_expression "*puVar7 = 0x4b4e4c20" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar7 + 1) = 0;" (assignment_expression "*(undefined1 *)(puVar7 + 1) = 0" (pointer_expression "*(undefined1 *)(puVar7 + 1)" * (cast_expression "(undefined1 *)(puVar7 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 1)" ( (binary_expression "puVar7 + 1" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" else (if_statement "if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" if (parenthesized_expression "(param_2 == 1)" ( (binary_expression "param_2 == 1" identifier == number_literal) )) (compound_statement "{\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" { (expression_statement "*puVar7 = 0x56535220;" (assignment_expression "*puVar7 = 0x56535220" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar7 + 1) = 0;" (assignment_expression "*(undefined1 *)(puVar7 + 1) = 0" (pointer_expression "*(undefined1 *)(puVar7 + 1)" * (cast_expression "(undefined1 *)(puVar7 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 1)" ( (binary_expression "puVar7 + 1" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" else (compound_statement "{\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" { (expression_statement "*puVar7 = 0x4e474920;" (assignment_expression "*puVar7 = 0x4e474920" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar7 + 1) = 0;" (assignment_expression "*(undefined1 *)(puVar7 + 1) = 0" (pointer_expression "*(undefined1 *)(puVar7 + 1)" * (cast_expression "(undefined1 *)(puVar7 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 1)" ( (binary_expression "puVar7 + 1" identifier + number_literal) )))) = number_literal) ;) }))))))) (if_statement "if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }" if (parenthesized_expression "((char)DAT_00192720 != '\0')" ( (binary_expression "(char)DAT_00192720 != '\0'" (cast_expression "(char)DAT_00192720" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        return (char *)((long)&DAT_00192720 + 1);\n      }" { (return_statement "return (char *)((long)&DAT_00192720 + 1);" return (cast_expression "(char *)((long)&DAT_00192720 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_00192720 + 1)" ( (binary_expression "(long)&DAT_00192720 + 1" (cast_expression "(long)&DAT_00192720" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_00192720" & identifier)) + number_literal) ))) ;) })) (return_statement "return (char *)&DAT_00192720;" return (cast_expression "(char *)&DAT_00192720" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00192720" & identifier)) ;) })) }) (else_clause "else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" else (if_statement "if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" if (parenthesized_expression "(sVar1 == 8)" ( (binary_expression "sVar1 == 8" identifier == number_literal) )) (compound_statement "{\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" { (if_statement "if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }" if (parenthesized_expression "(param_2 == 0x20)" ( (binary_expression "param_2 == 0x20" identifier == number_literal) )) (compound_statement "{\n      return "MIPS PIC";\n    }" { (return_statement "return "MIPS PIC";" return (string_literal ""MIPS PIC"" " string_content ") ;) })) (if_statement "if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }" if (parenthesized_expression "(param_2 < 0x21)" ( (binary_expression "param_2 < 0x21" identifier < number_literal) )) (compound_statement "{\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }" { (if_statement "if (param_2 == 4) {\n        return "OPTIONAL";\n      }" if (parenthesized_expression "(param_2 == 4)" ( (binary_expression "param_2 == 4" identifier == number_literal) )) (compound_statement "{\n        return "OPTIONAL";\n      }" { (return_statement "return "OPTIONAL";" return (string_literal ""OPTIONAL"" " string_content ") ;) })) (if_statement "if (param_2 == 8) {\n        return "MIPS PLT";\n      }" if (parenthesized_expression "(param_2 == 8)" ( (binary_expression "param_2 == 8" identifier == number_literal) )) (compound_statement "{\n        return "MIPS PLT";\n      }" { (return_statement "return "MIPS PLT";" return (string_literal ""MIPS PLT"" " string_content ") ;) })) }) (else_clause "else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }" else (compound_statement "{\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }" { (if_statement "if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }" if (parenthesized_expression "(param_2 == 0xa0)" ( (binary_expression "param_2 == 0xa0" identifier == number_literal) )) (compound_statement "{\n        return "MICROMIPS, MIPS PIC";\n      }" { (return_statement "return "MICROMIPS, MIPS PIC";" return (string_literal ""MICROMIPS, MIPS PIC"" " string_content ") ;) })) (if_statement "if (param_2 == 0xf0) {\n        return "MIPS16";\n      }" if (parenthesized_expression "(param_2 == 0xf0)" ( (binary_expression "param_2 == 0xf0" identifier == number_literal) )) (compound_statement "{\n        return "MIPS16";\n      }" { (return_statement "return "MIPS16";" return (string_literal ""MIPS16"" " string_content ") ;) })) (if_statement "if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }" if (parenthesized_expression "(param_2 == 0x80)" ( (binary_expression "param_2 == 0x80" identifier == number_literal) )) (compound_statement "{\n        return "MICROMIPS";\n      }" { (return_statement "return "MICROMIPS";" return (string_literal ""MICROMIPS"" " string_content ") ;) })) }))) })))))) (expression_statement "pcVar4 = (char *)dcgettext(0,"<other>: %x",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"<other>: %x",5)" identifier = (cast_expression "(char *)dcgettext(0,"<other>: %x",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<other>: %x",5)" identifier (argument_list "(0,"<other>: %x",5)" ( number_literal , (string_literal ""<other>: %x"" " string_content ") , number_literal ))))) ;) (expression_statement "snprintf(&DAT_00192740,0x20,pcVar4,(ulong)param_2);" (call_expression "snprintf(&DAT_00192740,0x20,pcVar4,(ulong)param_2)" identifier (argument_list "(&DAT_00192740,0x20,pcVar4,(ulong)param_2)" ( (pointer_expression "&DAT_00192740" & identifier) , number_literal , identifier , (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (return_statement "return &DAT_00192740;" return (pointer_expression "&DAT_00192740" & identifier) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration (sized_type_specifier short) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (string_literal " ") ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression LIT << (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) & LIT) ))) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (return_statement return (pointer_expression & IDENT) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT >> LIT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))))))) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))))))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT)) + LIT) ))) ;) })) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (string_literal " string_content ") ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (string_literal " string_content ") ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (string_literal " string_content ") ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (string_literal " string_content ") ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (string_literal " string_content ") ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (string_literal " string_content ") ;) })) }))) })))))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (return_statement return (pointer_expression & IDENT) ;) })))
(function_definition "char * FUN_00122cb0(long param_1,uint param_2)\n\n{\n  short sVar1;\n  uint uVar2;\n  uint uVar3;\n  char *pcVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  bool bVar8;\n  \n  if (param_2 == 0) {\n    return "";\n  }\n  sVar1 = *(short *)(param_1 + 0x52);\n  if (sVar1 == 0x15) {\n    uVar3 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar3 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);\n      return &DAT_00192700;\n    }\n  }\n  else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }\n  pcVar4 = (char *)dcgettext(0,"<other>: %x",5);\n  snprintf(&DAT_00192740,0x20,pcVar4,(ulong)param_2);\n  return &DAT_00192740;\n}" (primitive_type "char") (pointer_declarator "* FUN_00122cb0(long param_1,uint param_2)" (* "*") (function_declarator "FUN_00122cb0(long param_1,uint param_2)" (identifier "FUN_00122cb0") (parameter_list "(long param_1,uint param_2)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "uint param_2" (type_identifier "uint") (identifier "param_2")) () ")")))) (compound_statement "{\n  short sVar1;\n  uint uVar2;\n  uint uVar3;\n  char *pcVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  bool bVar8;\n  \n  if (param_2 == 0) {\n    return "";\n  }\n  sVar1 = *(short *)(param_1 + 0x52);\n  if (sVar1 == 0x15) {\n    uVar3 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar3 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);\n      return &DAT_00192700;\n    }\n  }\n  else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }\n  pcVar4 = (char *)dcgettext(0,"<other>: %x",5);\n  snprintf(&DAT_00192740,0x20,pcVar4,(ulong)param_2);\n  return &DAT_00192740;\n}" ({ "{") (declaration "short sVar1;" (sized_type_specifier "short" (short "short")) (identifier "sVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "uint *puVar5;" (type_identifier "uint") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "uint *puVar6;" (type_identifier "uint") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "undefined4 *puVar7;" (type_identifier "undefined4") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "bool bVar8;" (primitive_type "bool") (identifier "bVar8") (; ";")) (if_statement "if (param_2 == 0) {\n    return "";\n  }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return "";\n  }" ({ "{") (return_statement "return "";" (return "return") (string_literal """" (" """) (" """)) (; ";")) (} "}"))) (expression_statement "sVar1 = *(short *)(param_1 + 0x52);" (assignment_expression "sVar1 = *(short *)(param_1 + 0x52)" (identifier "sVar1") (= "=") (pointer_expression "*(short *)(param_1 + 0x52)" (* "*") (cast_expression "(short *)(param_1 + 0x52)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x52)" (( "(") (binary_expression "param_1 + 0x52" (identifier "param_1") (+ "+") (number_literal "0x52")) () ")"))))) (; ";")) (if_statement "if (sVar1 == 0x15) {\n    uVar3 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar3 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);\n      return &DAT_00192700;\n    }\n  }\n  else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" (if "if") (parenthesized_expression "(sVar1 == 0x15)" (( "(") (binary_expression "sVar1 == 0x15" (identifier "sVar1") (== "==") (number_literal "0x15")) () ")")) (compound_statement "{\n    uVar3 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar3 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);\n      return &DAT_00192700;\n    }\n  }" ({ "{") (expression_statement "uVar3 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;" (assignment_expression "uVar3 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc" (identifier "uVar3") (= "=") (binary_expression "1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc" (binary_expression "1 << ((byte)(param_2 >> 5) & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)(param_2 >> 5) & 0x1f)" (( "(") (binary_expression "(byte)(param_2 >> 5) & 0x1f" (call_expression "(byte)(param_2 >> 5)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(param_2 >> 5)" (( "(") (binary_expression "param_2 >> 5" (identifier "param_2") (>> ">>") (number_literal "5")) () ")"))) (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "0xfffffffc"))) (; ";")) (if_statement "if (uVar3 != 0) {\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);\n      return &DAT_00192700;\n    }" (if "if") (parenthesized_expression "(uVar3 != 0)" (( "(") (binary_expression "uVar3 != 0" (identifier "uVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);\n      return &DAT_00192700;\n    }" ({ "{") (expression_statement "pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5)" (identifier "pcVar4") (= "=") (cast_expression "(char *)dcgettext(0,"<localentry>: %d",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"<localentry>: %d",5)" (identifier "dcgettext") (argument_list "(0,"<localentry>: %d",5)" (( "(") (number_literal "0") (, ",") (string_literal ""<localentry>: %d"" (" """) (string_content "<localentry>: %d") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);" (call_expression "snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3)" (identifier "snprintf") (argument_list "(&DAT_00192700,0x20,pcVar4,(ulong)uVar3)" (( "(") (pointer_expression "&DAT_00192700" (& "&") (identifier "DAT_00192700")) (, ",") (number_literal "0x20") (, ",") (identifier "pcVar4") (, ",") (cast_expression "(ulong)uVar3" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar3")) () ")"))) (; ";")) (return_statement "return &DAT_00192700;" (return "return") (pointer_expression "&DAT_00192700" (& "&") (identifier "DAT_00192700")) (; ";")) (} "}"))) (} "}")) (else_clause "else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" (else "else") (if_statement "if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" (if "if") (parenthesized_expression "(sVar1 == 0x32)" (( "(") (binary_expression "sVar1 == 0x32" (identifier "sVar1") (== "==") (number_literal "0x32")) () ")")) (compound_statement "{\n    if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }\n  }" ({ "{") (if_statement "if (*(char *)(param_1 + 0x1f) == '\r') {\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x1f) == '\r')" (( "(") (binary_expression "*(char *)(param_1 + 0x1f) == '\r'" (pointer_expression "*(char *)(param_1 + 0x1f)" (* "*") (cast_expression "(char *)(param_1 + 0x1f)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f)" (( "(") (binary_expression "param_1 + 0x1f" (identifier "param_1") (+ "+") (number_literal "0x1f")) () ")")))) (== "==") (char_literal "'\r'" (' "'") (escape_sequence "\r") (' "'"))) () ")")) (compound_statement "{\n      DAT_00192720 = DAT_00192720 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_00192720;\n      do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);\n      bVar8 = (uVar2 & 0x8080) == 0;\n      if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));\n      if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }\n      return (char *)&DAT_00192720;\n    }" ({ "{") (expression_statement "DAT_00192720 = DAT_00192720 & 0xffffff00;" (assignment_expression "DAT_00192720 = DAT_00192720 & 0xffffff00" (identifier "DAT_00192720") (= "=") (binary_expression "DAT_00192720 & 0xffffff00" (identifier "DAT_00192720") (& "&") (number_literal "0xffffff00"))) (; ";")) (if_statement "if (*(ushort *)(param_1 + 0x50) - 2 < 2) {\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }" (if "if") (parenthesized_expression "(*(ushort *)(param_1 + 0x50) - 2 < 2)" (( "(") (binary_expression "*(ushort *)(param_1 + 0x50) - 2 < 2" (binary_expression "*(ushort *)(param_1 + 0x50) - 2" (pointer_expression "*(ushort *)(param_1 + 0x50)" (* "*") (cast_expression "(ushort *)(param_1 + 0x50)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")")))) (- "-") (number_literal "2")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n        uVar3 = param_2 >> 4 & 3;\n        if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }\n      }" ({ "{") (expression_statement "uVar3 = param_2 >> 4 & 3;" (assignment_expression "uVar3 = param_2 >> 4 & 3" (identifier "uVar3") (= "=") (binary_expression "param_2 >> 4 & 3" (binary_expression "param_2 >> 4" (identifier "param_2") (>> ">>") (number_literal "4")) (& "&") (number_literal "3"))) (; ";")) (if_statement "if (uVar3 == 2) {\n          DAT_00192720 = 0x444620;\n        }\n        else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }" (if "if") (parenthesized_expression "(uVar3 == 2)" (( "(") (binary_expression "uVar3 == 2" (identifier "uVar3") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          DAT_00192720 = 0x444620;\n        }" ({ "{") (expression_statement "DAT_00192720 = 0x444620;" (assignment_expression "DAT_00192720 = 0x444620" (identifier "DAT_00192720") (= "=") (number_literal "0x444620")) (; ";")) (} "}")) (else_clause "else if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }" (else "else") (if_statement "if (uVar3 == 3) {\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }\n        else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }" (if "if") (parenthesized_expression "(uVar3 == 3)" (( "(") (binary_expression "uVar3 == 3" (identifier "uVar3") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n          DAT_00192720 = 0x56535220;\n          DAT_00192724._0_1_ = 0;\n        }" ({ "{") (expression_statement "DAT_00192720 = 0x56535220;" (assignment_expression "DAT_00192720 = 0x56535220" (identifier "DAT_00192720") (= "=") (number_literal "0x56535220")) (; ";")) (expression_statement "DAT_00192724._0_1_ = 0;" (assignment_expression "DAT_00192724._0_1_ = 0" (field_expression "DAT_00192724._0_1_" (identifier "DAT_00192724") (. ".") (field_identifier "_0_1_")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }" (else "else") (if_statement "if (uVar3 == 1) {\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }\n        else {\n          DAT_00192720 = 0x414320;\n        }" (if "if") (parenthesized_expression "(uVar3 == 1)" (( "(") (binary_expression "uVar3 == 1" (identifier "uVar3") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n          DAT_00192720 = 0x43455620;\n          DAT_00192724._0_1_ = 0;\n        }" ({ "{") (expression_statement "DAT_00192720 = 0x43455620;" (assignment_expression "DAT_00192720 = 0x43455620" (identifier "DAT_00192720") (= "=") (number_literal "0x43455620")) (; ";")) (expression_statement "DAT_00192724._0_1_ = 0;" (assignment_expression "DAT_00192724._0_1_ = 0" (field_expression "DAT_00192724._0_1_" (identifier "DAT_00192724") (. ".") (field_identifier "_0_1_")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          DAT_00192720 = 0x414320;\n        }" (else "else") (compound_statement "{\n          DAT_00192720 = 0x414320;\n        }" ({ "{") (expression_statement "DAT_00192720 = 0x414320;" (assignment_expression "DAT_00192720 = 0x414320" (identifier "DAT_00192720") (= "=") (number_literal "0x414320")) (; ";")) (} "}")))))))) (} "}"))) (expression_statement "param_2 = param_2 >> 6;" (assignment_expression "param_2 = param_2 >> 6" (identifier "param_2") (= "=") (binary_expression "param_2 >> 6" (identifier "param_2") (>> ">>") (number_literal "6"))) (; ";")) (expression_statement "puVar6 = &DAT_00192720;" (assignment_expression "puVar6 = &DAT_00192720" (identifier "puVar6") (= "=") (pointer_expression "&DAT_00192720" (& "&") (identifier "DAT_00192720"))) (; ";")) (do_statement "do {\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar3 == 0);" (do "do") (compound_statement "{\n        puVar5 = puVar6;\n        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar3 = uVar2 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      }" ({ "{") (expression_statement "puVar5 = puVar6;" (assignment_expression "puVar5 = puVar6" (identifier "puVar5") (= "=") (identifier "puVar6")) (; ";")) (expression_statement "uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;" (assignment_expression "uVar2 = *puVar5 + 0xfefefeff & ~*puVar5" (identifier "uVar2") (= "=") (binary_expression "*puVar5 + 0xfefefeff & ~*puVar5" (binary_expression "*puVar5 + 0xfefefeff" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (+ "+") (number_literal "0xfefefeff")) (& "&") (unary_expression "~*puVar5" (~ "~") (pointer_expression "*puVar5" (* "*") (identifier "puVar5"))))) (; ";")) (expression_statement "uVar3 = uVar2 & 0x80808080;" (assignment_expression "uVar3 = uVar2 & 0x80808080" (identifier "uVar3") (= "=") (binary_expression "uVar2 & 0x80808080" (identifier "uVar2") (& "&") (number_literal "0x80808080"))) (; ";")) (expression_statement "puVar6 = puVar5 + 1;" (assignment_expression "puVar6 = puVar5 + 1" (identifier "puVar6") (= "=") (binary_expression "puVar5 + 1" (identifier "puVar5") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar3 == 0)" (( "(") (binary_expression "uVar3 == 0" (identifier "uVar3") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar8 = (uVar2 & 0x8080) == 0;" (assignment_expression "bVar8 = (uVar2 & 0x8080) == 0" (identifier "bVar8") (= "=") (binary_expression "(uVar2 & 0x8080) == 0" (parenthesized_expression "(uVar2 & 0x8080)" (( "(") (binary_expression "uVar2 & 0x8080" (identifier "uVar2") (& "&") (number_literal "0x8080")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar8) {\n        uVar3 = uVar3 >> 0x10;\n      }" (if "if") (parenthesized_expression "(bVar8)" (( "(") (identifier "bVar8") () ")")) (compound_statement "{\n        uVar3 = uVar3 >> 0x10;\n      }" ({ "{") (expression_statement "uVar3 = uVar3 >> 0x10;" (assignment_expression "uVar3 = uVar3 >> 0x10" (identifier "uVar3") (= "=") (binary_expression "uVar3 >> 0x10" (identifier "uVar3") (>> ">>") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (bVar8) {\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }" (if "if") (parenthesized_expression "(bVar8)" (( "(") (identifier "bVar8") () ")")) (compound_statement "{\n        puVar6 = (uint *)((long)puVar5 + 6);\n      }" ({ "{") (expression_statement "puVar6 = (uint *)((long)puVar5 + 6);" (assignment_expression "puVar6 = (uint *)((long)puVar5 + 6)" (identifier "puVar6") (= "=") (cast_expression "(uint *)((long)puVar5 + 6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar5 + 6)" (( "(") (binary_expression "(long)puVar5 + 6" (cast_expression "(long)puVar5" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar5")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (} "}"))) (expression_statement "puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));" (assignment_expression "puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)))" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)))" (( "(") (binary_expression "(long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))" (cast_expression "(long)puVar6" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar6")) (+ "+") (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))" (( "(") (binary_expression "-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)" (number_literal "-3") (- "-") (cast_expression "(ulong)CARRY1((byte)uVar3,(byte)uVar3)" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (call_expression "CARRY1((byte)uVar3,(byte)uVar3)" (identifier "CARRY1") (argument_list "((byte)uVar3,(byte)uVar3)" (( "(") (cast_expression "(byte)uVar3" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar3")) (, ",") (cast_expression "(byte)uVar3" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar3")) () ")"))))) () ")"))) () ")")))) (; ";")) (if_statement "if (param_2 == 2) {\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" (if "if") (parenthesized_expression "(param_2 == 2)" (( "(") (binary_expression "param_2 == 2" (identifier "param_2") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        *puVar7 = 0x44545320;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" ({ "{") (expression_statement "*puVar7 = 0x44545320;" (assignment_expression "*puVar7 = 0x44545320" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (number_literal "0x44545320")) (; ";")) (expression_statement "*(undefined1 *)(puVar7 + 1) = 0;" (assignment_expression "*(undefined1 *)(puVar7 + 1) = 0" (pointer_expression "*(undefined1 *)(puVar7 + 1)" (* "*") (cast_expression "(undefined1 *)(puVar7 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 1)" (( "(") (binary_expression "puVar7 + 1" (identifier "puVar7") (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" (else "else") (if_statement "if (param_2 == 3) {\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" (if "if") (parenthesized_expression "(param_2 == 3)" (( "(") (binary_expression "param_2 == 3" (identifier "param_2") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n        *puVar7 = 0x4b4e4c20;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" ({ "{") (expression_statement "*puVar7 = 0x4b4e4c20;" (assignment_expression "*puVar7 = 0x4b4e4c20" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (number_literal "0x4b4e4c20")) (; ";")) (expression_statement "*(undefined1 *)(puVar7 + 1) = 0;" (assignment_expression "*(undefined1 *)(puVar7 + 1) = 0" (pointer_expression "*(undefined1 *)(puVar7 + 1)" (* "*") (cast_expression "(undefined1 *)(puVar7 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 1)" (( "(") (binary_expression "puVar7 + 1" (identifier "puVar7") (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" (else "else") (if_statement "if (param_2 == 1) {\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }\n      else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" (if "if") (parenthesized_expression "(param_2 == 1)" (( "(") (binary_expression "param_2 == 1" (identifier "param_2") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        *puVar7 = 0x56535220;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" ({ "{") (expression_statement "*puVar7 = 0x56535220;" (assignment_expression "*puVar7 = 0x56535220" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (number_literal "0x56535220")) (; ";")) (expression_statement "*(undefined1 *)(puVar7 + 1) = 0;" (assignment_expression "*(undefined1 *)(puVar7 + 1) = 0" (pointer_expression "*(undefined1 *)(puVar7 + 1)" (* "*") (cast_expression "(undefined1 *)(puVar7 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 1)" (( "(") (binary_expression "puVar7 + 1" (identifier "puVar7") (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" (else "else") (compound_statement "{\n        *puVar7 = 0x4e474920;\n        *(undefined1 *)(puVar7 + 1) = 0;\n      }" ({ "{") (expression_statement "*puVar7 = 0x4e474920;" (assignment_expression "*puVar7 = 0x4e474920" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (number_literal "0x4e474920")) (; ";")) (expression_statement "*(undefined1 *)(puVar7 + 1) = 0;" (assignment_expression "*(undefined1 *)(puVar7 + 1) = 0" (pointer_expression "*(undefined1 *)(puVar7 + 1)" (* "*") (cast_expression "(undefined1 *)(puVar7 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 1)" (( "(") (binary_expression "puVar7 + 1" (identifier "puVar7") (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")))))))) (if_statement "if ((char)DAT_00192720 != '\0') {\n        return (char *)((long)&DAT_00192720 + 1);\n      }" (if "if") (parenthesized_expression "((char)DAT_00192720 != '\0')" (( "(") (binary_expression "(char)DAT_00192720 != '\0'" (cast_expression "(char)DAT_00192720" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "DAT_00192720")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        return (char *)((long)&DAT_00192720 + 1);\n      }" ({ "{") (return_statement "return (char *)((long)&DAT_00192720 + 1);" (return "return") (cast_expression "(char *)((long)&DAT_00192720 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_00192720 + 1)" (( "(") (binary_expression "(long)&DAT_00192720 + 1" (cast_expression "(long)&DAT_00192720" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_00192720" (& "&") (identifier "DAT_00192720"))) (+ "+") (number_literal "1")) () ")"))) (; ";")) (} "}"))) (return_statement "return (char *)&DAT_00192720;" (return "return") (cast_expression "(char *)&DAT_00192720" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00192720" (& "&") (identifier "DAT_00192720"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" (else "else") (if_statement "if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" (if "if") (parenthesized_expression "(sVar1 == 8)" (( "(") (binary_expression "sVar1 == 8" (identifier "sVar1") (== "==") (number_literal "8")) () ")")) (compound_statement "{\n    if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }\n  }" ({ "{") (if_statement "if (param_2 == 0x20) {\n      return "MIPS PIC";\n    }" (if "if") (parenthesized_expression "(param_2 == 0x20)" (( "(") (binary_expression "param_2 == 0x20" (identifier "param_2") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n      return "MIPS PIC";\n    }" ({ "{") (return_statement "return "MIPS PIC";" (return "return") (string_literal ""MIPS PIC"" (" """) (string_content "MIPS PIC") (" """)) (; ";")) (} "}"))) (if_statement "if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }" (if "if") (parenthesized_expression "(param_2 < 0x21)" (( "(") (binary_expression "param_2 < 0x21" (identifier "param_2") (< "<") (number_literal "0x21")) () ")")) (compound_statement "{\n      if (param_2 == 4) {\n        return "OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return "MIPS PLT";\n      }\n    }" ({ "{") (if_statement "if (param_2 == 4) {\n        return "OPTIONAL";\n      }" (if "if") (parenthesized_expression "(param_2 == 4)" (( "(") (binary_expression "param_2 == 4" (identifier "param_2") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n        return "OPTIONAL";\n      }" ({ "{") (return_statement "return "OPTIONAL";" (return "return") (string_literal ""OPTIONAL"" (" """) (string_content "OPTIONAL") (" """)) (; ";")) (} "}"))) (if_statement "if (param_2 == 8) {\n        return "MIPS PLT";\n      }" (if "if") (parenthesized_expression "(param_2 == 8)" (( "(") (binary_expression "param_2 == 8" (identifier "param_2") (== "==") (number_literal "8")) () ")")) (compound_statement "{\n        return "MIPS PLT";\n      }" ({ "{") (return_statement "return "MIPS PLT";" (return "return") (string_literal ""MIPS PLT"" (" """) (string_content "MIPS PLT") (" """)) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }" (else "else") (compound_statement "{\n      if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return "MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }\n    }" ({ "{") (if_statement "if (param_2 == 0xa0) {\n        return "MICROMIPS, MIPS PIC";\n      }" (if "if") (parenthesized_expression "(param_2 == 0xa0)" (( "(") (binary_expression "param_2 == 0xa0" (identifier "param_2") (== "==") (number_literal "0xa0")) () ")")) (compound_statement "{\n        return "MICROMIPS, MIPS PIC";\n      }" ({ "{") (return_statement "return "MICROMIPS, MIPS PIC";" (return "return") (string_literal ""MICROMIPS, MIPS PIC"" (" """) (string_content "MICROMIPS, MIPS PIC") (" """)) (; ";")) (} "}"))) (if_statement "if (param_2 == 0xf0) {\n        return "MIPS16";\n      }" (if "if") (parenthesized_expression "(param_2 == 0xf0)" (( "(") (binary_expression "param_2 == 0xf0" (identifier "param_2") (== "==") (number_literal "0xf0")) () ")")) (compound_statement "{\n        return "MIPS16";\n      }" ({ "{") (return_statement "return "MIPS16";" (return "return") (string_literal ""MIPS16"" (" """) (string_content "MIPS16") (" """)) (; ";")) (} "}"))) (if_statement "if (param_2 == 0x80) {\n        return "MICROMIPS";\n      }" (if "if") (parenthesized_expression "(param_2 == 0x80)" (( "(") (binary_expression "param_2 == 0x80" (identifier "param_2") (== "==") (number_literal "0x80")) () ")")) (compound_statement "{\n        return "MICROMIPS";\n      }" ({ "{") (return_statement "return "MICROMIPS";" (return "return") (string_literal ""MICROMIPS"" (" """) (string_content "MICROMIPS") (" """)) (; ";")) (} "}"))) (} "}")))) (} "}"))))))) (expression_statement "pcVar4 = (char *)dcgettext(0,"<other>: %x",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"<other>: %x",5)" (identifier "pcVar4") (= "=") (cast_expression "(char *)dcgettext(0,"<other>: %x",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"<other>: %x",5)" (identifier "dcgettext") (argument_list "(0,"<other>: %x",5)" (( "(") (number_literal "0") (, ",") (string_literal ""<other>: %x"" (" """) (string_content "<other>: %x") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "snprintf(&DAT_00192740,0x20,pcVar4,(ulong)param_2);" (call_expression "snprintf(&DAT_00192740,0x20,pcVar4,(ulong)param_2)" (identifier "snprintf") (argument_list "(&DAT_00192740,0x20,pcVar4,(ulong)param_2)" (( "(") (pointer_expression "&DAT_00192740" (& "&") (identifier "DAT_00192740")) (, ",") (number_literal "0x20") (, ",") (identifier "pcVar4") (, ",") (cast_expression "(ulong)param_2" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_2")) () ")"))) (; ";")) (return_statement "return &DAT_00192740;" (return "return") (pointer_expression "&DAT_00192740" (& "&") (identifier "DAT_00192740")) (; ";")) (} "}")))

char * function_1(type_1 *filedata,type_2 var_1)

{
  type_3 var_2;
  type_2 var_7;
  type_2 var_9;
  char *pcVar4;
  type_2 *var_8;
  type_2 *puVar6;
  type_4 *var_11;
  type_2 var_3;
  bool bVar9;
  
  if (var_1 == 0) {
    return "";
  }
  var_2 = (filedata->file_header).e_machine;
  if (var_2 == 0x15) {
    var_3 = 1 << ((type_6)(var_1 >> 5) & 0x1f) & 0xfffffffc;
    if (var_3 != 0) {
      pcVar4 = (char *)var_4(0,"<localentry>: %d",5);
      var_5(buf_19140,0x20,pcVar4,(type_5)var_3);
      return buf_19140;
    }
  }
  else if (var_2 == 0x32) {
    if ((filedata->file_header).e_ident[7] == '\r') {
      var_6 = var_6 & 0xffffff00;
      if ((filedata->file_header).e_type - 2 < 2) {
        var_3 = var_1 >> 4 & 3;
        if (var_3 == 2) {
          var_6 = 0x444620;
        }
        else if (var_3 == 3) {
          var_6 = 0x56535220;
          DAT_00192724._0_1_ = 0;
        }
        else if (var_3 == 1) {
          var_6 = 0x43455620;
          DAT_00192724._0_1_ = 0;
        }
        else {
          var_6 = 0x414320;
        }
      }
      var_3 = var_1 >> 6;
      puVar6 = &var_6;
      do {
        var_8 = puVar6;
        var_7 = *var_8 + 0xfefefeff & ~*var_8;
        var_9 = var_7 & 0x80808080;
        puVar6 = var_8 + 1;
      } while (var_9 == 0);
      bVar9 = (var_7 & 0x8080) == 0;
      if (bVar9) {
        var_9 = var_9 >> 0x10;
      }
      if (bVar9) {
        puVar6 = (type_2 *)((long)var_8 + 6);
      }
      var_11 = (type_4 *)((long)puVar6 + (-3 - (type_5)var_10((type_6)var_9,(type_6)var_9)));
      if (var_3 == 2) {
        *var_11 = 0x44545320;
        *(type_7 *)(var_11 + 1) = 0;
      }
      else if (var_3 == 3) {
        *var_11 = 0x4b4e4c20;
        *(type_7 *)(var_11 + 1) = 0;
      }
      else if (var_3 == 1) {
        *var_11 = 0x56535220;
        *(type_7 *)(var_11 + 1) = 0;
      }
      else {
        *var_11 = 0x4e474920;
        *(type_7 *)(var_11 + 1) = 0;
      }
      if ((char)var_6 != '\0') {
        return (char *)((long)&var_6 + 1);
      }
      return (char *)&var_6;
    }
  }
  else if (var_2 == 8) {
    if (var_1 == 0x20) {
      return "MIPS PIC";
    }
    if (var_1 < 0x21) {
      if (var_1 == 4) {
        return "OPTIONAL";
      }
      if (var_1 == 8) {
        return "MIPS PLT";
      }
    }
    else {
      if (var_1 == 0xa0) {
        return "MICROMIPS, MIPS PIC";
      }
      if (var_1 == 0xf0) {
        return "MIPS16";
      }
      if (var_1 == 0x80) {
        return "MICROMIPS";
      }
    }
  }
  pcVar4 = (char *)var_4(0,"<other>: %x",5);
  var_5(buff_19146,0x20,pcVar4,var_1);
  return buff_19146;
}


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

char * MASKED(long param_1,uint param_2)

{
  short sVar1;
  uint uVar2;
  uint uVar3;
  char *pcVar4;
  uint *puVar5;
  uint *puVar6;
  undefined4 *puVar7;
  bool bVar8;
  
  if (param_2 == 0) {
    return "";
  }
  sVar1 = *(short *)(param_1 + 0x52);
  if (sVar1 == 0x15) {
    uVar3 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;
    if (uVar3 != 0) {
      pcVar4 = (char *)dcgettext(0,"<localentry>: %d",5);
      snprintf(&DAT_00192700,0x20,pcVar4,(ulong)uVar3);
      return &DAT_00192700;
    }
  }
  else if (sVar1 == 0x32) {
    if (*(char *)(param_1 + 0x1f) == '\r') {
      DAT_00192720 = DAT_00192720 & 0xffffff00;
      if (*(ushort *)(param_1 + 0x50) - 2 < 2) {
        uVar3 = param_2 >> 4 & 3;
        if (uVar3 == 2) {
          DAT_00192720 = 0x444620;
        }
        else if (uVar3 == 3) {
          DAT_00192720 = 0x56535220;
          DAT_00192724._0_1_ = 0;
        }
        else if (uVar3 == 1) {
          DAT_00192720 = 0x43455620;
          DAT_00192724._0_1_ = 0;
        }
        else {
          DAT_00192720 = 0x414320;
        }
      }
      param_2 = param_2 >> 6;
      puVar6 = &DAT_00192720;
      do {
        puVar5 = puVar6;
        uVar2 = *puVar5 + 0xfefefeff & ~*puVar5;
        uVar3 = uVar2 & 0x80808080;
        puVar6 = puVar5 + 1;
      } while (uVar3 == 0);
      bVar8 = (uVar2 & 0x8080) == 0;
      if (bVar8) {
        uVar3 = uVar3 >> 0x10;
      }
      if (bVar8) {
        puVar6 = (uint *)((long)puVar5 + 6);
      }
      puVar7 = (undefined4 *)((long)puVar6 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)));
      if (param_2 == 2) {
        *puVar7 = 0x44545320;
        *(undefined1 *)(puVar7 + 1) = 0;
      }
      else if (param_2 == 3) {
        *puVar7 = 0x4b4e4c20;
        *(undefined1 *)(puVar7 + 1) = 0;
      }
      else if (param_2 == 1) {
        *puVar7 = 0x56535220;
        *(undefined1 *)(puVar7 + 1) = 0;
      }
      else {
        *puVar7 = 0x4e474920;
        *(undefined1 *)(puVar7 + 1) = 0;
      }
      if ((char)DAT_00192720 != '\0') {
        return (char *)((long)&DAT_00192720 + 1);
      }
      return (char *)&DAT_00192720;
    }
  }
  else if (sVar1 == 8) {
    if (param_2 == 0x20) {
      return "MIPS PIC";
    }
    if (param_2 < 0x21) {
      if (param_2 == 4) {
        return "OPTIONAL";
      }
      if (param_2 == 8) {
        return "MIPS PLT";
      }
    }
    else {
      if (param_2 == 0xa0) {
        return "MICROMIPS, MIPS PIC";
      }
      if (param_2 == 0xf0) {
        return "MIPS16";
      }
      if (param_2 == 0x80) {
        return "MICROMIPS";
      }
    }
  }
  pcVar4 = (char *)dcgettext(0,"<other>: %x",5);
  snprintf(&DAT_00192740,0x20,pcVar4,(ulong)param_2);
  return &DAT_00192740;
}

