
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

char * __regparm3 get_symbol_other(Filedata *filedata,uint other)

{
  ushort uVar1;
  char *pcVar2;
  uint uVar3;
  uint uVar4;
  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) {
      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);
      snprintf(buf_18719,0x20,pcVar2,uVar8);
      return buf_18719;
    }
  }
  else if (uVar1 == 0x32) {
    if ((filedata->file_header).e_ident[7] == '\r') {
      res_18699 = res_18699 & 0xffffff00;
      if ((filedata->file_header).e_type - 2 < 2) {
        uVar8 = other >> 4 & 3;
        if (uVar8 == 2) {
          res_18699 = 0x444620;
        }
        else if (uVar8 == 3) {
          res_18699 = 0x56535220;
          DAT_000b5644 = 0;
        }
        else if (uVar8 == 1) {
          res_18699 = 0x43455620;
          DAT_000b5644 = 0;
        }
        else {
          res_18699 = 0x414320;
        }
      }
      uVar8 = other >> 6;
      puVar6 = &res_18699;
      do {
        puVar5 = puVar6;
        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;
        uVar4 = uVar3 & 0x80808080;
        puVar6 = puVar5 + 1;
      } while (uVar4 == 0);
      bVar9 = (uVar3 & 0x8080) == 0;
      if (bVar9) {
        uVar4 = uVar4 >> 0x10;
      }
      if (bVar9) {
        puVar6 = (uint *)((int)puVar5 + 6);
      }
      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));
      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_18699 != '\0') {
        return (char *)((int)&res_18699 + 1);
      }
      return (char *)&res_18699;
    }
  }
  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";
      }
    }
  }
  pcVar2 = (char *)dcgettext(0,"<other>: %x",5);
  snprintf(buff_18725,0x20,pcVar2,other);
  return buff_18725;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

uint * __regparm3 FUN_00032810(int param_1,uint param_2)

{
  short sVar1;
  char *pcVar2;
  uint uVar3;
  uint uVar4;
  uint *puVar5;
  uint *puVar6;
  undefined4 *puVar7;
  bool bVar8;
  
  if (param_2 == 0) {
    return (uint *)&DAT_0007bc55;
  }
  sVar1 = *(short *)(param_1 + 0x42);
  if (sVar1 == 0x15) {
    uVar4 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;
    if (uVar4 != 0) {
      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);
      snprintf(&DAT_000b5620,0x20,pcVar2,uVar4);
      return (uint *)&DAT_000b5620;
    }
  }
  else if (sVar1 == 0x32) {
    if (*(char *)(param_1 + 0x17) == '\r') {
      DAT_000b5640 = DAT_000b5640 & 0xffffff00;
      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {
        uVar4 = param_2 >> 4 & 3;
        if (uVar4 == 2) {
          DAT_000b5640 = 0x444620;
        }
        else if (uVar4 == 3) {
          DAT_000b5640 = 0x56535220;
          DAT_000b5644 = 0;
        }
        else if (uVar4 == 1) {
          DAT_000b5640 = 0x43455620;
          DAT_000b5644 = 0;
        }
        else {
          DAT_000b5640 = 0x414320;
        }
      }
      param_2 = param_2 >> 6;
      puVar6 = &DAT_000b5640;
      do {
        puVar5 = puVar6;
        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;
        uVar4 = uVar3 & 0x80808080;
        puVar6 = puVar5 + 1;
      } while (uVar4 == 0);
      bVar8 = (uVar3 & 0x8080) == 0;
      if (bVar8) {
        uVar4 = uVar4 >> 0x10;
      }
      if (bVar8) {
        puVar6 = (uint *)((int)puVar5 + 6);
      }
      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));
      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_000b5640 != '\0') {
        return (uint *)((int)&DAT_000b5640 + 1);
      }
      return &DAT_000b5640;
    }
  }
  else if (sVar1 == 8) {
    if (param_2 == 0x20) {
      return (uint *)0x7bb72;
    }
    if (param_2 < 0x21) {
      if (param_2 == 4) {
        return (uint *)"OPTIONAL";
      }
      if (param_2 == 8) {
        return (uint *)"MIPS PLT";
      }
    }
    else {
      if (param_2 == 0xa0) {
        return (uint *)"MICROMIPS, MIPS PIC";
      }
      if (param_2 == 0xf0) {
        return (uint *)"MIPS16";
      }
      if (param_2 == 0x80) {
        return (uint *)"MICROMIPS";
      }
    }
  }
  pcVar2 = (char *)dcgettext(0,"<other>: %x",5);
  snprintf(&DAT_000b5660,0x20,pcVar2,param_2);
  return (uint *)&DAT_000b5660;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00013f70
ADD EBX,0x817e7
SUB ESP,0xc
TEST EDX,EDX
JZ 0x00032880
MOV ESI,EDX
MOVZX EDX,word ptr [EAX + 0x42]
CMP DX,0x15
JZ 0x00032978
CMP DX,0x32
JZ 0x00032890
CMP DX,0x8
JZ 0x00032928
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc7b8c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
PUSH ESI
LEA ESI,[EBX + 0x1660]
PUSH EAX
PUSH 0x20
PUSH ESI
CALL 0x000132c0
ADD ESP,0x20
MOV EAX,ESI
ADD ESP,0xc
POP EBX
POP ESI
POP EDI
POP EBP
RET
ADD ESP,0xc
LEA EAX,[EBX + 0xfffc7c55]
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP byte ptr [EAX + 0x17],0xd
JNZ 0x00032846
MOVZX EAX,word ptr [EAX + 0x40]
MOV byte ptr [EBX + 0x1640],0x0
SUB EAX,0x2
CMP EAX,0x1
JBE 0x000329e6
LEA EBP,[EBX + 0x1640]
SHR ESI,0x6
MOV ECX,EBP
MOV EDI,dword ptr [ECX]
ADD ECX,0x4
LEA EAX,[EDI + 0xfefefeff]
NOT EDI
AND EAX,EDI
AND EAX,0x80808080
JZ 0x000328b8
MOV EDI,EAX
SHR EDI,0x10
TEST EAX,0x8080
CMOVZ EAX,EDI
LEA EDI,[ECX + 0x2]
CMOVZ ECX,EDI
MOV EDX,EAX
ADD DL,AL
SBB ECX,0x3
CMP ESI,0x2
JZ 0x00032a2a
CMP ESI,0x3
JZ 0x00032a1b
CMP ESI,0x1
JZ 0x00032a39
MOV dword ptr [ECX],0x4e474920
MOV byte ptr [ECX + 0x4],0x0
LEA EAX,[EBX + 0x1641]
CMP byte ptr [EBX + 0x1640],0x0
CMOVZ EAX,EBP
JMP 0x0003286e
CMP ESI,0x20
JZ 0x00032a10
JBE 0x000329c0
LEA EAX,[EBX + 0xfffc7b67]
CMP ESI,0xa0
JZ 0x0003286e
LEA EAX,[EBX + 0xfffc7b60]
CMP ESI,0xf0
JZ 0x0003286e
LEA EAX,[EBX + 0xfffc7b44]
CMP ESI,0x80
JNZ 0x00032846
JMP 0x0003286e
MOV ECX,ESI
MOV EAX,0x1
SHR ECX,0x5
SHL EAX,CL
AND EAX,0xfffffffc
MOV EDI,EAX
JZ 0x00032846
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc7b7b]
LEA ESI,[EBX + 0x1620]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
PUSH EDI
PUSH EAX
PUSH 0x20
PUSH ESI
CALL 0x000132c0
ADD ESP,0x20
MOV EAX,ESI
JMP 0x0003286e
LEA EAX,[EBX + 0xfffc7b4e]
CMP ESI,0x4
JZ 0x0003286e
LEA EAX,[EBX + 0xfffc7b57]
CMP ESI,0x8
JNZ 0x00032846
ADD ESP,0xc
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,ESI
SHR EAX,0x4
AND EAX,0x3
CMP EAX,0x2
JZ 0x00032a74
CMP EAX,0x3
JZ 0x00032a5e
CMP EAX,0x1
JZ 0x00032a48
MOV dword ptr [EBX + 0x1640],0x414320
JMP 0x000328ad
LEA EAX,[EBX + 0xfffc7b72]
JMP 0x0003286e
MOV dword ptr [ECX],0x4b4e4c20
MOV byte ptr [ECX + 0x4],0x0
JMP 0x0003290d
MOV dword ptr [ECX],0x44545320
MOV byte ptr [ECX + 0x4],0x0
JMP 0x0003290d
MOV dword ptr [ECX],0x56535220
MOV byte ptr [ECX + 0x4],0x0
JMP 0x0003290d
MOV dword ptr [EBX + 0x1640],0x43455620
MOV byte ptr [EBX + 0x1644],0x0
JMP 0x000328ad
MOV dword ptr [EBX + 0x1640],0x56535220
MOV byte ptr [EBX + 0x1644],0x0
JMP 0x000328ad
MOV dword ptr [EBX + 0x1640],0x444620
JMP 0x000328ad
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nuint * __regparm3 FUN_00032810(int param_1,uint param_2)\n\n{\n  short sVar1;\n  char *pcVar2;\n  uint uVar3;\n  uint uVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  bool bVar8;\n  \n  if (param_2 == 0) {\n    return (uint *)&DAT_0007bc55;\n  }\n  sVar1 = *(short *)(param_1 + 0x42);\n  if (sVar1 == 0x15) {\n    uVar4 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar4 != 0) {\n      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_000b5620,0x20,pcVar2,uVar4);\n      return (uint *)&DAT_000b5620;\n    }\n  }\n  else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x17) == '\r') {\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }\n  }\n  pcVar2 = (char *)dcgettext(0,"<other>: %x",5);\n  snprintf(&DAT_000b5660,0x20,pcVar2,param_2);\n  return (uint *)&DAT_000b5660;\n}\n\n" comment (ERROR "uint * __regparm3 FUN_00032810(int param_1,uint param_2)" (binary_expression "uint * __regparm3 FUN_00032810(int param_1,uint param_2)" identifier * (ERROR "__regparm3" identifier) (call_expression "FUN_00032810(int param_1,uint param_2)" identifier (argument_list "(int param_1,uint param_2)" ( (ERROR "int" identifier) identifier , (ERROR "uint" identifier) identifier ))))) (compound_statement "{\n  short sVar1;\n  char *pcVar2;\n  uint uVar3;\n  uint uVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  bool bVar8;\n  \n  if (param_2 == 0) {\n    return (uint *)&DAT_0007bc55;\n  }\n  sVar1 = *(short *)(param_1 + 0x42);\n  if (sVar1 == 0x15) {\n    uVar4 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar4 != 0) {\n      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_000b5620,0x20,pcVar2,uVar4);\n      return (uint *)&DAT_000b5620;\n    }\n  }\n  else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x17) == '\r') {\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }\n  }\n  pcVar2 = (char *)dcgettext(0,"<other>: %x",5);\n  snprintf(&DAT_000b5660,0x20,pcVar2,param_2);\n  return (uint *)&DAT_000b5660;\n}" { (declaration "short sVar1;" (sized_type_specifier "short" short) identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier 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 (uint *)&DAT_0007bc55;\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n    return (uint *)&DAT_0007bc55;\n  }" { (return_statement "return (uint *)&DAT_0007bc55;" return (cast_expression "(uint *)&DAT_0007bc55" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0007bc55" & identifier)) ;) })) (expression_statement "sVar1 = *(short *)(param_1 + 0x42);" (assignment_expression "sVar1 = *(short *)(param_1 + 0x42)" identifier = (pointer_expression "*(short *)(param_1 + 0x42)" * (cast_expression "(short *)(param_1 + 0x42)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x42)" ( (binary_expression "param_1 + 0x42" identifier + number_literal) ))))) ;) (if_statement "if (sVar1 == 0x15) {\n    uVar4 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar4 != 0) {\n      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_000b5620,0x20,pcVar2,uVar4);\n      return (uint *)&DAT_000b5620;\n    }\n  }\n  else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x17) == '\r') {\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }\n  }" if (parenthesized_expression "(sVar1 == 0x15)" ( (binary_expression "sVar1 == 0x15" identifier == number_literal) )) (compound_statement "{\n    uVar4 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar4 != 0) {\n      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_000b5620,0x20,pcVar2,uVar4);\n      return (uint *)&DAT_000b5620;\n    }\n  }" { (expression_statement "uVar4 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;" (assignment_expression "uVar4 = 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 (uVar4 != 0) {\n      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_000b5620,0x20,pcVar2,uVar4);\n      return (uint *)&DAT_000b5620;\n    }" if (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_000b5620,0x20,pcVar2,uVar4);\n      return (uint *)&DAT_000b5620;\n    }" { (expression_statement "pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);" (assignment_expression "pcVar2 = (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_000b5620,0x20,pcVar2,uVar4);" (call_expression "snprintf(&DAT_000b5620,0x20,pcVar2,uVar4)" identifier (argument_list "(&DAT_000b5620,0x20,pcVar2,uVar4)" ( (pointer_expression "&DAT_000b5620" & identifier) , number_literal , identifier , identifier ))) ;) (return_statement "return (uint *)&DAT_000b5620;" return (cast_expression "(uint *)&DAT_000b5620" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000b5620" & identifier)) ;) })) }) (else_clause "else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x17) == '\r') {\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }\n  }" else (if_statement "if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x17) == '\r') {\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }\n  }" if (parenthesized_expression "(sVar1 == 0x32)" ( (binary_expression "sVar1 == 0x32" identifier == number_literal) )) (compound_statement "{\n    if (*(char *)(param_1 + 0x17) == '\r') {\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }\n  }" { (if_statement "if (*(char *)(param_1 + 0x17) == '\r') {\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x17) == '\r')" ( (binary_expression "*(char *)(param_1 + 0x17) == '\r'" (pointer_expression "*(char *)(param_1 + 0x17)" * (cast_expression "(char *)(param_1 + 0x17)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x17)" ( (binary_expression "param_1 + 0x17" identifier + number_literal) )))) == (char_literal "'\r'" ' escape_sequence ')) )) (compound_statement "{\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }" { (expression_statement "DAT_000b5640 = DAT_000b5640 & 0xffffff00;" (assignment_expression "DAT_000b5640 = DAT_000b5640 & 0xffffff00" identifier = (binary_expression "DAT_000b5640 & 0xffffff00" identifier & number_literal)) ;) (if_statement "if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }" if (parenthesized_expression "(*(ushort *)(param_1 + 0x40) - 2 < 2)" ( (binary_expression "*(ushort *)(param_1 + 0x40) - 2 < 2" (binary_expression "*(ushort *)(param_1 + 0x40) - 2" (pointer_expression "*(ushort *)(param_1 + 0x40)" * (cast_expression "(ushort *)(param_1 + 0x40)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) - number_literal) < number_literal) )) (compound_statement "{\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }" { (expression_statement "uVar4 = param_2 >> 4 & 3;" (assignment_expression "uVar4 = param_2 >> 4 & 3" identifier = (binary_expression "param_2 >> 4 & 3" (binary_expression "param_2 >> 4" identifier >> number_literal) & number_literal)) ;) (if_statement "if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }" if (parenthesized_expression "(uVar4 == 2)" ( (binary_expression "uVar4 == 2" identifier == number_literal) )) (compound_statement "{\n          DAT_000b5640 = 0x444620;\n        }" { (expression_statement "DAT_000b5640 = 0x444620;" (assignment_expression "DAT_000b5640 = 0x444620" identifier = number_literal) ;) }) (else_clause "else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }" else (if_statement "if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }" if (parenthesized_expression "(uVar4 == 3)" ( (binary_expression "uVar4 == 3" identifier == number_literal) )) (compound_statement "{\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }" { (expression_statement "DAT_000b5640 = 0x56535220;" (assignment_expression "DAT_000b5640 = 0x56535220" identifier = number_literal) ;) (expression_statement "DAT_000b5644 = 0;" (assignment_expression "DAT_000b5644 = 0" identifier = number_literal) ;) }) (else_clause "else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }" else (if_statement "if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }" if (parenthesized_expression "(uVar4 == 1)" ( (binary_expression "uVar4 == 1" identifier == number_literal) )) (compound_statement "{\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }" { (expression_statement "DAT_000b5640 = 0x43455620;" (assignment_expression "DAT_000b5640 = 0x43455620" identifier = number_literal) ;) (expression_statement "DAT_000b5644 = 0;" (assignment_expression "DAT_000b5644 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          DAT_000b5640 = 0x414320;\n        }" else (compound_statement "{\n          DAT_000b5640 = 0x414320;\n        }" { (expression_statement "DAT_000b5640 = 0x414320;" (assignment_expression "DAT_000b5640 = 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_000b5640;" (assignment_expression "puVar6 = &DAT_000b5640" identifier = (pointer_expression "&DAT_000b5640" & identifier)) ;) (do_statement "do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);" do (compound_statement "{\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      }" { (expression_statement "puVar5 = puVar6;" (assignment_expression "puVar5 = puVar6" identifier = identifier) ;) (expression_statement "uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;" (assignment_expression "uVar3 = *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 "uVar4 = uVar3 & 0x80808080;" (assignment_expression "uVar4 = uVar3 & 0x80808080" identifier = (binary_expression "uVar3 & 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 "(uVar4 == 0)" ( (binary_expression "uVar4 == 0" identifier == number_literal) )) ;) (expression_statement "bVar8 = (uVar3 & 0x8080) == 0;" (assignment_expression "bVar8 = (uVar3 & 0x8080) == 0" identifier = (binary_expression "(uVar3 & 0x8080) == 0" (parenthesized_expression "(uVar3 & 0x8080)" ( (binary_expression "uVar3 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n        uVar4 = uVar4 >> 0x10;\n      }" { (expression_statement "uVar4 = uVar4 >> 0x10;" (assignment_expression "uVar4 = uVar4 >> 0x10" identifier = (binary_expression "uVar4 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }" { (expression_statement "puVar6 = (uint *)((int)puVar5 + 6);" (assignment_expression "puVar6 = (uint *)((int)puVar5 + 6)" identifier = (cast_expression "(uint *)((int)puVar5 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + 6)" ( (binary_expression "(int)puVar5 + 6" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));" (assignment_expression "puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)))" identifier = (cast_expression "(undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)))" ( (binary_expression "(int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4))" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4))" ( (binary_expression "-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)" number_literal - (cast_expression "(uint)CARRY1((byte)uVar4,(byte)uVar4)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar4,(byte)uVar4)" identifier (argument_list "((byte)uVar4,(byte)uVar4)" ( (cast_expression "(byte)uVar4" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar4" ( (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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }" if (parenthesized_expression "((char)DAT_000b5640 != '\0')" ( (binary_expression "(char)DAT_000b5640 != '\0'" (cast_expression "(char)DAT_000b5640" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }" { (return_statement "return (uint *)((int)&DAT_000b5640 + 1);" return (cast_expression "(uint *)((int)&DAT_000b5640 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_000b5640 + 1)" ( (binary_expression "(int)&DAT_000b5640 + 1" (cast_expression "(int)&DAT_000b5640" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_000b5640" & identifier)) + number_literal) ))) ;) })) (return_statement "return &DAT_000b5640;" return (pointer_expression "&DAT_000b5640" & identifier) ;) })) }) (else_clause "else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }\n  }" else (if_statement "if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"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 (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }\n  }" { (if_statement "if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }" if (parenthesized_expression "(param_2 == 0x20)" ( (binary_expression "param_2 == 0x20" identifier == number_literal) )) (compound_statement "{\n      return (uint *)0x7bb72;\n    }" { (return_statement "return (uint *)0x7bb72;" return (cast_expression "(uint *)0x7bb72" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"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 (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }" { (if_statement "if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }" if (parenthesized_expression "(param_2 == 4)" ( (binary_expression "param_2 == 4" identifier == number_literal) )) (compound_statement "{\n        return (uint *)"OPTIONAL";\n      }" { (return_statement "return (uint *)"OPTIONAL";" return (cast_expression "(uint *)"OPTIONAL"" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""OPTIONAL"" " string_content ")) ;) })) (if_statement "if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }" if (parenthesized_expression "(param_2 == 8)" ( (binary_expression "param_2 == 8" identifier == number_literal) )) (compound_statement "{\n        return (uint *)"MIPS PLT";\n      }" { (return_statement "return (uint *)"MIPS PLT";" return (cast_expression "(uint *)"MIPS PLT"" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""MIPS PLT"" " string_content ")) ;) })) }) (else_clause "else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }" else (compound_statement "{\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }" { (if_statement "if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }" if (parenthesized_expression "(param_2 == 0xa0)" ( (binary_expression "param_2 == 0xa0" identifier == number_literal) )) (compound_statement "{\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }" { (return_statement "return (uint *)"MICROMIPS, MIPS PIC";" return (cast_expression "(uint *)"MICROMIPS, MIPS PIC"" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""MICROMIPS, MIPS PIC"" " string_content ")) ;) })) (if_statement "if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }" if (parenthesized_expression "(param_2 == 0xf0)" ( (binary_expression "param_2 == 0xf0" identifier == number_literal) )) (compound_statement "{\n        return (uint *)"MIPS16";\n      }" { (return_statement "return (uint *)"MIPS16";" return (cast_expression "(uint *)"MIPS16"" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""MIPS16"" " string_content ")) ;) })) (if_statement "if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }" if (parenthesized_expression "(param_2 == 0x80)" ( (binary_expression "param_2 == 0x80" identifier == number_literal) )) (compound_statement "{\n        return (uint *)"MICROMIPS";\n      }" { (return_statement "return (uint *)"MICROMIPS";" return (cast_expression "(uint *)"MICROMIPS"" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""MICROMIPS"" " string_content ")) ;) })) }))) })))))) (expression_statement "pcVar2 = (char *)dcgettext(0,"<other>: %x",5);" (assignment_expression "pcVar2 = (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_000b5660,0x20,pcVar2,param_2);" (call_expression "snprintf(&DAT_000b5660,0x20,pcVar2,param_2)" identifier (argument_list "(&DAT_000b5660,0x20,pcVar2,param_2)" ( (pointer_expression "&DAT_000b5660" & identifier) , number_literal , identifier , identifier ))) ;) (return_statement "return (uint *)&DAT_000b5660;" return (cast_expression "(uint *)&DAT_000b5660" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000b5660" & identifier)) ;) }))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nchar * __regparm3 get_symbol_other(Filedata *filedata,uint other)\n\n{\n  ushort uVar1;\n  char *pcVar2;\n  uint uVar3;\n  uint uVar4;\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      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(buf_18719,0x20,pcVar2,uVar8);\n      return buf_18719;\n    }\n  }\n  else if (uVar1 == 0x32) {\n    if ((filedata->file_header).e_ident[7] == '\r') {\n      res_18699 = res_18699 & 0xffffff00;\n      if ((filedata->file_header).e_type - 2 < 2) {\n        uVar8 = other >> 4 & 3;\n        if (uVar8 == 2) {\n          res_18699 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_18699 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar8 == 1) {\n          res_18699 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          res_18699 = 0x414320;\n        }\n      }\n      uVar8 = other >> 6;\n      puVar6 = &res_18699;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar9 = (uVar3 & 0x8080) == 0;\n      if (bVar9) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar9) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_18699 != '\0') {\n        return (char *)((int)&res_18699 + 1);\n      }\n      return (char *)&res_18699;\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  pcVar2 = (char *)dcgettext(0,"<other>: %x",5);\n  snprintf(buff_18725,0x20,pcVar2,other);\n  return buff_18725;\n}\n\n" comment (function_definition "char * __regparm3 get_symbol_other(Filedata *filedata,uint other)\n\n{\n  ushort uVar1;\n  char *pcVar2;\n  uint uVar3;\n  uint uVar4;\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      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(buf_18719,0x20,pcVar2,uVar8);\n      return buf_18719;\n    }\n  }\n  else if (uVar1 == 0x32) {\n    if ((filedata->file_header).e_ident[7] == '\r') {\n      res_18699 = res_18699 & 0xffffff00;\n      if ((filedata->file_header).e_type - 2 < 2) {\n        uVar8 = other >> 4 & 3;\n        if (uVar8 == 2) {\n          res_18699 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_18699 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar8 == 1) {\n          res_18699 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          res_18699 = 0x414320;\n        }\n      }\n      uVar8 = other >> 6;\n      puVar6 = &res_18699;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar9 = (uVar3 & 0x8080) == 0;\n      if (bVar9) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar9) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_18699 != '\0') {\n        return (char *)((int)&res_18699 + 1);\n      }\n      return (char *)&res_18699;\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  pcVar2 = (char *)dcgettext(0,"<other>: %x",5);\n  snprintf(buff_18725,0x20,pcVar2,other);\n  return buff_18725;\n}" primitive_type (pointer_declarator "* __regparm3 get_symbol_other(Filedata *filedata,uint other)" * (ERROR "__regparm3" identifier) (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  char *pcVar2;\n  uint uVar3;\n  uint uVar4;\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      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(buf_18719,0x20,pcVar2,uVar8);\n      return buf_18719;\n    }\n  }\n  else if (uVar1 == 0x32) {\n    if ((filedata->file_header).e_ident[7] == '\r') {\n      res_18699 = res_18699 & 0xffffff00;\n      if ((filedata->file_header).e_type - 2 < 2) {\n        uVar8 = other >> 4 & 3;\n        if (uVar8 == 2) {\n          res_18699 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_18699 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar8 == 1) {\n          res_18699 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          res_18699 = 0x414320;\n        }\n      }\n      uVar8 = other >> 6;\n      puVar6 = &res_18699;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar9 = (uVar3 & 0x8080) == 0;\n      if (bVar9) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar9) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_18699 != '\0') {\n        return (char *)((int)&res_18699 + 1);\n      }\n      return (char *)&res_18699;\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  pcVar2 = (char *)dcgettext(0,"<other>: %x",5);\n  snprintf(buff_18725,0x20,pcVar2,other);\n  return buff_18725;\n}" { (declaration "ushort uVar1;" type_identifier identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier 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      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(buf_18719,0x20,pcVar2,uVar8);\n      return buf_18719;\n    }\n  }\n  else if (uVar1 == 0x32) {\n    if ((filedata->file_header).e_ident[7] == '\r') {\n      res_18699 = res_18699 & 0xffffff00;\n      if ((filedata->file_header).e_type - 2 < 2) {\n        uVar8 = other >> 4 & 3;\n        if (uVar8 == 2) {\n          res_18699 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_18699 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar8 == 1) {\n          res_18699 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          res_18699 = 0x414320;\n        }\n      }\n      uVar8 = other >> 6;\n      puVar6 = &res_18699;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar9 = (uVar3 & 0x8080) == 0;\n      if (bVar9) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar9) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_18699 != '\0') {\n        return (char *)((int)&res_18699 + 1);\n      }\n      return (char *)&res_18699;\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      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(buf_18719,0x20,pcVar2,uVar8);\n      return buf_18719;\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      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(buf_18719,0x20,pcVar2,uVar8);\n      return buf_18719;\n    }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(buf_18719,0x20,pcVar2,uVar8);\n      return buf_18719;\n    }" { (expression_statement "pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);" (assignment_expression "pcVar2 = (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_18719,0x20,pcVar2,uVar8);" (call_expression "snprintf(buf_18719,0x20,pcVar2,uVar8)" identifier (argument_list "(buf_18719,0x20,pcVar2,uVar8)" ( identifier , number_literal , identifier , identifier ))) ;) (return_statement "return buf_18719;" return identifier ;) })) }) (else_clause "else if (uVar1 == 0x32) {\n    if ((filedata->file_header).e_ident[7] == '\r') {\n      res_18699 = res_18699 & 0xffffff00;\n      if ((filedata->file_header).e_type - 2 < 2) {\n        uVar8 = other >> 4 & 3;\n        if (uVar8 == 2) {\n          res_18699 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_18699 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar8 == 1) {\n          res_18699 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          res_18699 = 0x414320;\n        }\n      }\n      uVar8 = other >> 6;\n      puVar6 = &res_18699;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar9 = (uVar3 & 0x8080) == 0;\n      if (bVar9) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar9) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_18699 != '\0') {\n        return (char *)((int)&res_18699 + 1);\n      }\n      return (char *)&res_18699;\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_18699 = res_18699 & 0xffffff00;\n      if ((filedata->file_header).e_type - 2 < 2) {\n        uVar8 = other >> 4 & 3;\n        if (uVar8 == 2) {\n          res_18699 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_18699 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar8 == 1) {\n          res_18699 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          res_18699 = 0x414320;\n        }\n      }\n      uVar8 = other >> 6;\n      puVar6 = &res_18699;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar9 = (uVar3 & 0x8080) == 0;\n      if (bVar9) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar9) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_18699 != '\0') {\n        return (char *)((int)&res_18699 + 1);\n      }\n      return (char *)&res_18699;\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_18699 = res_18699 & 0xffffff00;\n      if ((filedata->file_header).e_type - 2 < 2) {\n        uVar8 = other >> 4 & 3;\n        if (uVar8 == 2) {\n          res_18699 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_18699 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar8 == 1) {\n          res_18699 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          res_18699 = 0x414320;\n        }\n      }\n      uVar8 = other >> 6;\n      puVar6 = &res_18699;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar9 = (uVar3 & 0x8080) == 0;\n      if (bVar9) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar9) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_18699 != '\0') {\n        return (char *)((int)&res_18699 + 1);\n      }\n      return (char *)&res_18699;\n    }\n  }" { (if_statement "if ((filedata->file_header).e_ident[7] == '\r') {\n      res_18699 = res_18699 & 0xffffff00;\n      if ((filedata->file_header).e_type - 2 < 2) {\n        uVar8 = other >> 4 & 3;\n        if (uVar8 == 2) {\n          res_18699 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_18699 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar8 == 1) {\n          res_18699 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          res_18699 = 0x414320;\n        }\n      }\n      uVar8 = other >> 6;\n      puVar6 = &res_18699;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar9 = (uVar3 & 0x8080) == 0;\n      if (bVar9) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar9) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_18699 != '\0') {\n        return (char *)((int)&res_18699 + 1);\n      }\n      return (char *)&res_18699;\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_18699 = res_18699 & 0xffffff00;\n      if ((filedata->file_header).e_type - 2 < 2) {\n        uVar8 = other >> 4 & 3;\n        if (uVar8 == 2) {\n          res_18699 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_18699 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar8 == 1) {\n          res_18699 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          res_18699 = 0x414320;\n        }\n      }\n      uVar8 = other >> 6;\n      puVar6 = &res_18699;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar9 = (uVar3 & 0x8080) == 0;\n      if (bVar9) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar9) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_18699 != '\0') {\n        return (char *)((int)&res_18699 + 1);\n      }\n      return (char *)&res_18699;\n    }" { (expression_statement "res_18699 = res_18699 & 0xffffff00;" (assignment_expression "res_18699 = res_18699 & 0xffffff00" identifier = (binary_expression "res_18699 & 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_18699 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_18699 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar8 == 1) {\n          res_18699 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          res_18699 = 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_18699 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_18699 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar8 == 1) {\n          res_18699 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          res_18699 = 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_18699 = 0x444620;\n        }\n        else if (uVar8 == 3) {\n          res_18699 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar8 == 1) {\n          res_18699 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          res_18699 = 0x414320;\n        }" if (parenthesized_expression "(uVar8 == 2)" ( (binary_expression "uVar8 == 2" identifier == number_literal) )) (compound_statement "{\n          res_18699 = 0x444620;\n        }" { (expression_statement "res_18699 = 0x444620;" (assignment_expression "res_18699 = 0x444620" identifier = number_literal) ;) }) (else_clause "else if (uVar8 == 3) {\n          res_18699 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar8 == 1) {\n          res_18699 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          res_18699 = 0x414320;\n        }" else (if_statement "if (uVar8 == 3) {\n          res_18699 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar8 == 1) {\n          res_18699 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          res_18699 = 0x414320;\n        }" if (parenthesized_expression "(uVar8 == 3)" ( (binary_expression "uVar8 == 3" identifier == number_literal) )) (compound_statement "{\n          res_18699 = 0x56535220;\n          DAT_000b5644 = 0;\n        }" { (expression_statement "res_18699 = 0x56535220;" (assignment_expression "res_18699 = 0x56535220" identifier = number_literal) ;) (expression_statement "DAT_000b5644 = 0;" (assignment_expression "DAT_000b5644 = 0" identifier = number_literal) ;) }) (else_clause "else if (uVar8 == 1) {\n          res_18699 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          res_18699 = 0x414320;\n        }" else (if_statement "if (uVar8 == 1) {\n          res_18699 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          res_18699 = 0x414320;\n        }" if (parenthesized_expression "(uVar8 == 1)" ( (binary_expression "uVar8 == 1" identifier == number_literal) )) (compound_statement "{\n          res_18699 = 0x43455620;\n          DAT_000b5644 = 0;\n        }" { (expression_statement "res_18699 = 0x43455620;" (assignment_expression "res_18699 = 0x43455620" identifier = number_literal) ;) (expression_statement "DAT_000b5644 = 0;" (assignment_expression "DAT_000b5644 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          res_18699 = 0x414320;\n        }" else (compound_statement "{\n          res_18699 = 0x414320;\n        }" { (expression_statement "res_18699 = 0x414320;" (assignment_expression "res_18699 = 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_18699;" (assignment_expression "puVar6 = &res_18699" identifier = (pointer_expression "&res_18699" & identifier)) ;) (do_statement "do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);" do (compound_statement "{\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      }" { (expression_statement "puVar5 = puVar6;" (assignment_expression "puVar5 = puVar6" identifier = identifier) ;) (expression_statement "uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;" (assignment_expression "uVar3 = *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 "uVar4 = uVar3 & 0x80808080;" (assignment_expression "uVar4 = uVar3 & 0x80808080" identifier = (binary_expression "uVar3 & 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 "(uVar4 == 0)" ( (binary_expression "uVar4 == 0" identifier == number_literal) )) ;) (expression_statement "bVar9 = (uVar3 & 0x8080) == 0;" (assignment_expression "bVar9 = (uVar3 & 0x8080) == 0" identifier = (binary_expression "(uVar3 & 0x8080) == 0" (parenthesized_expression "(uVar3 & 0x8080)" ( (binary_expression "uVar3 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar9) {\n        uVar4 = uVar4 >> 0x10;\n      }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n        uVar4 = uVar4 >> 0x10;\n      }" { (expression_statement "uVar4 = uVar4 >> 0x10;" (assignment_expression "uVar4 = uVar4 >> 0x10" identifier = (binary_expression "uVar4 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar9) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }" { (expression_statement "puVar6 = (uint *)((int)puVar5 + 6);" (assignment_expression "puVar6 = (uint *)((int)puVar5 + 6)" identifier = (cast_expression "(uint *)((int)puVar5 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + 6)" ( (binary_expression "(int)puVar5 + 6" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));" (assignment_expression "puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)))" identifier = (cast_expression "(undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)))" ( (binary_expression "(int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4))" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4))" ( (binary_expression "-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)" number_literal - (cast_expression "(uint)CARRY1((byte)uVar4,(byte)uVar4)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar4,(byte)uVar4)" identifier (argument_list "((byte)uVar4,(byte)uVar4)" ( (cast_expression "(byte)uVar4" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar4" ( (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_18699 != '\0') {\n        return (char *)((int)&res_18699 + 1);\n      }" if (parenthesized_expression "((char)res_18699 != '\0')" ( (binary_expression "(char)res_18699 != '\0'" (cast_expression "(char)res_18699" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        return (char *)((int)&res_18699 + 1);\n      }" { (return_statement "return (char *)((int)&res_18699 + 1);" return (cast_expression "(char *)((int)&res_18699 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&res_18699 + 1)" ( (binary_expression "(int)&res_18699 + 1" (cast_expression "(int)&res_18699" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&res_18699" & identifier)) + number_literal) ))) ;) })) (return_statement "return (char *)&res_18699;" return (cast_expression "(char *)&res_18699" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&res_18699" & 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 "pcVar2 = (char *)dcgettext(0,"<other>: %x",5);" (assignment_expression "pcVar2 = (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_18725,0x20,pcVar2,other);" (call_expression "snprintf(buff_18725,0x20,pcVar2,other)" identifier (argument_list "(buff_18725,0x20,pcVar2,other)" ( identifier , number_literal , identifier , identifier ))) ;) (return_statement "return buff_18725;" return identifier ;) })))
(translation_unit "uint * __regparm3 FUN_00032810(int param_1,uint param_2)\n\n{\n  short sVar1;\n  char *pcVar2;\n  uint uVar3;\n  uint uVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  bool bVar8;\n  \n  if (param_2 == 0) {\n    return (uint *)&DAT_0007bc55;\n  }\n  sVar1 = *(short *)(param_1 + 0x42);\n  if (sVar1 == 0x15) {\n    uVar4 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar4 != 0) {\n      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_000b5620,0x20,pcVar2,uVar4);\n      return (uint *)&DAT_000b5620;\n    }\n  }\n  else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x17) == '\r') {\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }\n  }\n  pcVar2 = (char *)dcgettext(0,"<other>: %x",5);\n  snprintf(&DAT_000b5660,0x20,pcVar2,param_2);\n  return (uint *)&DAT_000b5660;\n}\n\n" (ERROR "uint * __regparm3 FUN_00032810(int param_1,uint param_2)" (binary_expression "uint * __regparm3 FUN_00032810(int param_1,uint param_2)" identifier * (ERROR "__regparm3" identifier) (call_expression "FUN_00032810(int param_1,uint param_2)" identifier (argument_list "(int param_1,uint param_2)" ( (ERROR "int" identifier) identifier , (ERROR "uint" identifier) identifier ))))) (compound_statement "{\n  short sVar1;\n  char *pcVar2;\n  uint uVar3;\n  uint uVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  bool bVar8;\n  \n  if (param_2 == 0) {\n    return (uint *)&DAT_0007bc55;\n  }\n  sVar1 = *(short *)(param_1 + 0x42);\n  if (sVar1 == 0x15) {\n    uVar4 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar4 != 0) {\n      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_000b5620,0x20,pcVar2,uVar4);\n      return (uint *)&DAT_000b5620;\n    }\n  }\n  else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x17) == '\r') {\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }\n  }\n  pcVar2 = (char *)dcgettext(0,"<other>: %x",5);\n  snprintf(&DAT_000b5660,0x20,pcVar2,param_2);\n  return (uint *)&DAT_000b5660;\n}" { (declaration "short sVar1;" (sized_type_specifier "short" short) identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier 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 (uint *)&DAT_0007bc55;\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n    return (uint *)&DAT_0007bc55;\n  }" { (return_statement "return (uint *)&DAT_0007bc55;" return (cast_expression "(uint *)&DAT_0007bc55" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0007bc55" & identifier)) ;) })) (expression_statement "sVar1 = *(short *)(param_1 + 0x42);" (assignment_expression "sVar1 = *(short *)(param_1 + 0x42)" identifier = (pointer_expression "*(short *)(param_1 + 0x42)" * (cast_expression "(short *)(param_1 + 0x42)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x42)" ( (binary_expression "param_1 + 0x42" identifier + number_literal) ))))) ;) (if_statement "if (sVar1 == 0x15) {\n    uVar4 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar4 != 0) {\n      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_000b5620,0x20,pcVar2,uVar4);\n      return (uint *)&DAT_000b5620;\n    }\n  }\n  else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x17) == '\r') {\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }\n  }" if (parenthesized_expression "(sVar1 == 0x15)" ( (binary_expression "sVar1 == 0x15" identifier == number_literal) )) (compound_statement "{\n    uVar4 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar4 != 0) {\n      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_000b5620,0x20,pcVar2,uVar4);\n      return (uint *)&DAT_000b5620;\n    }\n  }" { (expression_statement "uVar4 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;" (assignment_expression "uVar4 = 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 (uVar4 != 0) {\n      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_000b5620,0x20,pcVar2,uVar4);\n      return (uint *)&DAT_000b5620;\n    }" if (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_000b5620,0x20,pcVar2,uVar4);\n      return (uint *)&DAT_000b5620;\n    }" { (expression_statement "pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);" (assignment_expression "pcVar2 = (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_000b5620,0x20,pcVar2,uVar4);" (call_expression "snprintf(&DAT_000b5620,0x20,pcVar2,uVar4)" identifier (argument_list "(&DAT_000b5620,0x20,pcVar2,uVar4)" ( (pointer_expression "&DAT_000b5620" & identifier) , number_literal , identifier , identifier ))) ;) (return_statement "return (uint *)&DAT_000b5620;" return (cast_expression "(uint *)&DAT_000b5620" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000b5620" & identifier)) ;) })) }) (else_clause "else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x17) == '\r') {\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }\n  }" else (if_statement "if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x17) == '\r') {\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }\n  }" if (parenthesized_expression "(sVar1 == 0x32)" ( (binary_expression "sVar1 == 0x32" identifier == number_literal) )) (compound_statement "{\n    if (*(char *)(param_1 + 0x17) == '\r') {\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }\n  }" { (if_statement "if (*(char *)(param_1 + 0x17) == '\r') {\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x17) == '\r')" ( (binary_expression "*(char *)(param_1 + 0x17) == '\r'" (pointer_expression "*(char *)(param_1 + 0x17)" * (cast_expression "(char *)(param_1 + 0x17)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x17)" ( (binary_expression "param_1 + 0x17" identifier + number_literal) )))) == (char_literal "'\r'" ' escape_sequence ')) )) (compound_statement "{\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }" { (expression_statement "DAT_000b5640 = DAT_000b5640 & 0xffffff00;" (assignment_expression "DAT_000b5640 = DAT_000b5640 & 0xffffff00" identifier = (binary_expression "DAT_000b5640 & 0xffffff00" identifier & number_literal)) ;) (if_statement "if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }" if (parenthesized_expression "(*(ushort *)(param_1 + 0x40) - 2 < 2)" ( (binary_expression "*(ushort *)(param_1 + 0x40) - 2 < 2" (binary_expression "*(ushort *)(param_1 + 0x40) - 2" (pointer_expression "*(ushort *)(param_1 + 0x40)" * (cast_expression "(ushort *)(param_1 + 0x40)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) - number_literal) < number_literal) )) (compound_statement "{\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }" { (expression_statement "uVar4 = param_2 >> 4 & 3;" (assignment_expression "uVar4 = param_2 >> 4 & 3" identifier = (binary_expression "param_2 >> 4 & 3" (binary_expression "param_2 >> 4" identifier >> number_literal) & number_literal)) ;) (if_statement "if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }" if (parenthesized_expression "(uVar4 == 2)" ( (binary_expression "uVar4 == 2" identifier == number_literal) )) (compound_statement "{\n          DAT_000b5640 = 0x444620;\n        }" { (expression_statement "DAT_000b5640 = 0x444620;" (assignment_expression "DAT_000b5640 = 0x444620" identifier = number_literal) ;) }) (else_clause "else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }" else (if_statement "if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }" if (parenthesized_expression "(uVar4 == 3)" ( (binary_expression "uVar4 == 3" identifier == number_literal) )) (compound_statement "{\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }" { (expression_statement "DAT_000b5640 = 0x56535220;" (assignment_expression "DAT_000b5640 = 0x56535220" identifier = number_literal) ;) (expression_statement "DAT_000b5644 = 0;" (assignment_expression "DAT_000b5644 = 0" identifier = number_literal) ;) }) (else_clause "else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }" else (if_statement "if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }" if (parenthesized_expression "(uVar4 == 1)" ( (binary_expression "uVar4 == 1" identifier == number_literal) )) (compound_statement "{\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }" { (expression_statement "DAT_000b5640 = 0x43455620;" (assignment_expression "DAT_000b5640 = 0x43455620" identifier = number_literal) ;) (expression_statement "DAT_000b5644 = 0;" (assignment_expression "DAT_000b5644 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          DAT_000b5640 = 0x414320;\n        }" else (compound_statement "{\n          DAT_000b5640 = 0x414320;\n        }" { (expression_statement "DAT_000b5640 = 0x414320;" (assignment_expression "DAT_000b5640 = 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_000b5640;" (assignment_expression "puVar6 = &DAT_000b5640" identifier = (pointer_expression "&DAT_000b5640" & identifier)) ;) (do_statement "do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);" do (compound_statement "{\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      }" { (expression_statement "puVar5 = puVar6;" (assignment_expression "puVar5 = puVar6" identifier = identifier) ;) (expression_statement "uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;" (assignment_expression "uVar3 = *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 "uVar4 = uVar3 & 0x80808080;" (assignment_expression "uVar4 = uVar3 & 0x80808080" identifier = (binary_expression "uVar3 & 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 "(uVar4 == 0)" ( (binary_expression "uVar4 == 0" identifier == number_literal) )) ;) (expression_statement "bVar8 = (uVar3 & 0x8080) == 0;" (assignment_expression "bVar8 = (uVar3 & 0x8080) == 0" identifier = (binary_expression "(uVar3 & 0x8080) == 0" (parenthesized_expression "(uVar3 & 0x8080)" ( (binary_expression "uVar3 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n        uVar4 = uVar4 >> 0x10;\n      }" { (expression_statement "uVar4 = uVar4 >> 0x10;" (assignment_expression "uVar4 = uVar4 >> 0x10" identifier = (binary_expression "uVar4 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }" { (expression_statement "puVar6 = (uint *)((int)puVar5 + 6);" (assignment_expression "puVar6 = (uint *)((int)puVar5 + 6)" identifier = (cast_expression "(uint *)((int)puVar5 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + 6)" ( (binary_expression "(int)puVar5 + 6" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));" (assignment_expression "puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)))" identifier = (cast_expression "(undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)))" ( (binary_expression "(int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4))" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4))" ( (binary_expression "-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)" number_literal - (cast_expression "(uint)CARRY1((byte)uVar4,(byte)uVar4)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar4,(byte)uVar4)" identifier (argument_list "((byte)uVar4,(byte)uVar4)" ( (cast_expression "(byte)uVar4" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar4" ( (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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }" if (parenthesized_expression "((char)DAT_000b5640 != '\0')" ( (binary_expression "(char)DAT_000b5640 != '\0'" (cast_expression "(char)DAT_000b5640" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }" { (return_statement "return (uint *)((int)&DAT_000b5640 + 1);" return (cast_expression "(uint *)((int)&DAT_000b5640 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_000b5640 + 1)" ( (binary_expression "(int)&DAT_000b5640 + 1" (cast_expression "(int)&DAT_000b5640" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_000b5640" & identifier)) + number_literal) ))) ;) })) (return_statement "return &DAT_000b5640;" return (pointer_expression "&DAT_000b5640" & identifier) ;) })) }) (else_clause "else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }\n  }" else (if_statement "if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"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 (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }\n  }" { (if_statement "if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }" if (parenthesized_expression "(param_2 == 0x20)" ( (binary_expression "param_2 == 0x20" identifier == number_literal) )) (compound_statement "{\n      return (uint *)0x7bb72;\n    }" { (return_statement "return (uint *)0x7bb72;" return (cast_expression "(uint *)0x7bb72" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"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 (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }" { (if_statement "if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }" if (parenthesized_expression "(param_2 == 4)" ( (binary_expression "param_2 == 4" identifier == number_literal) )) (compound_statement "{\n        return (uint *)"OPTIONAL";\n      }" { (return_statement "return (uint *)"OPTIONAL";" return (cast_expression "(uint *)"OPTIONAL"" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""OPTIONAL"" " string_content ")) ;) })) (if_statement "if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }" if (parenthesized_expression "(param_2 == 8)" ( (binary_expression "param_2 == 8" identifier == number_literal) )) (compound_statement "{\n        return (uint *)"MIPS PLT";\n      }" { (return_statement "return (uint *)"MIPS PLT";" return (cast_expression "(uint *)"MIPS PLT"" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""MIPS PLT"" " string_content ")) ;) })) }) (else_clause "else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }" else (compound_statement "{\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }" { (if_statement "if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }" if (parenthesized_expression "(param_2 == 0xa0)" ( (binary_expression "param_2 == 0xa0" identifier == number_literal) )) (compound_statement "{\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }" { (return_statement "return (uint *)"MICROMIPS, MIPS PIC";" return (cast_expression "(uint *)"MICROMIPS, MIPS PIC"" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""MICROMIPS, MIPS PIC"" " string_content ")) ;) })) (if_statement "if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }" if (parenthesized_expression "(param_2 == 0xf0)" ( (binary_expression "param_2 == 0xf0" identifier == number_literal) )) (compound_statement "{\n        return (uint *)"MIPS16";\n      }" { (return_statement "return (uint *)"MIPS16";" return (cast_expression "(uint *)"MIPS16"" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""MIPS16"" " string_content ")) ;) })) (if_statement "if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }" if (parenthesized_expression "(param_2 == 0x80)" ( (binary_expression "param_2 == 0x80" identifier == number_literal) )) (compound_statement "{\n        return (uint *)"MICROMIPS";\n      }" { (return_statement "return (uint *)"MICROMIPS";" return (cast_expression "(uint *)"MICROMIPS"" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""MICROMIPS"" " string_content ")) ;) })) }))) })))))) (expression_statement "pcVar2 = (char *)dcgettext(0,"<other>: %x",5);" (assignment_expression "pcVar2 = (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_000b5660,0x20,pcVar2,param_2);" (call_expression "snprintf(&DAT_000b5660,0x20,pcVar2,param_2)" identifier (argument_list "(&DAT_000b5660,0x20,pcVar2,param_2)" ( (pointer_expression "&DAT_000b5660" & identifier) , number_literal , identifier , identifier ))) ;) (return_statement "return (uint *)&DAT_000b5660;" return (cast_expression "(uint *)&DAT_000b5660" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000b5660" & identifier)) ;) }))
(translation_unit (ERROR (binary_expression IDENT * (ERROR IDENT) (call_expression IDENT (argument_list ( (ERROR IDENT) IDENT , (ERROR IDENT) IDENT ))))) (compound_statement { (declaration (sized_type_specifier short) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE 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 (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) ;) })) (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 , IDENT ))) ;) (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 (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 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 IDENT = 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 TYPE) ) IDENT) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 TYPE) ) (pointer_expression & IDENT)) + LIT) ))) ;) })) (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 IDENT == LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (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 (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content ")) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content ")) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content ")) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content ")) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 , IDENT ))) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) ;) }))
(ERROR "uint * __regparm3 FUN_00032810(int param_1,uint param_2)" (binary_expression "uint * __regparm3 FUN_00032810(int param_1,uint param_2)" (identifier "uint") (* "*") (ERROR "__regparm3" (identifier "__regparm3")) (call_expression "FUN_00032810(int param_1,uint param_2)" (identifier "FUN_00032810") (argument_list "(int param_1,uint param_2)" (( "(") (ERROR "int" (identifier "int")) (identifier "param_1") (, ",") (ERROR "uint" (identifier "uint")) (identifier "param_2") () ")"))))) (compound_statement "{\n  short sVar1;\n  char *pcVar2;\n  uint uVar3;\n  uint uVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  bool bVar8;\n  \n  if (param_2 == 0) {\n    return (uint *)&DAT_0007bc55;\n  }\n  sVar1 = *(short *)(param_1 + 0x42);\n  if (sVar1 == 0x15) {\n    uVar4 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar4 != 0) {\n      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_000b5620,0x20,pcVar2,uVar4);\n      return (uint *)&DAT_000b5620;\n    }\n  }\n  else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x17) == '\r') {\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }\n  }\n  pcVar2 = (char *)dcgettext(0,"<other>: %x",5);\n  snprintf(&DAT_000b5660,0x20,pcVar2,param_2);\n  return (uint *)&DAT_000b5660;\n}" ({ "{") (declaration "short sVar1;" (sized_type_specifier "short" (short "short")) (identifier "sVar1") (; ";")) (declaration "char *pcVar2;" (primitive_type "char") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (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 (uint *)&DAT_0007bc55;\n  }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return (uint *)&DAT_0007bc55;\n  }" ({ "{") (return_statement "return (uint *)&DAT_0007bc55;" (return "return") (cast_expression "(uint *)&DAT_0007bc55" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_0007bc55" (& "&") (identifier "DAT_0007bc55"))) (; ";")) (} "}"))) (expression_statement "sVar1 = *(short *)(param_1 + 0x42);" (assignment_expression "sVar1 = *(short *)(param_1 + 0x42)" (identifier "sVar1") (= "=") (pointer_expression "*(short *)(param_1 + 0x42)" (* "*") (cast_expression "(short *)(param_1 + 0x42)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x42)" (( "(") (binary_expression "param_1 + 0x42" (identifier "param_1") (+ "+") (number_literal "0x42")) () ")"))))) (; ";")) (if_statement "if (sVar1 == 0x15) {\n    uVar4 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar4 != 0) {\n      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_000b5620,0x20,pcVar2,uVar4);\n      return (uint *)&DAT_000b5620;\n    }\n  }\n  else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x17) == '\r') {\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }\n  }" (if "if") (parenthesized_expression "(sVar1 == 0x15)" (( "(") (binary_expression "sVar1 == 0x15" (identifier "sVar1") (== "==") (number_literal "0x15")) () ")")) (compound_statement "{\n    uVar4 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;\n    if (uVar4 != 0) {\n      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_000b5620,0x20,pcVar2,uVar4);\n      return (uint *)&DAT_000b5620;\n    }\n  }" ({ "{") (expression_statement "uVar4 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;" (assignment_expression "uVar4 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc" (identifier "uVar4") (= "=") (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 (uVar4 != 0) {\n      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_000b5620,0x20,pcVar2,uVar4);\n      return (uint *)&DAT_000b5620;\n    }" (if "if") (parenthesized_expression "(uVar4 != 0)" (( "(") (binary_expression "uVar4 != 0" (identifier "uVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);\n      snprintf(&DAT_000b5620,0x20,pcVar2,uVar4);\n      return (uint *)&DAT_000b5620;\n    }" ({ "{") (expression_statement "pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5)" (identifier "pcVar2") (= "=") (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_000b5620,0x20,pcVar2,uVar4);" (call_expression "snprintf(&DAT_000b5620,0x20,pcVar2,uVar4)" (identifier "snprintf") (argument_list "(&DAT_000b5620,0x20,pcVar2,uVar4)" (( "(") (pointer_expression "&DAT_000b5620" (& "&") (identifier "DAT_000b5620")) (, ",") (number_literal "0x20") (, ",") (identifier "pcVar2") (, ",") (identifier "uVar4") () ")"))) (; ";")) (return_statement "return (uint *)&DAT_000b5620;" (return "return") (cast_expression "(uint *)&DAT_000b5620" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_000b5620" (& "&") (identifier "DAT_000b5620"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x17) == '\r') {\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }\n  }" (else "else") (if_statement "if (sVar1 == 0x32) {\n    if (*(char *)(param_1 + 0x17) == '\r') {\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }\n  }\n  else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"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 + 0x17) == '\r') {\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }\n  }" ({ "{") (if_statement "if (*(char *)(param_1 + 0x17) == '\r') {\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x17) == '\r')" (( "(") (binary_expression "*(char *)(param_1 + 0x17) == '\r'" (pointer_expression "*(char *)(param_1 + 0x17)" (* "*") (cast_expression "(char *)(param_1 + 0x17)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x17)" (( "(") (binary_expression "param_1 + 0x17" (identifier "param_1") (+ "+") (number_literal "0x17")) () ")")))) (== "==") (char_literal "'\r'" (' "'") (escape_sequence "\r") (' "'"))) () ")")) (compound_statement "{\n      DAT_000b5640 = DAT_000b5640 & 0xffffff00;\n      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }\n      param_2 = param_2 >> 6;\n      puVar6 = &DAT_000b5640;\n      do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);\n      bVar8 = (uVar3 & 0x8080) == 0;\n      if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }\n      if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }\n      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));\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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }\n      return &DAT_000b5640;\n    }" ({ "{") (expression_statement "DAT_000b5640 = DAT_000b5640 & 0xffffff00;" (assignment_expression "DAT_000b5640 = DAT_000b5640 & 0xffffff00" (identifier "DAT_000b5640") (= "=") (binary_expression "DAT_000b5640 & 0xffffff00" (identifier "DAT_000b5640") (& "&") (number_literal "0xffffff00"))) (; ";")) (if_statement "if (*(ushort *)(param_1 + 0x40) - 2 < 2) {\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }" (if "if") (parenthesized_expression "(*(ushort *)(param_1 + 0x40) - 2 < 2)" (( "(") (binary_expression "*(ushort *)(param_1 + 0x40) - 2 < 2" (binary_expression "*(ushort *)(param_1 + 0x40) - 2" (pointer_expression "*(ushort *)(param_1 + 0x40)" (* "*") (cast_expression "(ushort *)(param_1 + 0x40)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")")))) (- "-") (number_literal "2")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n        uVar4 = param_2 >> 4 & 3;\n        if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }\n      }" ({ "{") (expression_statement "uVar4 = param_2 >> 4 & 3;" (assignment_expression "uVar4 = param_2 >> 4 & 3" (identifier "uVar4") (= "=") (binary_expression "param_2 >> 4 & 3" (binary_expression "param_2 >> 4" (identifier "param_2") (>> ">>") (number_literal "4")) (& "&") (number_literal "3"))) (; ";")) (if_statement "if (uVar4 == 2) {\n          DAT_000b5640 = 0x444620;\n        }\n        else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }" (if "if") (parenthesized_expression "(uVar4 == 2)" (( "(") (binary_expression "uVar4 == 2" (identifier "uVar4") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          DAT_000b5640 = 0x444620;\n        }" ({ "{") (expression_statement "DAT_000b5640 = 0x444620;" (assignment_expression "DAT_000b5640 = 0x444620" (identifier "DAT_000b5640") (= "=") (number_literal "0x444620")) (; ";")) (} "}")) (else_clause "else if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }" (else "else") (if_statement "if (uVar4 == 3) {\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }\n        else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }" (if "if") (parenthesized_expression "(uVar4 == 3)" (( "(") (binary_expression "uVar4 == 3" (identifier "uVar4") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n          DAT_000b5640 = 0x56535220;\n          DAT_000b5644 = 0;\n        }" ({ "{") (expression_statement "DAT_000b5640 = 0x56535220;" (assignment_expression "DAT_000b5640 = 0x56535220" (identifier "DAT_000b5640") (= "=") (number_literal "0x56535220")) (; ";")) (expression_statement "DAT_000b5644 = 0;" (assignment_expression "DAT_000b5644 = 0" (identifier "DAT_000b5644") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }" (else "else") (if_statement "if (uVar4 == 1) {\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }\n        else {\n          DAT_000b5640 = 0x414320;\n        }" (if "if") (parenthesized_expression "(uVar4 == 1)" (( "(") (binary_expression "uVar4 == 1" (identifier "uVar4") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n          DAT_000b5640 = 0x43455620;\n          DAT_000b5644 = 0;\n        }" ({ "{") (expression_statement "DAT_000b5640 = 0x43455620;" (assignment_expression "DAT_000b5640 = 0x43455620" (identifier "DAT_000b5640") (= "=") (number_literal "0x43455620")) (; ";")) (expression_statement "DAT_000b5644 = 0;" (assignment_expression "DAT_000b5644 = 0" (identifier "DAT_000b5644") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          DAT_000b5640 = 0x414320;\n        }" (else "else") (compound_statement "{\n          DAT_000b5640 = 0x414320;\n        }" ({ "{") (expression_statement "DAT_000b5640 = 0x414320;" (assignment_expression "DAT_000b5640 = 0x414320" (identifier "DAT_000b5640") (= "=") (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_000b5640;" (assignment_expression "puVar6 = &DAT_000b5640" (identifier "puVar6") (= "=") (pointer_expression "&DAT_000b5640" (& "&") (identifier "DAT_000b5640"))) (; ";")) (do_statement "do {\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      } while (uVar4 == 0);" (do "do") (compound_statement "{\n        puVar5 = puVar6;\n        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;\n        uVar4 = uVar3 & 0x80808080;\n        puVar6 = puVar5 + 1;\n      }" ({ "{") (expression_statement "puVar5 = puVar6;" (assignment_expression "puVar5 = puVar6" (identifier "puVar5") (= "=") (identifier "puVar6")) (; ";")) (expression_statement "uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;" (assignment_expression "uVar3 = *puVar5 + 0xfefefeff & ~*puVar5" (identifier "uVar3") (= "=") (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 "uVar4 = uVar3 & 0x80808080;" (assignment_expression "uVar4 = uVar3 & 0x80808080" (identifier "uVar4") (= "=") (binary_expression "uVar3 & 0x80808080" (identifier "uVar3") (& "&") (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 "(uVar4 == 0)" (( "(") (binary_expression "uVar4 == 0" (identifier "uVar4") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar8 = (uVar3 & 0x8080) == 0;" (assignment_expression "bVar8 = (uVar3 & 0x8080) == 0" (identifier "bVar8") (= "=") (binary_expression "(uVar3 & 0x8080) == 0" (parenthesized_expression "(uVar3 & 0x8080)" (( "(") (binary_expression "uVar3 & 0x8080" (identifier "uVar3") (& "&") (number_literal "0x8080")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar8) {\n        uVar4 = uVar4 >> 0x10;\n      }" (if "if") (parenthesized_expression "(bVar8)" (( "(") (identifier "bVar8") () ")")) (compound_statement "{\n        uVar4 = uVar4 >> 0x10;\n      }" ({ "{") (expression_statement "uVar4 = uVar4 >> 0x10;" (assignment_expression "uVar4 = uVar4 >> 0x10" (identifier "uVar4") (= "=") (binary_expression "uVar4 >> 0x10" (identifier "uVar4") (>> ">>") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (bVar8) {\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }" (if "if") (parenthesized_expression "(bVar8)" (( "(") (identifier "bVar8") () ")")) (compound_statement "{\n        puVar6 = (uint *)((int)puVar5 + 6);\n      }" ({ "{") (expression_statement "puVar6 = (uint *)((int)puVar5 + 6);" (assignment_expression "puVar6 = (uint *)((int)puVar5 + 6)" (identifier "puVar6") (= "=") (cast_expression "(uint *)((int)puVar5 + 6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar5 + 6)" (( "(") (binary_expression "(int)puVar5 + 6" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (} "}"))) (expression_statement "puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));" (assignment_expression "puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)))" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)))" (( "(") (binary_expression "(int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4))" (cast_expression "(int)puVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar6")) (+ "+") (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4))" (( "(") (binary_expression "-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)" (number_literal "-3") (- "-") (cast_expression "(uint)CARRY1((byte)uVar4,(byte)uVar4)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY1((byte)uVar4,(byte)uVar4)" (identifier "CARRY1") (argument_list "((byte)uVar4,(byte)uVar4)" (( "(") (cast_expression "(byte)uVar4" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar4")) (, ",") (cast_expression "(byte)uVar4" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar4")) () ")"))))) () ")"))) () ")")))) (; ";")) (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_000b5640 != '\0') {\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }" (if "if") (parenthesized_expression "((char)DAT_000b5640 != '\0')" (( "(") (binary_expression "(char)DAT_000b5640 != '\0'" (cast_expression "(char)DAT_000b5640" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "DAT_000b5640")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        return (uint *)((int)&DAT_000b5640 + 1);\n      }" ({ "{") (return_statement "return (uint *)((int)&DAT_000b5640 + 1);" (return "return") (cast_expression "(uint *)((int)&DAT_000b5640 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_000b5640 + 1)" (( "(") (binary_expression "(int)&DAT_000b5640 + 1" (cast_expression "(int)&DAT_000b5640" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_000b5640" (& "&") (identifier "DAT_000b5640"))) (+ "+") (number_literal "1")) () ")"))) (; ";")) (} "}"))) (return_statement "return &DAT_000b5640;" (return "return") (pointer_expression "&DAT_000b5640" (& "&") (identifier "DAT_000b5640")) (; ";")) (} "}"))) (} "}")) (else_clause "else if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }\n  }" (else "else") (if_statement "if (sVar1 == 8) {\n    if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"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 (uint *)0x7bb72;\n    }\n    if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }\n  }" ({ "{") (if_statement "if (param_2 == 0x20) {\n      return (uint *)0x7bb72;\n    }" (if "if") (parenthesized_expression "(param_2 == 0x20)" (( "(") (binary_expression "param_2 == 0x20" (identifier "param_2") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n      return (uint *)0x7bb72;\n    }" ({ "{") (return_statement "return (uint *)0x7bb72;" (return "return") (cast_expression "(uint *)0x7bb72" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x7bb72")) (; ";")) (} "}"))) (if_statement "if (param_2 < 0x21) {\n      if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }\n    else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"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 (uint *)"OPTIONAL";\n      }\n      if (param_2 == 8) {\n        return (uint *)"MIPS PLT";\n      }\n    }" ({ "{") (if_statement "if (param_2 == 4) {\n        return (uint *)"OPTIONAL";\n      }" (if "if") (parenthesized_expression "(param_2 == 4)" (( "(") (binary_expression "param_2 == 4" (identifier "param_2") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n        return (uint *)"OPTIONAL";\n      }" ({ "{") (return_statement "return (uint *)"OPTIONAL";" (return "return") (cast_expression "(uint *)"OPTIONAL"" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""OPTIONAL"" (" """) (string_content "OPTIONAL") (" """))) (; ";")) (} "}"))) (if_statement "if (param_2 == 8) {\n        return (uint *)"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 (uint *)"MIPS PLT";\n      }" ({ "{") (return_statement "return (uint *)"MIPS PLT";" (return "return") (cast_expression "(uint *)"MIPS PLT"" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""MIPS PLT"" (" """) (string_content "MIPS PLT") (" """))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }" (else "else") (compound_statement "{\n      if (param_2 == 0xa0) {\n        return (uint *)"MICROMIPS, MIPS PIC";\n      }\n      if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }\n      if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }\n    }" ({ "{") (if_statement "if (param_2 == 0xa0) {\n        return (uint *)"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 (uint *)"MICROMIPS, MIPS PIC";\n      }" ({ "{") (return_statement "return (uint *)"MICROMIPS, MIPS PIC";" (return "return") (cast_expression "(uint *)"MICROMIPS, MIPS PIC"" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""MICROMIPS, MIPS PIC"" (" """) (string_content "MICROMIPS, MIPS PIC") (" """))) (; ";")) (} "}"))) (if_statement "if (param_2 == 0xf0) {\n        return (uint *)"MIPS16";\n      }" (if "if") (parenthesized_expression "(param_2 == 0xf0)" (( "(") (binary_expression "param_2 == 0xf0" (identifier "param_2") (== "==") (number_literal "0xf0")) () ")")) (compound_statement "{\n        return (uint *)"MIPS16";\n      }" ({ "{") (return_statement "return (uint *)"MIPS16";" (return "return") (cast_expression "(uint *)"MIPS16"" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""MIPS16"" (" """) (string_content "MIPS16") (" """))) (; ";")) (} "}"))) (if_statement "if (param_2 == 0x80) {\n        return (uint *)"MICROMIPS";\n      }" (if "if") (parenthesized_expression "(param_2 == 0x80)" (( "(") (binary_expression "param_2 == 0x80" (identifier "param_2") (== "==") (number_literal "0x80")) () ")")) (compound_statement "{\n        return (uint *)"MICROMIPS";\n      }" ({ "{") (return_statement "return (uint *)"MICROMIPS";" (return "return") (cast_expression "(uint *)"MICROMIPS"" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""MICROMIPS"" (" """) (string_content "MICROMIPS") (" """))) (; ";")) (} "}"))) (} "}")))) (} "}"))))))) (expression_statement "pcVar2 = (char *)dcgettext(0,"<other>: %x",5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,"<other>: %x",5)" (identifier "pcVar2") (= "=") (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_000b5660,0x20,pcVar2,param_2);" (call_expression "snprintf(&DAT_000b5660,0x20,pcVar2,param_2)" (identifier "snprintf") (argument_list "(&DAT_000b5660,0x20,pcVar2,param_2)" (( "(") (pointer_expression "&DAT_000b5660" (& "&") (identifier "DAT_000b5660")) (, ",") (number_literal "0x20") (, ",") (identifier "pcVar2") (, ",") (identifier "param_2") () ")"))) (; ";")) (return_statement "return (uint *)&DAT_000b5660;" (return "return") (cast_expression "(uint *)&DAT_000b5660" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_000b5660" (& "&") (identifier "DAT_000b5660"))) (; ";")) (} "}"))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

char * __regparm3 function_1(type_1 *filedata,type_2 var_1)

{
  type_3 var_2;
  char *pcVar2;
  type_2 var_7;
  type_2 var_9;
  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_5)(var_1 >> 5) & 0x1f) & 0xfffffffc;
    if (var_3 != 0) {
      pcVar2 = (char *)var_4(0,"<localentry>: %d",5);
      var_5(buf_18719,0x20,pcVar2,var_3);
      return buf_18719;
    }
  }
  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_000b5644 = 0;
        }
        else if (var_3 == 1) {
          var_6 = 0x43455620;
          DAT_000b5644 = 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 *)((int)var_8 + 6);
      }
      var_11 = (type_4 *)((int)puVar6 + (-3 - (type_2)var_10((type_5)var_9,(type_5)var_9)));
      if (var_3 == 2) {
        *var_11 = 0x44545320;
        *(type_6 *)(var_11 + 1) = 0;
      }
      else if (var_3 == 3) {
        *var_11 = 0x4b4e4c20;
        *(type_6 *)(var_11 + 1) = 0;
      }
      else if (var_3 == 1) {
        *var_11 = 0x56535220;
        *(type_6 *)(var_11 + 1) = 0;
      }
      else {
        *var_11 = 0x4e474920;
        *(type_6 *)(var_11 + 1) = 0;
      }
      if ((char)var_6 != '\0') {
        return (char *)((int)&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";
      }
    }
  }
  pcVar2 = (char *)var_4(0,"<other>: %x",5);
  var_5(buff_18725,0x20,pcVar2,var_1);
  return buff_18725;
}


(translation_unit (ERROR (binary_expression left: (identifier) (ERROR (identifier)) right: (call_expression function: (identifier) arguments: (argument_list (ERROR (identifier)) (identifier) (ERROR (identifier)) (identifier))))) (compound_statement (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (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 (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (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) (identifier)))) (return_statement (cast_expression type: (type_descriptor type: (type_identifier) 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: (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: (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: (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: (primitive_type)) 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: (primitive_type)) 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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (number_literal))))))) (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: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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) (identifier)))) (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

uint * __regparm3 MASKED(int param_1,uint param_2)

{
  short sVar1;
  char *pcVar2;
  uint uVar3;
  uint uVar4;
  uint *puVar5;
  uint *puVar6;
  undefined4 *puVar7;
  bool bVar8;
  
  if (param_2 == 0) {
    return (uint *)&DAT_0007bc55;
  }
  sVar1 = *(short *)(param_1 + 0x42);
  if (sVar1 == 0x15) {
    uVar4 = 1 << ((byte)(param_2 >> 5) & 0x1f) & 0xfffffffc;
    if (uVar4 != 0) {
      pcVar2 = (char *)dcgettext(0,"<localentry>: %d",5);
      snprintf(&DAT_000b5620,0x20,pcVar2,uVar4);
      return (uint *)&DAT_000b5620;
    }
  }
  else if (sVar1 == 0x32) {
    if (*(char *)(param_1 + 0x17) == '\r') {
      DAT_000b5640 = DAT_000b5640 & 0xffffff00;
      if (*(ushort *)(param_1 + 0x40) - 2 < 2) {
        uVar4 = param_2 >> 4 & 3;
        if (uVar4 == 2) {
          DAT_000b5640 = 0x444620;
        }
        else if (uVar4 == 3) {
          DAT_000b5640 = 0x56535220;
          DAT_000b5644 = 0;
        }
        else if (uVar4 == 1) {
          DAT_000b5640 = 0x43455620;
          DAT_000b5644 = 0;
        }
        else {
          DAT_000b5640 = 0x414320;
        }
      }
      param_2 = param_2 >> 6;
      puVar6 = &DAT_000b5640;
      do {
        puVar5 = puVar6;
        uVar3 = *puVar5 + 0xfefefeff & ~*puVar5;
        uVar4 = uVar3 & 0x80808080;
        puVar6 = puVar5 + 1;
      } while (uVar4 == 0);
      bVar8 = (uVar3 & 0x8080) == 0;
      if (bVar8) {
        uVar4 = uVar4 >> 0x10;
      }
      if (bVar8) {
        puVar6 = (uint *)((int)puVar5 + 6);
      }
      puVar7 = (undefined4 *)((int)puVar6 + (-3 - (uint)CARRY1((byte)uVar4,(byte)uVar4)));
      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_000b5640 != '\0') {
        return (uint *)((int)&DAT_000b5640 + 1);
      }
      return &DAT_000b5640;
    }
  }
  else if (sVar1 == 8) {
    if (param_2 == 0x20) {
      return (uint *)0x7bb72;
    }
    if (param_2 < 0x21) {
      if (param_2 == 4) {
        return (uint *)"OPTIONAL";
      }
      if (param_2 == 8) {
        return (uint *)"MIPS PLT";
      }
    }
    else {
      if (param_2 == 0xa0) {
        return (uint *)"MICROMIPS, MIPS PIC";
      }
      if (param_2 == 0xf0) {
        return (uint *)"MIPS16";
      }
      if (param_2 == 0x80) {
        return (uint *)"MICROMIPS";
      }
    }
  }
  pcVar2 = (char *)dcgettext(0,"<other>: %x",5);
  snprintf(&DAT_000b5660,0x20,pcVar2,param_2);
  return (uint *)&DAT_000b5660;
}

