
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void update_abiflags_isa(Target_mips<32,_false> * this, string * name,
   Elf_Word e_flags, Mips_abiflags<false> * abiflags) */

void __thiscall
anon_unknown.dwarf_ead2ad::Target_mips<32,_false>::update_abiflags_isa
          (Target_mips<32,_false> *this,string *name,Elf_Word e_flags,Mips_abiflags<false> *abiflags
          )

{
  bool bVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  char *pcVar5;
  char *format;
  ulong uVar6;
  
  uVar2 = e_flags & 0xf0000000;
  if (uVar2 == 0x50000000) {
    uVar3 = 0x101;
  }
  else if (uVar2 < 0x50000001) {
    if (uVar2 == 0x20000000) {
      uVar3 = 0x18;
    }
    else if (uVar2 < 0x20000001) {
      if (uVar2 == 0) {
        uVar3 = 8;
      }
      else {
        uVar3 = 0x10;
        if (uVar2 != 0x10000000) goto LAB_00292ca7;
      }
    }
    else if (uVar2 == 0x30000000) {
      uVar3 = 0x20;
    }
    else {
      uVar3 = 0x28;
      if (uVar2 != 0x40000000) goto LAB_00292ca7;
    }
  }
  else if (uVar2 == 0x80000000) {
    uVar3 = 0x202;
  }
  else if (uVar2 < 0x80000001) {
    if (uVar2 == 0x60000000) {
      uVar3 = 0x201;
    }
    else {
      uVar3 = 0x102;
      if (uVar2 != 0x70000000) {
LAB_00292ca7:
        pcVar5 = Target_mips<32,_true>::elf_mips_mach_name
                           ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name);
        name = (string *)(name->_M_dataplus)._M_p;
        format = (char *)gettext("%s: Unknown architecture %s");
        gold::gold_error(format,name,pcVar5);
        goto LAB_00292c47;
      }
    }
  }
  else if (uVar2 == 0x90000000) {
    uVar3 = 0x106;
  }
  else {
    uVar3 = 0x206;
    if (uVar2 != 0xa0000000) goto LAB_00292ca7;
  }
  if (((uint)abiflags->isa_level << 3 | (uint)abiflags->isa_rev) < uVar3) {
    abiflags->isa_rev = (byte)uVar3 & 7;
    abiflags->isa_level = (Valtype8)((int)uVar3 >> 3);
  }
LAB_00292c47:
  uVar3 = Target_mips<32,_true>::elf_mips_mach
                    ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name);
  uVar2 = 3000;
  uVar6 = (ulong)uVar3;
  uVar4 = abiflags->isa_ext - 1;
  if (uVar4 < 0x12) {
    uVar2 = *(uint *)(CSWTCH_4748 + (ulong)uVar4 * 4);
    bVar1 = mips_mach_extends(this,uVar2,uVar3);
  }
  else {
    bVar1 = mips_mach_extends(this,3000,uVar3);
  }
  if (bVar1) {
    uVar2 = Target_mips<32,_true>::mips_isa_ext((Target_mips<32,_true> *)(uVar6 & 0xffffffff),uVar2)
    ;
    abiflags->isa_ext = uVar2;
  }
  return;
}



void FUN_00292bd0(undefined8 param_1,undefined8 *param_2,uint param_3,long param_4)

{
  undefined8 uVar1;
  char cVar2;
  uint uVar3;
  undefined4 uVar4;
  undefined8 uVar5;
  undefined8 uVar6;
  uint uVar7;
  ulong uVar8;
  
  uVar3 = param_3 & 0xf0000000;
  if (uVar3 == 0x50000000) {
    uVar7 = 0x101;
  }
  else if (uVar3 < 0x50000001) {
    if (uVar3 == 0x20000000) {
      uVar7 = 0x18;
    }
    else if (uVar3 < 0x20000001) {
      if (uVar3 == 0) {
        uVar7 = 8;
      }
      else {
        uVar7 = 0x10;
        if (uVar3 != 0x10000000) goto LAB_00292ca7;
      }
    }
    else if (uVar3 == 0x30000000) {
      uVar7 = 0x20;
    }
    else {
      uVar7 = 0x28;
      if (uVar3 != 0x40000000) goto LAB_00292ca7;
    }
  }
  else if (uVar3 == 0x80000000) {
    uVar7 = 0x202;
  }
  else if (uVar3 < 0x80000001) {
    if (uVar3 == 0x60000000) {
      uVar7 = 0x201;
    }
    else {
      uVar7 = 0x102;
      if (uVar3 != 0x70000000) {
LAB_00292ca7:
        uVar5 = FUN_002901a0(param_3);
        uVar1 = *param_2;
        uVar6 = gettext("%s: Unknown architecture %s");
        FUN_0034a750(uVar6,uVar1,uVar5);
        goto LAB_00292c47;
      }
    }
  }
  else if (uVar3 == 0x90000000) {
    uVar7 = 0x106;
  }
  else {
    uVar7 = 0x206;
    if (uVar3 != 0xa0000000) goto LAB_00292ca7;
  }
  if (((uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3)) < uVar7) {
    *(byte *)(param_4 + 3) = (byte)uVar7 & 7;
    *(char *)(param_4 + 2) = (char)((int)uVar7 >> 3);
  }
LAB_00292c47:
  uVar3 = FUN_0028ff00(param_3);
  uVar8 = (ulong)uVar3;
  uVar3 = *(int *)(param_4 + 8) - 1;
  if (uVar3 < 0x12) {
    cVar2 = FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8);
  }
  else {
    cVar2 = FUN_00292b30(param_1,3000,uVar8);
  }
  if (cVar2 != '\0') {
    uVar4 = FUN_002904a0(uVar8 & 0xffffffff);
    *(undefined4 *)(param_4 + 8) = uVar4;
  }
  return;
}


MOV EAX,EDX
PUSH R14
AND EAX,0xf0000000
PUSH R13
PUSH R12
MOV R12D,EDX
PUSH RBP
MOV RBP,RCX
PUSH RBX
MOV RBX,RDI
CMP EAX,0x50000000
JZ 0x00292db0
JBE 0x00292ce0
CMP EAX,0x80000000
JZ 0x00292d90
JA 0x00292c90
CMP EAX,0x60000000
JZ 0x00292d50
MOV EDX,0x102
CMP EAX,0x70000000
JNZ 0x00292ca7
NOP dword ptr [RAX]
MOVZX EAX,byte ptr [RBP + 0x2]
MOVZX ECX,byte ptr [RBP + 0x3]
SHL EAX,0x3
OR EAX,ECX
CMP EDX,EAX
JLE 0x00292c47
MOV EAX,EDX
AND EDX,0x7
SAR EAX,0x3
MOV byte ptr [RBP + 0x3],DL
MOV byte ptr [RBP + 0x2],AL
MOV EDI,R12D
CALL 0x0028ff00
MOV ESI,0xbb8
MOV R8D,EAX
MOV EAX,dword ptr [RBP + 0x8]
SUB EAX,0x1
CMP EAX,0x11
JBE 0x00292d28
MOV EDX,R8D
MOV RDI,RBX
CALL 0x00292b30
TEST AL,AL
JZ 0x00292c80
MOV EDI,R8D
CALL 0x002904a0
MOV dword ptr [RBP + 0x8],EAX
POP RBX
POP RBP
POP R12
POP R13
POP R14
RET
CMP EAX,0x90000000
JZ 0x00292d80
MOV EDX,0x206
CMP EAX,0xa0000000
JZ 0x00292c28
MOV EDI,R12D
CALL 0x002901a0
LEA RDI,[0x558623]
MOV R13,qword ptr [RSI]
MOV R14,RAX
CALL 0x00177320
MOV RDX,R14
MOV RDI,RAX
MOV RSI,R13
XOR EAX,EAX
CALL 0x0034a750
JMP 0x00292c47
CMP EAX,0x20000000
JZ 0x00292da0
JA 0x00292d08
TEST EAX,EAX
JZ 0x00292d70
MOV EDX,0x10
CMP EAX,0x10000000
JZ 0x00292c28
JMP 0x00292ca7
CMP EAX,0x30000000
JZ 0x00292d60
MOV EDX,0x28
CMP EAX,0x40000000
JZ 0x00292c28
JMP 0x00292ca7
LEA RDX,[0x55e4e0]
MOV RDI,RBX
MOV ESI,dword ptr [RDX + RAX*0x4]
MOV EDX,R8D
CALL 0x00292b30
TEST AL,AL
JZ 0x00292c80
JMP 0x00292c75
MOV EDX,0x201
JMP 0x00292c28
MOV EDX,0x20
JMP 0x00292c28
MOV EDX,0x8
JMP 0x00292c28
MOV EDX,0x106
JMP 0x00292c28
MOV EDX,0x202
JMP 0x00292c28
MOV EDX,0x18
JMP 0x00292c28
MOV EDX,0x101
JMP 0x00292c28
(translation_unit "void FUN_00292bd0(undefined8 param_1,undefined8 *param_2,uint param_3,long param_4)\n\n{\n  undefined8 uVar1;\n  char cVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  ulong uVar8;\n  \n  uVar3 = param_3 & 0xf0000000;\n  if (uVar3 == 0x50000000) {\n    uVar7 = 0x101;\n  }\n  else if (uVar3 < 0x50000001) {\n    if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }\n  }\n  else if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }\n  if (((uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3)) < uVar7) {\n    *(byte *)(param_4 + 3) = (byte)uVar7 & 7;\n    *(char *)(param_4 + 2) = (char)((int)uVar7 >> 3);\n  }\nLAB_00292c47:\n  uVar3 = FUN_0028ff00(param_3);\n  uVar8 = (ulong)uVar3;\n  uVar3 = *(int *)(param_4 + 8) - 1;\n  if (uVar3 < 0x12) {\n    cVar2 = FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8);\n  }\n  else {\n    cVar2 = FUN_00292b30(param_1,3000,uVar8);\n  }\n  if (cVar2 != '\0') {\n    uVar4 = FUN_002904a0(uVar8 & 0xffffffff);\n    *(undefined4 *)(param_4 + 8) = uVar4;\n  }\n  return;\n}\n\n" (function_definition "void FUN_00292bd0(undefined8 param_1,undefined8 *param_2,uint param_3,long param_4)\n\n{\n  undefined8 uVar1;\n  char cVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  ulong uVar8;\n  \n  uVar3 = param_3 & 0xf0000000;\n  if (uVar3 == 0x50000000) {\n    uVar7 = 0x101;\n  }\n  else if (uVar3 < 0x50000001) {\n    if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }\n  }\n  else if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }\n  if (((uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3)) < uVar7) {\n    *(byte *)(param_4 + 3) = (byte)uVar7 & 7;\n    *(char *)(param_4 + 2) = (char)((int)uVar7 >> 3);\n  }\nLAB_00292c47:\n  uVar3 = FUN_0028ff00(param_3);\n  uVar8 = (ulong)uVar3;\n  uVar3 = *(int *)(param_4 + 8) - 1;\n  if (uVar3 < 0x12) {\n    cVar2 = FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8);\n  }\n  else {\n    cVar2 = FUN_00292b30(param_1,3000,uVar8);\n  }\n  if (cVar2 != '\0') {\n    uVar4 = FUN_002904a0(uVar8 & 0xffffffff);\n    *(undefined4 *)(param_4 + 8) = uVar4;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00292bd0(undefined8 param_1,undefined8 *param_2,uint param_3,long param_4)" identifier (parameter_list "(undefined8 param_1,undefined8 *param_2,uint param_3,long param_4)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "long param_4" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  undefined8 uVar1;\n  char cVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  ulong uVar8;\n  \n  uVar3 = param_3 & 0xf0000000;\n  if (uVar3 == 0x50000000) {\n    uVar7 = 0x101;\n  }\n  else if (uVar3 < 0x50000001) {\n    if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }\n  }\n  else if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }\n  if (((uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3)) < uVar7) {\n    *(byte *)(param_4 + 3) = (byte)uVar7 & 7;\n    *(char *)(param_4 + 2) = (char)((int)uVar7 >> 3);\n  }\nLAB_00292c47:\n  uVar3 = FUN_0028ff00(param_3);\n  uVar8 = (ulong)uVar3;\n  uVar3 = *(int *)(param_4 + 8) - 1;\n  if (uVar3 < 0x12) {\n    cVar2 = FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8);\n  }\n  else {\n    cVar2 = FUN_00292b30(param_1,3000,uVar8);\n  }\n  if (cVar2 != '\0') {\n    uVar4 = FUN_002904a0(uVar8 & 0xffffffff);\n    *(undefined4 *)(param_4 + 8) = uVar4;\n  }\n  return;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "ulong uVar8;" type_identifier identifier ;) (expression_statement "uVar3 = param_3 & 0xf0000000;" (assignment_expression "uVar3 = param_3 & 0xf0000000" identifier = (binary_expression "param_3 & 0xf0000000" identifier & number_literal)) ;) (if_statement "if (uVar3 == 0x50000000) {\n    uVar7 = 0x101;\n  }\n  else if (uVar3 < 0x50000001) {\n    if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }\n  }\n  else if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" if (parenthesized_expression "(uVar3 == 0x50000000)" ( (binary_expression "uVar3 == 0x50000000" identifier == number_literal) )) (compound_statement "{\n    uVar7 = 0x101;\n  }" { (expression_statement "uVar7 = 0x101;" (assignment_expression "uVar7 = 0x101" identifier = number_literal) ;) }) (else_clause "else if (uVar3 < 0x50000001) {\n    if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }\n  }\n  else if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" else (if_statement "if (uVar3 < 0x50000001) {\n    if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }\n  }\n  else if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" if (parenthesized_expression "(uVar3 < 0x50000001)" ( (binary_expression "uVar3 < 0x50000001" identifier < number_literal) )) (compound_statement "{\n    if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }\n  }" { (if_statement "if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }" if (parenthesized_expression "(uVar3 == 0x20000000)" ( (binary_expression "uVar3 == 0x20000000" identifier == number_literal) )) (compound_statement "{\n      uVar7 = 0x18;\n    }" { (expression_statement "uVar7 = 0x18;" (assignment_expression "uVar7 = 0x18" identifier = number_literal) ;) }) (else_clause "else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }" else (if_statement "if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }" if (parenthesized_expression "(uVar3 < 0x20000001)" ( (binary_expression "uVar3 < 0x20000001" identifier < number_literal) )) (compound_statement "{\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }" { (if_statement "if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }" if (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar7 = 8;\n      }" { (expression_statement "uVar7 = 8;" (assignment_expression "uVar7 = 8" identifier = number_literal) ;) }) (else_clause "else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }" else (compound_statement "{\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }" { (expression_statement "uVar7 = 0x10;" (assignment_expression "uVar7 = 0x10" identifier = number_literal) ;) (if_statement "if (uVar3 != 0x10000000) goto LAB_00292ca7;" if (parenthesized_expression "(uVar3 != 0x10000000)" ( (binary_expression "uVar3 != 0x10000000" identifier != number_literal) )) (goto_statement "goto LAB_00292ca7;" goto statement_identifier ;)) }))) }) (else_clause "else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }" else (if_statement "if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }" if (parenthesized_expression "(uVar3 == 0x30000000)" ( (binary_expression "uVar3 == 0x30000000" identifier == number_literal) )) (compound_statement "{\n      uVar7 = 0x20;\n    }" { (expression_statement "uVar7 = 0x20;" (assignment_expression "uVar7 = 0x20" identifier = number_literal) ;) }) (else_clause "else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }" else (compound_statement "{\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }" { (expression_statement "uVar7 = 0x28;" (assignment_expression "uVar7 = 0x28" identifier = number_literal) ;) (if_statement "if (uVar3 != 0x40000000) goto LAB_00292ca7;" if (parenthesized_expression "(uVar3 != 0x40000000)" ( (binary_expression "uVar3 != 0x40000000" identifier != number_literal) )) (goto_statement "goto LAB_00292ca7;" goto statement_identifier ;)) }))))))) }) (else_clause "else if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" else (if_statement "if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" if (parenthesized_expression "(uVar3 == 0x80000000)" ( (binary_expression "uVar3 == 0x80000000" identifier == number_literal) )) (compound_statement "{\n    uVar7 = 0x202;\n  }" { (expression_statement "uVar7 = 0x202;" (assignment_expression "uVar7 = 0x202" identifier = number_literal) ;) }) (else_clause "else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" else (if_statement "if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" if (parenthesized_expression "(uVar3 < 0x80000001)" ( (binary_expression "uVar3 < 0x80000001" identifier < number_literal) )) (compound_statement "{\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }" { (if_statement "if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }" if (parenthesized_expression "(uVar3 == 0x60000000)" ( (binary_expression "uVar3 == 0x60000000" identifier == number_literal) )) (compound_statement "{\n      uVar7 = 0x201;\n    }" { (expression_statement "uVar7 = 0x201;" (assignment_expression "uVar7 = 0x201" identifier = number_literal) ;) }) (else_clause "else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }" else (compound_statement "{\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }" { (expression_statement "uVar7 = 0x102;" (assignment_expression "uVar7 = 0x102" identifier = number_literal) ;) (if_statement "if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }" if (parenthesized_expression "(uVar3 != 0x70000000)" ( (binary_expression "uVar3 != 0x70000000" identifier != number_literal) )) (compound_statement "{\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }" { (labeled_statement "LAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);" statement_identifier : (expression_statement "uVar5 = FUN_002901a0(param_3);" (assignment_expression "uVar5 = FUN_002901a0(param_3)" identifier = (call_expression "FUN_002901a0(param_3)" identifier (argument_list "(param_3)" ( identifier )))) ;)) (expression_statement "uVar1 = *param_2;" (assignment_expression "uVar1 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar6 = gettext("%s: Unknown architecture %s");" (assignment_expression "uVar6 = gettext("%s: Unknown architecture %s")" identifier = (call_expression "gettext("%s: Unknown architecture %s")" identifier (argument_list "("%s: Unknown architecture %s")" ( (string_literal ""%s: Unknown architecture %s"" " string_content ") )))) ;) (expression_statement "FUN_0034a750(uVar6,uVar1,uVar5);" (call_expression "FUN_0034a750(uVar6,uVar1,uVar5)" identifier (argument_list "(uVar6,uVar1,uVar5)" ( identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_00292c47;" goto statement_identifier ;) })) }))) }) (else_clause "else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" else (if_statement "if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" if (parenthesized_expression "(uVar3 == 0x90000000)" ( (binary_expression "uVar3 == 0x90000000" identifier == number_literal) )) (compound_statement "{\n    uVar7 = 0x106;\n  }" { (expression_statement "uVar7 = 0x106;" (assignment_expression "uVar7 = 0x106" identifier = number_literal) ;) }) (else_clause "else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" else (compound_statement "{\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" { (expression_statement "uVar7 = 0x206;" (assignment_expression "uVar7 = 0x206" identifier = number_literal) ;) (if_statement "if (uVar3 != 0xa0000000) goto LAB_00292ca7;" if (parenthesized_expression "(uVar3 != 0xa0000000)" ( (binary_expression "uVar3 != 0xa0000000" identifier != number_literal) )) (goto_statement "goto LAB_00292ca7;" goto statement_identifier ;)) }))))))))))) (if_statement "if (((uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3)) < uVar7) {\n    *(byte *)(param_4 + 3) = (byte)uVar7 & 7;\n    *(char *)(param_4 + 2) = (char)((int)uVar7 >> 3);\n  }" if (parenthesized_expression "(((uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3)) < uVar7)" ( (binary_expression "((uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3)) < uVar7" (parenthesized_expression "((uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3))" ( (binary_expression "(uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3)" (binary_expression "(uint)*(byte *)(param_4 + 2) << 3" (binary_expression "(uint)*(byte *)(param_4 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(param_4 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 2)" ( (binary_expression "param_4 + 2" identifier + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)(param_4 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(param_4 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 3)" ( (binary_expression "param_4 + 3" identifier + number_literal) ))))) )) < identifier) )) (compound_statement "{\n    *(byte *)(param_4 + 3) = (byte)uVar7 & 7;\n    *(char *)(param_4 + 2) = (char)((int)uVar7 >> 3);\n  }" { (expression_statement "*(byte *)(param_4 + 3) = (byte)uVar7 & 7;" (assignment_expression "*(byte *)(param_4 + 3) = (byte)uVar7 & 7" (pointer_expression "*(byte *)(param_4 + 3)" * (cast_expression "(byte *)(param_4 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 3)" ( (binary_expression "param_4 + 3" identifier + number_literal) )))) = (binary_expression "(byte)uVar7 & 7" (cast_expression "(byte)uVar7" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "*(char *)(param_4 + 2) = (char)((int)uVar7 >> 3);" (assignment_expression "*(char *)(param_4 + 2) = (char)((int)uVar7 >> 3)" (pointer_expression "*(char *)(param_4 + 2)" * (cast_expression "(char *)(param_4 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 2)" ( (binary_expression "param_4 + 2" identifier + number_literal) )))) = (cast_expression "(char)((int)uVar7 >> 3)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((int)uVar7 >> 3)" ( (binary_expression "(int)uVar7 >> 3" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) })) (labeled_statement "LAB_00292c47:\n  uVar3 = FUN_0028ff00(param_3);" statement_identifier : (expression_statement "uVar3 = FUN_0028ff00(param_3);" (assignment_expression "uVar3 = FUN_0028ff00(param_3)" identifier = (call_expression "FUN_0028ff00(param_3)" identifier (argument_list "(param_3)" ( identifier )))) ;)) (expression_statement "uVar8 = (ulong)uVar3;" (assignment_expression "uVar8 = (ulong)uVar3" identifier = (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar3 = *(int *)(param_4 + 8) - 1;" (assignment_expression "uVar3 = *(int *)(param_4 + 8) - 1" identifier = (binary_expression "*(int *)(param_4 + 8) - 1" (pointer_expression "*(int *)(param_4 + 8)" * (cast_expression "(int *)(param_4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 8)" ( (binary_expression "param_4 + 8" identifier + number_literal) )))) - number_literal)) ;) (if_statement "if (uVar3 < 0x12) {\n    cVar2 = FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8);\n  }\n  else {\n    cVar2 = FUN_00292b30(param_1,3000,uVar8);\n  }" if (parenthesized_expression "(uVar3 < 0x12)" ( (binary_expression "uVar3 < 0x12" identifier < number_literal) )) (compound_statement "{\n    cVar2 = FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8);\n  }" { (expression_statement "cVar2 = FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8);" (assignment_expression "cVar2 = FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8)" identifier = (call_expression "FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8)" identifier (argument_list "(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8)" ( identifier , (pointer_expression "*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4)" * (cast_expression "(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0055e4e0 + (ulong)uVar3 * 4)" ( (binary_expression "&DAT_0055e4e0 + (ulong)uVar3 * 4" (pointer_expression "&DAT_0055e4e0" & identifier) + (binary_expression "(ulong)uVar3 * 4" (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) , identifier )))) ;) }) (else_clause "else {\n    cVar2 = FUN_00292b30(param_1,3000,uVar8);\n  }" else (compound_statement "{\n    cVar2 = FUN_00292b30(param_1,3000,uVar8);\n  }" { (expression_statement "cVar2 = FUN_00292b30(param_1,3000,uVar8);" (assignment_expression "cVar2 = FUN_00292b30(param_1,3000,uVar8)" identifier = (call_expression "FUN_00292b30(param_1,3000,uVar8)" identifier (argument_list "(param_1,3000,uVar8)" ( identifier , number_literal , identifier )))) ;) }))) (if_statement "if (cVar2 != '\0') {\n    uVar4 = FUN_002904a0(uVar8 & 0xffffffff);\n    *(undefined4 *)(param_4 + 8) = uVar4;\n  }" if (parenthesized_expression "(cVar2 != '\0')" ( (binary_expression "cVar2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar4 = FUN_002904a0(uVar8 & 0xffffffff);\n    *(undefined4 *)(param_4 + 8) = uVar4;\n  }" { (expression_statement "uVar4 = FUN_002904a0(uVar8 & 0xffffffff);" (assignment_expression "uVar4 = FUN_002904a0(uVar8 & 0xffffffff)" identifier = (call_expression "FUN_002904a0(uVar8 & 0xffffffff)" identifier (argument_list "(uVar8 & 0xffffffff)" ( (binary_expression "uVar8 & 0xffffffff" identifier & number_literal) )))) ;) (expression_statement "*(undefined4 *)(param_4 + 8) = uVar4;" (assignment_expression "*(undefined4 *)(param_4 + 8) = uVar4" (pointer_expression "*(undefined4 *)(param_4 + 8)" * (cast_expression "(undefined4 *)(param_4 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 8)" ( (binary_expression "param_4 + 8" identifier + number_literal) )))) = identifier) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void update_abiflags_isa(Target_mips<32,_false> * this, string * name,\n   Elf_Word e_flags, Mips_abiflags<false> * abiflags) */\n\nvoid __thiscall\nanon_unknown.dwarf_ead2ad::Target_mips<32,_false>::update_abiflags_isa\n          (Target_mips<32,_false> *this,string *name,Elf_Word e_flags,Mips_abiflags<false> *abiflags\n          )\n\n{\n  bool bVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  char *pcVar5;\n  char *format;\n  ulong uVar6;\n  \n  uVar2 = e_flags & 0xf0000000;\n  if (uVar2 == 0x50000000) {\n    uVar3 = 0x101;\n  }\n  else if (uVar2 < 0x50000001) {\n    if (uVar2 == 0x20000000) {\n      uVar3 = 0x18;\n    }\n    else if (uVar2 < 0x20000001) {\n      if (uVar2 == 0) {\n        uVar3 = 8;\n      }\n      else {\n        uVar3 = 0x10;\n        if (uVar2 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar2 == 0x30000000) {\n      uVar3 = 0x20;\n    }\n    else {\n      uVar3 = 0x28;\n      if (uVar2 != 0x40000000) goto LAB_00292ca7;\n    }\n  }\n  else if (uVar2 == 0x80000000) {\n    uVar3 = 0x202;\n  }\n  else if (uVar2 < 0x80000001) {\n    if (uVar2 == 0x60000000) {\n      uVar3 = 0x201;\n    }\n    else {\n      uVar3 = 0x102;\n      if (uVar2 != 0x70000000) {\nLAB_00292ca7:\n        pcVar5 = Target_mips<32,_true>::elf_mips_mach_name\n                           ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name);\n        name = (string *)(name->_M_dataplus)._M_p;\n        format = (char *)gettext("%s: Unknown architecture %s");\n        gold::gold_error(format,name,pcVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar2 == 0x90000000) {\n    uVar3 = 0x106;\n  }\n  else {\n    uVar3 = 0x206;\n    if (uVar2 != 0xa0000000) goto LAB_00292ca7;\n  }\n  if (((uint)abiflags->isa_level << 3 | (uint)abiflags->isa_rev) < uVar3) {\n    abiflags->isa_rev = (byte)uVar3 & 7;\n    abiflags->isa_level = (Valtype8)((int)uVar3 >> 3);\n  }\nLAB_00292c47:\n  uVar3 = Target_mips<32,_true>::elf_mips_mach\n                    ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name);\n  uVar2 = 3000;\n  uVar6 = (ulong)uVar3;\n  uVar4 = abiflags->isa_ext - 1;\n  if (uVar4 < 0x12) {\n    uVar2 = *(uint *)(CSWTCH_4748 + (ulong)uVar4 * 4);\n    bVar1 = mips_mach_extends(this,uVar2,uVar3);\n  }\n  else {\n    bVar1 = mips_mach_extends(this,3000,uVar3);\n  }\n  if (bVar1) {\n    uVar2 = Target_mips<32,_true>::mips_isa_ext((Target_mips<32,_true> *)(uVar6 & 0xffffffff),uVar2)\n    ;\n    abiflags->isa_ext = uVar2;\n  }\n  return;\n}\n\n" comment comment (declaration "void __thiscall\nanon_unknown.dwarf_ead2ad::Target_mips<32,_false>::update_abiflags_isa\n          (Target_mips<32,_false> *this,string *name,Elf_Word e_flags,Mips_abiflags<false> *abiflags\n          )\n\n{\n  bool bVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) identifier (ERROR ".dwarf_ead2ad::Target_mips<32" . identifier : : identifier < number_literal) , (ERROR "_false>::update_abiflags_isa\n          (Target_mips<32,_false> *this,string *name,Elf_Word e_flags,Mips_abiflags<false> *abiflags\n          )\n\n{\n  bool" identifier > : : (function_declarator "update_abiflags_isa\n          (Target_mips<32,_false> *this,string *name,Elf_Word e_flags,Mips_abiflags<false> *abiflags\n          )" identifier (parameter_list "(Target_mips<32,_false> *this,string *name,Elf_Word e_flags,Mips_abiflags<false> *abiflags\n          )" ( (parameter_declaration "Target_mips" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "string *name" type_identifier (pointer_declarator "*name" * identifier)) , (parameter_declaration "Elf_Word e_flags" type_identifier identifier) , (parameter_declaration "Mips_abiflags<false> *abiflags" type_identifier (ERROR "<false>" < false >) (pointer_declarator "*abiflags" * identifier)) ))) { primitive_type) identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "ulong uVar6;" type_identifier identifier ;) (expression_statement "uVar2 = e_flags & 0xf0000000;" (assignment_expression "uVar2 = e_flags & 0xf0000000" identifier = (binary_expression "e_flags & 0xf0000000" identifier & number_literal)) ;) (if_statement "if (uVar2 == 0x50000000) {\n    uVar3 = 0x101;\n  }\n  else if (uVar2 < 0x50000001) {\n    if (uVar2 == 0x20000000) {\n      uVar3 = 0x18;\n    }\n    else if (uVar2 < 0x20000001) {\n      if (uVar2 == 0) {\n        uVar3 = 8;\n      }\n      else {\n        uVar3 = 0x10;\n        if (uVar2 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar2 == 0x30000000) {\n      uVar3 = 0x20;\n    }\n    else {\n      uVar3 = 0x28;\n      if (uVar2 != 0x40000000) goto LAB_00292ca7;\n    }\n  }\n  else if (uVar2 == 0x80000000) {\n    uVar3 = 0x202;\n  }\n  else if (uVar2 < 0x80000001) {\n    if (uVar2 == 0x60000000) {\n      uVar3 = 0x201;\n    }\n    else {\n      uVar3 = 0x102;\n      if (uVar2 != 0x70000000) {\nLAB_00292ca7:\n        pcVar5 = Target_mips<32,_true>::elf_mips_mach_name\n                           ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name);\n        name = (string *)(name->_M_dataplus)._M_p;\n        format = (char *)gettext("%s: Unknown architecture %s");\n        gold::gold_error(format,name,pcVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar2 == 0x90000000) {\n    uVar3 = 0x106;\n  }\n  else {\n    uVar3 = 0x206;\n    if (uVar2 != 0xa0000000) goto LAB_00292ca7;\n  }" if (parenthesized_expression "(uVar2 == 0x50000000)" ( (binary_expression "uVar2 == 0x50000000" identifier == number_literal) )) (compound_statement "{\n    uVar3 = 0x101;\n  }" { (expression_statement "uVar3 = 0x101;" (assignment_expression "uVar3 = 0x101" identifier = number_literal) ;) }) (else_clause "else if (uVar2 < 0x50000001) {\n    if (uVar2 == 0x20000000) {\n      uVar3 = 0x18;\n    }\n    else if (uVar2 < 0x20000001) {\n      if (uVar2 == 0) {\n        uVar3 = 8;\n      }\n      else {\n        uVar3 = 0x10;\n        if (uVar2 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar2 == 0x30000000) {\n      uVar3 = 0x20;\n    }\n    else {\n      uVar3 = 0x28;\n      if (uVar2 != 0x40000000) goto LAB_00292ca7;\n    }\n  }\n  else if (uVar2 == 0x80000000) {\n    uVar3 = 0x202;\n  }\n  else if (uVar2 < 0x80000001) {\n    if (uVar2 == 0x60000000) {\n      uVar3 = 0x201;\n    }\n    else {\n      uVar3 = 0x102;\n      if (uVar2 != 0x70000000) {\nLAB_00292ca7:\n        pcVar5 = Target_mips<32,_true>::elf_mips_mach_name\n                           ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name);\n        name = (string *)(name->_M_dataplus)._M_p;\n        format = (char *)gettext("%s: Unknown architecture %s");\n        gold::gold_error(format,name,pcVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar2 == 0x90000000) {\n    uVar3 = 0x106;\n  }\n  else {\n    uVar3 = 0x206;\n    if (uVar2 != 0xa0000000) goto LAB_00292ca7;\n  }" else (if_statement "if (uVar2 < 0x50000001) {\n    if (uVar2 == 0x20000000) {\n      uVar3 = 0x18;\n    }\n    else if (uVar2 < 0x20000001) {\n      if (uVar2 == 0) {\n        uVar3 = 8;\n      }\n      else {\n        uVar3 = 0x10;\n        if (uVar2 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar2 == 0x30000000) {\n      uVar3 = 0x20;\n    }\n    else {\n      uVar3 = 0x28;\n      if (uVar2 != 0x40000000) goto LAB_00292ca7;\n    }\n  }\n  else if (uVar2 == 0x80000000) {\n    uVar3 = 0x202;\n  }\n  else if (uVar2 < 0x80000001) {\n    if (uVar2 == 0x60000000) {\n      uVar3 = 0x201;\n    }\n    else {\n      uVar3 = 0x102;\n      if (uVar2 != 0x70000000) {\nLAB_00292ca7:\n        pcVar5 = Target_mips<32,_true>::elf_mips_mach_name\n                           ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name);\n        name = (string *)(name->_M_dataplus)._M_p;\n        format = (char *)gettext("%s: Unknown architecture %s");\n        gold::gold_error(format,name,pcVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar2 == 0x90000000) {\n    uVar3 = 0x106;\n  }\n  else {\n    uVar3 = 0x206;\n    if (uVar2 != 0xa0000000) goto LAB_00292ca7;\n  }" if (parenthesized_expression "(uVar2 < 0x50000001)" ( (binary_expression "uVar2 < 0x50000001" identifier < number_literal) )) (compound_statement "{\n    if (uVar2 == 0x20000000) {\n      uVar3 = 0x18;\n    }\n    else if (uVar2 < 0x20000001) {\n      if (uVar2 == 0) {\n        uVar3 = 8;\n      }\n      else {\n        uVar3 = 0x10;\n        if (uVar2 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar2 == 0x30000000) {\n      uVar3 = 0x20;\n    }\n    else {\n      uVar3 = 0x28;\n      if (uVar2 != 0x40000000) goto LAB_00292ca7;\n    }\n  }" { (if_statement "if (uVar2 == 0x20000000) {\n      uVar3 = 0x18;\n    }\n    else if (uVar2 < 0x20000001) {\n      if (uVar2 == 0) {\n        uVar3 = 8;\n      }\n      else {\n        uVar3 = 0x10;\n        if (uVar2 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar2 == 0x30000000) {\n      uVar3 = 0x20;\n    }\n    else {\n      uVar3 = 0x28;\n      if (uVar2 != 0x40000000) goto LAB_00292ca7;\n    }" if (parenthesized_expression "(uVar2 == 0x20000000)" ( (binary_expression "uVar2 == 0x20000000" identifier == number_literal) )) (compound_statement "{\n      uVar3 = 0x18;\n    }" { (expression_statement "uVar3 = 0x18;" (assignment_expression "uVar3 = 0x18" identifier = number_literal) ;) }) (else_clause "else if (uVar2 < 0x20000001) {\n      if (uVar2 == 0) {\n        uVar3 = 8;\n      }\n      else {\n        uVar3 = 0x10;\n        if (uVar2 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar2 == 0x30000000) {\n      uVar3 = 0x20;\n    }\n    else {\n      uVar3 = 0x28;\n      if (uVar2 != 0x40000000) goto LAB_00292ca7;\n    }" else (if_statement "if (uVar2 < 0x20000001) {\n      if (uVar2 == 0) {\n        uVar3 = 8;\n      }\n      else {\n        uVar3 = 0x10;\n        if (uVar2 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar2 == 0x30000000) {\n      uVar3 = 0x20;\n    }\n    else {\n      uVar3 = 0x28;\n      if (uVar2 != 0x40000000) goto LAB_00292ca7;\n    }" if (parenthesized_expression "(uVar2 < 0x20000001)" ( (binary_expression "uVar2 < 0x20000001" identifier < number_literal) )) (compound_statement "{\n      if (uVar2 == 0) {\n        uVar3 = 8;\n      }\n      else {\n        uVar3 = 0x10;\n        if (uVar2 != 0x10000000) goto LAB_00292ca7;\n      }\n    }" { (if_statement "if (uVar2 == 0) {\n        uVar3 = 8;\n      }\n      else {\n        uVar3 = 0x10;\n        if (uVar2 != 0x10000000) goto LAB_00292ca7;\n      }" if (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar3 = 8;\n      }" { (expression_statement "uVar3 = 8;" (assignment_expression "uVar3 = 8" identifier = number_literal) ;) }) (else_clause "else {\n        uVar3 = 0x10;\n        if (uVar2 != 0x10000000) goto LAB_00292ca7;\n      }" else (compound_statement "{\n        uVar3 = 0x10;\n        if (uVar2 != 0x10000000) goto LAB_00292ca7;\n      }" { (expression_statement "uVar3 = 0x10;" (assignment_expression "uVar3 = 0x10" identifier = number_literal) ;) (if_statement "if (uVar2 != 0x10000000) goto LAB_00292ca7;" if (parenthesized_expression "(uVar2 != 0x10000000)" ( (binary_expression "uVar2 != 0x10000000" identifier != number_literal) )) (goto_statement "goto LAB_00292ca7;" goto statement_identifier ;)) }))) }) (else_clause "else if (uVar2 == 0x30000000) {\n      uVar3 = 0x20;\n    }\n    else {\n      uVar3 = 0x28;\n      if (uVar2 != 0x40000000) goto LAB_00292ca7;\n    }" else (if_statement "if (uVar2 == 0x30000000) {\n      uVar3 = 0x20;\n    }\n    else {\n      uVar3 = 0x28;\n      if (uVar2 != 0x40000000) goto LAB_00292ca7;\n    }" if (parenthesized_expression "(uVar2 == 0x30000000)" ( (binary_expression "uVar2 == 0x30000000" identifier == number_literal) )) (compound_statement "{\n      uVar3 = 0x20;\n    }" { (expression_statement "uVar3 = 0x20;" (assignment_expression "uVar3 = 0x20" identifier = number_literal) ;) }) (else_clause "else {\n      uVar3 = 0x28;\n      if (uVar2 != 0x40000000) goto LAB_00292ca7;\n    }" else (compound_statement "{\n      uVar3 = 0x28;\n      if (uVar2 != 0x40000000) goto LAB_00292ca7;\n    }" { (expression_statement "uVar3 = 0x28;" (assignment_expression "uVar3 = 0x28" identifier = number_literal) ;) (if_statement "if (uVar2 != 0x40000000) goto LAB_00292ca7;" if (parenthesized_expression "(uVar2 != 0x40000000)" ( (binary_expression "uVar2 != 0x40000000" identifier != number_literal) )) (goto_statement "goto LAB_00292ca7;" goto statement_identifier ;)) }))))))) }) (else_clause "else if (uVar2 == 0x80000000) {\n    uVar3 = 0x202;\n  }\n  else if (uVar2 < 0x80000001) {\n    if (uVar2 == 0x60000000) {\n      uVar3 = 0x201;\n    }\n    else {\n      uVar3 = 0x102;\n      if (uVar2 != 0x70000000) {\nLAB_00292ca7:\n        pcVar5 = Target_mips<32,_true>::elf_mips_mach_name\n                           ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name);\n        name = (string *)(name->_M_dataplus)._M_p;\n        format = (char *)gettext("%s: Unknown architecture %s");\n        gold::gold_error(format,name,pcVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar2 == 0x90000000) {\n    uVar3 = 0x106;\n  }\n  else {\n    uVar3 = 0x206;\n    if (uVar2 != 0xa0000000) goto LAB_00292ca7;\n  }" else (if_statement "if (uVar2 == 0x80000000) {\n    uVar3 = 0x202;\n  }\n  else if (uVar2 < 0x80000001) {\n    if (uVar2 == 0x60000000) {\n      uVar3 = 0x201;\n    }\n    else {\n      uVar3 = 0x102;\n      if (uVar2 != 0x70000000) {\nLAB_00292ca7:\n        pcVar5 = Target_mips<32,_true>::elf_mips_mach_name\n                           ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name);\n        name = (string *)(name->_M_dataplus)._M_p;\n        format = (char *)gettext("%s: Unknown architecture %s");\n        gold::gold_error(format,name,pcVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar2 == 0x90000000) {\n    uVar3 = 0x106;\n  }\n  else {\n    uVar3 = 0x206;\n    if (uVar2 != 0xa0000000) goto LAB_00292ca7;\n  }" if (parenthesized_expression "(uVar2 == 0x80000000)" ( (binary_expression "uVar2 == 0x80000000" identifier == number_literal) )) (compound_statement "{\n    uVar3 = 0x202;\n  }" { (expression_statement "uVar3 = 0x202;" (assignment_expression "uVar3 = 0x202" identifier = number_literal) ;) }) (else_clause "else if (uVar2 < 0x80000001) {\n    if (uVar2 == 0x60000000) {\n      uVar3 = 0x201;\n    }\n    else {\n      uVar3 = 0x102;\n      if (uVar2 != 0x70000000) {\nLAB_00292ca7:\n        pcVar5 = Target_mips<32,_true>::elf_mips_mach_name\n                           ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name);\n        name = (string *)(name->_M_dataplus)._M_p;\n        format = (char *)gettext("%s: Unknown architecture %s");\n        gold::gold_error(format,name,pcVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar2 == 0x90000000) {\n    uVar3 = 0x106;\n  }\n  else {\n    uVar3 = 0x206;\n    if (uVar2 != 0xa0000000) goto LAB_00292ca7;\n  }" else (if_statement "if (uVar2 < 0x80000001) {\n    if (uVar2 == 0x60000000) {\n      uVar3 = 0x201;\n    }\n    else {\n      uVar3 = 0x102;\n      if (uVar2 != 0x70000000) {\nLAB_00292ca7:\n        pcVar5 = Target_mips<32,_true>::elf_mips_mach_name\n                           ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name);\n        name = (string *)(name->_M_dataplus)._M_p;\n        format = (char *)gettext("%s: Unknown architecture %s");\n        gold::gold_error(format,name,pcVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar2 == 0x90000000) {\n    uVar3 = 0x106;\n  }\n  else {\n    uVar3 = 0x206;\n    if (uVar2 != 0xa0000000) goto LAB_00292ca7;\n  }" if (parenthesized_expression "(uVar2 < 0x80000001)" ( (binary_expression "uVar2 < 0x80000001" identifier < number_literal) )) (compound_statement "{\n    if (uVar2 == 0x60000000) {\n      uVar3 = 0x201;\n    }\n    else {\n      uVar3 = 0x102;\n      if (uVar2 != 0x70000000) {\nLAB_00292ca7:\n        pcVar5 = Target_mips<32,_true>::elf_mips_mach_name\n                           ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name);\n        name = (string *)(name->_M_dataplus)._M_p;\n        format = (char *)gettext("%s: Unknown architecture %s");\n        gold::gold_error(format,name,pcVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }" { (if_statement "if (uVar2 == 0x60000000) {\n      uVar3 = 0x201;\n    }\n    else {\n      uVar3 = 0x102;\n      if (uVar2 != 0x70000000) {\nLAB_00292ca7:\n        pcVar5 = Target_mips<32,_true>::elf_mips_mach_name\n                           ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name);\n        name = (string *)(name->_M_dataplus)._M_p;\n        format = (char *)gettext("%s: Unknown architecture %s");\n        gold::gold_error(format,name,pcVar5);\n        goto LAB_00292c47;\n      }\n    }" if (parenthesized_expression "(uVar2 == 0x60000000)" ( (binary_expression "uVar2 == 0x60000000" identifier == number_literal) )) (compound_statement "{\n      uVar3 = 0x201;\n    }" { (expression_statement "uVar3 = 0x201;" (assignment_expression "uVar3 = 0x201" identifier = number_literal) ;) }) (else_clause "else {\n      uVar3 = 0x102;\n      if (uVar2 != 0x70000000) {\nLAB_00292ca7:\n        pcVar5 = Target_mips<32,_true>::elf_mips_mach_name\n                           ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name);\n        name = (string *)(name->_M_dataplus)._M_p;\n        format = (char *)gettext("%s: Unknown architecture %s");\n        gold::gold_error(format,name,pcVar5);\n        goto LAB_00292c47;\n      }\n    }" else (compound_statement "{\n      uVar3 = 0x102;\n      if (uVar2 != 0x70000000) {\nLAB_00292ca7:\n        pcVar5 = Target_mips<32,_true>::elf_mips_mach_name\n                           ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name);\n        name = (string *)(name->_M_dataplus)._M_p;\n        format = (char *)gettext("%s: Unknown architecture %s");\n        gold::gold_error(format,name,pcVar5);\n        goto LAB_00292c47;\n      }\n    }" { (expression_statement "uVar3 = 0x102;" (assignment_expression "uVar3 = 0x102" identifier = number_literal) ;) (if_statement "if (uVar2 != 0x70000000) {\nLAB_00292ca7:\n        pcVar5 = Target_mips<32,_true>::elf_mips_mach_name\n                           ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name);\n        name = (string *)(name->_M_dataplus)._M_p;\n        format = (char *)gettext("%s: Unknown architecture %s");\n        gold::gold_error(format,name,pcVar5);\n        goto LAB_00292c47;\n      }" if (parenthesized_expression "(uVar2 != 0x70000000)" ( (binary_expression "uVar2 != 0x70000000" identifier != number_literal) )) (compound_statement "{\nLAB_00292ca7:\n        pcVar5 = Target_mips<32,_true>::elf_mips_mach_name\n                           ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name);\n        name = (string *)(name->_M_dataplus)._M_p;\n        format = (char *)gettext("%s: Unknown architecture %s");\n        gold::gold_error(format,name,pcVar5);\n        goto LAB_00292c47;\n      }" { (labeled_statement "LAB_00292ca7:\n        pcVar5 = Target_mips<32,_true>::elf_mips_mach_name\n                           ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name);" statement_identifier : (expression_statement "pcVar5 = Target_mips<32,_true>::elf_mips_mach_name\n                           ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name);" (comma_expression "pcVar5 = Target_mips<32,_true>::elf_mips_mach_name\n                           ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name)" (assignment_expression "pcVar5 = Target_mips<32" identifier = (binary_expression "Target_mips<32" identifier < number_literal)) , (binary_expression "_true>::elf_mips_mach_name\n                           ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name)" identifier > (ERROR "::" : :) (call_expression "elf_mips_mach_name\n                           ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name)" identifier (argument_list "((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name)" ( (call_expression "(Target_mips<32,_true> *)(ulong)" (parenthesized_expression "(Target_mips<32,_true> *)" ( (comma_expression "Target_mips<32,_true> *" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_true> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(ulong)" ( identifier ))) (ERROR "e_flags" identifier) , (cast_expression "(Elf_Word)name" ( (type_descriptor "Elf_Word" type_identifier) ) identifier) ))))) ;)) (expression_statement "name = (string *)(name->_M_dataplus)._M_p;" (assignment_expression "name = (string *)(name->_M_dataplus)._M_p" identifier = (cast_expression "(string *)(name->_M_dataplus)._M_p" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(name->_M_dataplus)._M_p" (parenthesized_expression "(name->_M_dataplus)" ( (field_expression "name->_M_dataplus" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "format = (char *)gettext("%s: Unknown architecture %s");" (assignment_expression "format = (char *)gettext("%s: Unknown architecture %s")" identifier = (cast_expression "(char *)gettext("%s: Unknown architecture %s")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("%s: Unknown architecture %s")" identifier (argument_list "("%s: Unknown architecture %s")" ( (string_literal ""%s: Unknown architecture %s"" " string_content ") ))))) ;) (labeled_statement "gold::gold_error(format,name,pcVar5);" statement_identifier : (ERROR ":" :) (expression_statement "gold_error(format,name,pcVar5);" (call_expression "gold_error(format,name,pcVar5)" identifier (argument_list "(format,name,pcVar5)" ( identifier , identifier , identifier ))) ;)) (goto_statement "goto LAB_00292c47;" goto statement_identifier ;) })) }))) }) (else_clause "else if (uVar2 == 0x90000000) {\n    uVar3 = 0x106;\n  }\n  else {\n    uVar3 = 0x206;\n    if (uVar2 != 0xa0000000) goto LAB_00292ca7;\n  }" else (if_statement "if (uVar2 == 0x90000000) {\n    uVar3 = 0x106;\n  }\n  else {\n    uVar3 = 0x206;\n    if (uVar2 != 0xa0000000) goto LAB_00292ca7;\n  }" if (parenthesized_expression "(uVar2 == 0x90000000)" ( (binary_expression "uVar2 == 0x90000000" identifier == number_literal) )) (compound_statement "{\n    uVar3 = 0x106;\n  }" { (expression_statement "uVar3 = 0x106;" (assignment_expression "uVar3 = 0x106" identifier = number_literal) ;) }) (else_clause "else {\n    uVar3 = 0x206;\n    if (uVar2 != 0xa0000000) goto LAB_00292ca7;\n  }" else (compound_statement "{\n    uVar3 = 0x206;\n    if (uVar2 != 0xa0000000) goto LAB_00292ca7;\n  }" { (expression_statement "uVar3 = 0x206;" (assignment_expression "uVar3 = 0x206" identifier = number_literal) ;) (if_statement "if (uVar2 != 0xa0000000) goto LAB_00292ca7;" if (parenthesized_expression "(uVar2 != 0xa0000000)" ( (binary_expression "uVar2 != 0xa0000000" identifier != number_literal) )) (goto_statement "goto LAB_00292ca7;" goto statement_identifier ;)) }))))))))))) (if_statement "if (((uint)abiflags->isa_level << 3 | (uint)abiflags->isa_rev) < uVar3) {\n    abiflags->isa_rev = (byte)uVar3 & 7;\n    abiflags->isa_level = (Valtype8)((int)uVar3 >> 3);\n  }" if (parenthesized_expression "(((uint)abiflags->isa_level << 3 | (uint)abiflags->isa_rev) < uVar3)" ( (binary_expression "((uint)abiflags->isa_level << 3 | (uint)abiflags->isa_rev) < uVar3" (parenthesized_expression "((uint)abiflags->isa_level << 3 | (uint)abiflags->isa_rev)" ( (binary_expression "(uint)abiflags->isa_level << 3 | (uint)abiflags->isa_rev" (binary_expression "(uint)abiflags->isa_level << 3" (cast_expression "(uint)abiflags->isa_level" ( (type_descriptor "uint" type_identifier) ) (field_expression "abiflags->isa_level" identifier -> field_identifier)) << number_literal) | (cast_expression "(uint)abiflags->isa_rev" ( (type_descriptor "uint" type_identifier) ) (field_expression "abiflags->isa_rev" identifier -> field_identifier))) )) < identifier) )) (compound_statement "{\n    abiflags->isa_rev = (byte)uVar3 & 7;\n    abiflags->isa_level = (Valtype8)((int)uVar3 >> 3);\n  }" { (expression_statement "abiflags->isa_rev = (byte)uVar3 & 7;" (assignment_expression "abiflags->isa_rev = (byte)uVar3 & 7" (field_expression "abiflags->isa_rev" identifier -> field_identifier) = (binary_expression "(byte)uVar3 & 7" (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "abiflags->isa_level = (Valtype8)((int)uVar3 >> 3);" (assignment_expression "abiflags->isa_level = (Valtype8)((int)uVar3 >> 3)" (field_expression "abiflags->isa_level" identifier -> field_identifier) = (call_expression "(Valtype8)((int)uVar3 >> 3)" (parenthesized_expression "(Valtype8)" ( identifier )) (argument_list "((int)uVar3 >> 3)" ( (binary_expression "(int)uVar3 >> 3" (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) })) (labeled_statement "LAB_00292c47:\n  uVar3 = Target_mips<32,_true>::elf_mips_mach\n                    ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name);" statement_identifier : (expression_statement "uVar3 = Target_mips<32,_true>::elf_mips_mach\n                    ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name);" (comma_expression "uVar3 = Target_mips<32,_true>::elf_mips_mach\n                    ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name)" (assignment_expression "uVar3 = Target_mips<32" identifier = (binary_expression "Target_mips<32" identifier < number_literal)) , (binary_expression "_true>::elf_mips_mach\n                    ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name)" identifier > (ERROR "::" : :) (call_expression "elf_mips_mach\n                    ((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name)" identifier (argument_list "((Target_mips<32,_true> *)(ulong)e_flags,(Elf_Word)name)" ( (call_expression "(Target_mips<32,_true> *)(ulong)" (parenthesized_expression "(Target_mips<32,_true> *)" ( (comma_expression "Target_mips<32,_true> *" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_true> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(ulong)" ( identifier ))) (ERROR "e_flags" identifier) , (cast_expression "(Elf_Word)name" ( (type_descriptor "Elf_Word" type_identifier) ) identifier) ))))) ;)) (expression_statement "uVar2 = 3000;" (assignment_expression "uVar2 = 3000" identifier = number_literal) ;) (expression_statement "uVar6 = (ulong)uVar3;" (assignment_expression "uVar6 = (ulong)uVar3" identifier = (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar4 = abiflags->isa_ext - 1;" (assignment_expression "uVar4 = abiflags->isa_ext - 1" identifier = (binary_expression "abiflags->isa_ext - 1" (field_expression "abiflags->isa_ext" identifier -> field_identifier) - number_literal)) ;) (if_statement "if (uVar4 < 0x12) {\n    uVar2 = *(uint *)(CSWTCH_4748 + (ulong)uVar4 * 4);\n    bVar1 = mips_mach_extends(this,uVar2,uVar3);\n  }\n  else {\n    bVar1 = mips_mach_extends(this,3000,uVar3);\n  }" if (parenthesized_expression "(uVar4 < 0x12)" ( (binary_expression "uVar4 < 0x12" identifier < number_literal) )) (compound_statement "{\n    uVar2 = *(uint *)(CSWTCH_4748 + (ulong)uVar4 * 4);\n    bVar1 = mips_mach_extends(this,uVar2,uVar3);\n  }" { (expression_statement "uVar2 = *(uint *)(CSWTCH_4748 + (ulong)uVar4 * 4);" (assignment_expression "uVar2 = *(uint *)(CSWTCH_4748 + (ulong)uVar4 * 4)" identifier = (pointer_expression "*(uint *)(CSWTCH_4748 + (ulong)uVar4 * 4)" * (cast_expression "(uint *)(CSWTCH_4748 + (ulong)uVar4 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CSWTCH_4748 + (ulong)uVar4 * 4)" ( (binary_expression "CSWTCH_4748 + (ulong)uVar4 * 4" identifier + (binary_expression "(ulong)uVar4 * 4" (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;) (expression_statement "bVar1 = mips_mach_extends(this,uVar2,uVar3);" (assignment_expression "bVar1 = mips_mach_extends(this,uVar2,uVar3)" identifier = (call_expression "mips_mach_extends(this,uVar2,uVar3)" identifier (argument_list "(this,uVar2,uVar3)" ( identifier , identifier , identifier )))) ;) }) (else_clause "else {\n    bVar1 = mips_mach_extends(this,3000,uVar3);\n  }" else (compound_statement "{\n    bVar1 = mips_mach_extends(this,3000,uVar3);\n  }" { (expression_statement "bVar1 = mips_mach_extends(this,3000,uVar3);" (assignment_expression "bVar1 = mips_mach_extends(this,3000,uVar3)" identifier = (call_expression "mips_mach_extends(this,3000,uVar3)" identifier (argument_list "(this,3000,uVar3)" ( identifier , number_literal , identifier )))) ;) }))) (if_statement "if (bVar1) {\n    uVar2 = Target_mips<32,_true>::mips_isa_ext((Target_mips<32,_true> *)(uVar6 & 0xffffffff),uVar2)\n    ;\n    abiflags->isa_ext = uVar2;\n  }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n    uVar2 = Target_mips<32,_true>::mips_isa_ext((Target_mips<32,_true> *)(uVar6 & 0xffffffff),uVar2)\n    ;\n    abiflags->isa_ext = uVar2;\n  }" { (expression_statement "uVar2 = Target_mips<32,_true>::mips_isa_ext((Target_mips<32,_true> *)(uVar6 & 0xffffffff),uVar2)\n    ;" (comma_expression "uVar2 = Target_mips<32,_true>::mips_isa_ext((Target_mips<32,_true> *)(uVar6 & 0xffffffff),uVar2)" (assignment_expression "uVar2 = Target_mips<32" identifier = (binary_expression "Target_mips<32" identifier < number_literal)) , (binary_expression "_true>::mips_isa_ext((Target_mips<32,_true> *)(uVar6 & 0xffffffff),uVar2)" identifier > (ERROR "::" : :) (call_expression "mips_isa_ext((Target_mips<32,_true> *)(uVar6 & 0xffffffff),uVar2)" identifier (argument_list "((Target_mips<32,_true> *)(uVar6 & 0xffffffff),uVar2)" ( (call_expression "(Target_mips<32,_true> *)(uVar6 & 0xffffffff)" (parenthesized_expression "(Target_mips<32,_true> *)" ( (comma_expression "Target_mips<32,_true> *" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_true> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(uVar6 & 0xffffffff)" ( (binary_expression "uVar6 & 0xffffffff" identifier & number_literal) ))) , identifier ))))) ;) (expression_statement "abiflags->isa_ext = uVar2;" (assignment_expression "abiflags->isa_ext = uVar2" (field_expression "abiflags->isa_ext" identifier -> field_identifier) = identifier) ;) })) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_00292bd0(undefined8 param_1,undefined8 *param_2,uint param_3,long param_4)\n\n{\n  undefined8 uVar1;\n  char cVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  ulong uVar8;\n  \n  uVar3 = param_3 & 0xf0000000;\n  if (uVar3 == 0x50000000) {\n    uVar7 = 0x101;\n  }\n  else if (uVar3 < 0x50000001) {\n    if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }\n  }\n  else if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }\n  if (((uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3)) < uVar7) {\n    *(byte *)(param_4 + 3) = (byte)uVar7 & 7;\n    *(char *)(param_4 + 2) = (char)((int)uVar7 >> 3);\n  }\nLAB_00292c47:\n  uVar3 = FUN_0028ff00(param_3);\n  uVar8 = (ulong)uVar3;\n  uVar3 = *(int *)(param_4 + 8) - 1;\n  if (uVar3 < 0x12) {\n    cVar2 = FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8);\n  }\n  else {\n    cVar2 = FUN_00292b30(param_1,3000,uVar8);\n  }\n  if (cVar2 != '\0') {\n    uVar4 = FUN_002904a0(uVar8 & 0xffffffff);\n    *(undefined4 *)(param_4 + 8) = uVar4;\n  }\n  return;\n}\n\n" (function_definition "void FUN_00292bd0(undefined8 param_1,undefined8 *param_2,uint param_3,long param_4)\n\n{\n  undefined8 uVar1;\n  char cVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  ulong uVar8;\n  \n  uVar3 = param_3 & 0xf0000000;\n  if (uVar3 == 0x50000000) {\n    uVar7 = 0x101;\n  }\n  else if (uVar3 < 0x50000001) {\n    if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }\n  }\n  else if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }\n  if (((uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3)) < uVar7) {\n    *(byte *)(param_4 + 3) = (byte)uVar7 & 7;\n    *(char *)(param_4 + 2) = (char)((int)uVar7 >> 3);\n  }\nLAB_00292c47:\n  uVar3 = FUN_0028ff00(param_3);\n  uVar8 = (ulong)uVar3;\n  uVar3 = *(int *)(param_4 + 8) - 1;\n  if (uVar3 < 0x12) {\n    cVar2 = FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8);\n  }\n  else {\n    cVar2 = FUN_00292b30(param_1,3000,uVar8);\n  }\n  if (cVar2 != '\0') {\n    uVar4 = FUN_002904a0(uVar8 & 0xffffffff);\n    *(undefined4 *)(param_4 + 8) = uVar4;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00292bd0(undefined8 param_1,undefined8 *param_2,uint param_3,long param_4)" identifier (parameter_list "(undefined8 param_1,undefined8 *param_2,uint param_3,long param_4)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "long param_4" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  undefined8 uVar1;\n  char cVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  ulong uVar8;\n  \n  uVar3 = param_3 & 0xf0000000;\n  if (uVar3 == 0x50000000) {\n    uVar7 = 0x101;\n  }\n  else if (uVar3 < 0x50000001) {\n    if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }\n  }\n  else if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }\n  if (((uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3)) < uVar7) {\n    *(byte *)(param_4 + 3) = (byte)uVar7 & 7;\n    *(char *)(param_4 + 2) = (char)((int)uVar7 >> 3);\n  }\nLAB_00292c47:\n  uVar3 = FUN_0028ff00(param_3);\n  uVar8 = (ulong)uVar3;\n  uVar3 = *(int *)(param_4 + 8) - 1;\n  if (uVar3 < 0x12) {\n    cVar2 = FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8);\n  }\n  else {\n    cVar2 = FUN_00292b30(param_1,3000,uVar8);\n  }\n  if (cVar2 != '\0') {\n    uVar4 = FUN_002904a0(uVar8 & 0xffffffff);\n    *(undefined4 *)(param_4 + 8) = uVar4;\n  }\n  return;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "ulong uVar8;" type_identifier identifier ;) (expression_statement "uVar3 = param_3 & 0xf0000000;" (assignment_expression "uVar3 = param_3 & 0xf0000000" identifier = (binary_expression "param_3 & 0xf0000000" identifier & number_literal)) ;) (if_statement "if (uVar3 == 0x50000000) {\n    uVar7 = 0x101;\n  }\n  else if (uVar3 < 0x50000001) {\n    if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }\n  }\n  else if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" if (parenthesized_expression "(uVar3 == 0x50000000)" ( (binary_expression "uVar3 == 0x50000000" identifier == number_literal) )) (compound_statement "{\n    uVar7 = 0x101;\n  }" { (expression_statement "uVar7 = 0x101;" (assignment_expression "uVar7 = 0x101" identifier = number_literal) ;) }) (else_clause "else if (uVar3 < 0x50000001) {\n    if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }\n  }\n  else if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" else (if_statement "if (uVar3 < 0x50000001) {\n    if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }\n  }\n  else if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" if (parenthesized_expression "(uVar3 < 0x50000001)" ( (binary_expression "uVar3 < 0x50000001" identifier < number_literal) )) (compound_statement "{\n    if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }\n  }" { (if_statement "if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }" if (parenthesized_expression "(uVar3 == 0x20000000)" ( (binary_expression "uVar3 == 0x20000000" identifier == number_literal) )) (compound_statement "{\n      uVar7 = 0x18;\n    }" { (expression_statement "uVar7 = 0x18;" (assignment_expression "uVar7 = 0x18" identifier = number_literal) ;) }) (else_clause "else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }" else (if_statement "if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }" if (parenthesized_expression "(uVar3 < 0x20000001)" ( (binary_expression "uVar3 < 0x20000001" identifier < number_literal) )) (compound_statement "{\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }" { (if_statement "if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }" if (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar7 = 8;\n      }" { (expression_statement "uVar7 = 8;" (assignment_expression "uVar7 = 8" identifier = number_literal) ;) }) (else_clause "else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }" else (compound_statement "{\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }" { (expression_statement "uVar7 = 0x10;" (assignment_expression "uVar7 = 0x10" identifier = number_literal) ;) (if_statement "if (uVar3 != 0x10000000) goto LAB_00292ca7;" if (parenthesized_expression "(uVar3 != 0x10000000)" ( (binary_expression "uVar3 != 0x10000000" identifier != number_literal) )) (goto_statement "goto LAB_00292ca7;" goto statement_identifier ;)) }))) }) (else_clause "else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }" else (if_statement "if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }" if (parenthesized_expression "(uVar3 == 0x30000000)" ( (binary_expression "uVar3 == 0x30000000" identifier == number_literal) )) (compound_statement "{\n      uVar7 = 0x20;\n    }" { (expression_statement "uVar7 = 0x20;" (assignment_expression "uVar7 = 0x20" identifier = number_literal) ;) }) (else_clause "else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }" else (compound_statement "{\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }" { (expression_statement "uVar7 = 0x28;" (assignment_expression "uVar7 = 0x28" identifier = number_literal) ;) (if_statement "if (uVar3 != 0x40000000) goto LAB_00292ca7;" if (parenthesized_expression "(uVar3 != 0x40000000)" ( (binary_expression "uVar3 != 0x40000000" identifier != number_literal) )) (goto_statement "goto LAB_00292ca7;" goto statement_identifier ;)) }))))))) }) (else_clause "else if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" else (if_statement "if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" if (parenthesized_expression "(uVar3 == 0x80000000)" ( (binary_expression "uVar3 == 0x80000000" identifier == number_literal) )) (compound_statement "{\n    uVar7 = 0x202;\n  }" { (expression_statement "uVar7 = 0x202;" (assignment_expression "uVar7 = 0x202" identifier = number_literal) ;) }) (else_clause "else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" else (if_statement "if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" if (parenthesized_expression "(uVar3 < 0x80000001)" ( (binary_expression "uVar3 < 0x80000001" identifier < number_literal) )) (compound_statement "{\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }" { (if_statement "if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }" if (parenthesized_expression "(uVar3 == 0x60000000)" ( (binary_expression "uVar3 == 0x60000000" identifier == number_literal) )) (compound_statement "{\n      uVar7 = 0x201;\n    }" { (expression_statement "uVar7 = 0x201;" (assignment_expression "uVar7 = 0x201" identifier = number_literal) ;) }) (else_clause "else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }" else (compound_statement "{\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }" { (expression_statement "uVar7 = 0x102;" (assignment_expression "uVar7 = 0x102" identifier = number_literal) ;) (if_statement "if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }" if (parenthesized_expression "(uVar3 != 0x70000000)" ( (binary_expression "uVar3 != 0x70000000" identifier != number_literal) )) (compound_statement "{\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }" { (labeled_statement "LAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);" statement_identifier : (expression_statement "uVar5 = FUN_002901a0(param_3);" (assignment_expression "uVar5 = FUN_002901a0(param_3)" identifier = (call_expression "FUN_002901a0(param_3)" identifier (argument_list "(param_3)" ( identifier )))) ;)) (expression_statement "uVar1 = *param_2;" (assignment_expression "uVar1 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar6 = gettext("%s: Unknown architecture %s");" (assignment_expression "uVar6 = gettext("%s: Unknown architecture %s")" identifier = (call_expression "gettext("%s: Unknown architecture %s")" identifier (argument_list "("%s: Unknown architecture %s")" ( (string_literal ""%s: Unknown architecture %s"" " string_content ") )))) ;) (expression_statement "FUN_0034a750(uVar6,uVar1,uVar5);" (call_expression "FUN_0034a750(uVar6,uVar1,uVar5)" identifier (argument_list "(uVar6,uVar1,uVar5)" ( identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_00292c47;" goto statement_identifier ;) })) }))) }) (else_clause "else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" else (if_statement "if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" if (parenthesized_expression "(uVar3 == 0x90000000)" ( (binary_expression "uVar3 == 0x90000000" identifier == number_literal) )) (compound_statement "{\n    uVar7 = 0x106;\n  }" { (expression_statement "uVar7 = 0x106;" (assignment_expression "uVar7 = 0x106" identifier = number_literal) ;) }) (else_clause "else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" else (compound_statement "{\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" { (expression_statement "uVar7 = 0x206;" (assignment_expression "uVar7 = 0x206" identifier = number_literal) ;) (if_statement "if (uVar3 != 0xa0000000) goto LAB_00292ca7;" if (parenthesized_expression "(uVar3 != 0xa0000000)" ( (binary_expression "uVar3 != 0xa0000000" identifier != number_literal) )) (goto_statement "goto LAB_00292ca7;" goto statement_identifier ;)) }))))))))))) (if_statement "if (((uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3)) < uVar7) {\n    *(byte *)(param_4 + 3) = (byte)uVar7 & 7;\n    *(char *)(param_4 + 2) = (char)((int)uVar7 >> 3);\n  }" if (parenthesized_expression "(((uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3)) < uVar7)" ( (binary_expression "((uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3)) < uVar7" (parenthesized_expression "((uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3))" ( (binary_expression "(uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3)" (binary_expression "(uint)*(byte *)(param_4 + 2) << 3" (binary_expression "(uint)*(byte *)(param_4 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(param_4 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 2)" ( (binary_expression "param_4 + 2" identifier + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)(param_4 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(param_4 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 3)" ( (binary_expression "param_4 + 3" identifier + number_literal) ))))) )) < identifier) )) (compound_statement "{\n    *(byte *)(param_4 + 3) = (byte)uVar7 & 7;\n    *(char *)(param_4 + 2) = (char)((int)uVar7 >> 3);\n  }" { (expression_statement "*(byte *)(param_4 + 3) = (byte)uVar7 & 7;" (assignment_expression "*(byte *)(param_4 + 3) = (byte)uVar7 & 7" (pointer_expression "*(byte *)(param_4 + 3)" * (cast_expression "(byte *)(param_4 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 3)" ( (binary_expression "param_4 + 3" identifier + number_literal) )))) = (binary_expression "(byte)uVar7 & 7" (cast_expression "(byte)uVar7" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "*(char *)(param_4 + 2) = (char)((int)uVar7 >> 3);" (assignment_expression "*(char *)(param_4 + 2) = (char)((int)uVar7 >> 3)" (pointer_expression "*(char *)(param_4 + 2)" * (cast_expression "(char *)(param_4 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 2)" ( (binary_expression "param_4 + 2" identifier + number_literal) )))) = (cast_expression "(char)((int)uVar7 >> 3)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((int)uVar7 >> 3)" ( (binary_expression "(int)uVar7 >> 3" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) })) (labeled_statement "LAB_00292c47:\n  uVar3 = FUN_0028ff00(param_3);" statement_identifier : (expression_statement "uVar3 = FUN_0028ff00(param_3);" (assignment_expression "uVar3 = FUN_0028ff00(param_3)" identifier = (call_expression "FUN_0028ff00(param_3)" identifier (argument_list "(param_3)" ( identifier )))) ;)) (expression_statement "uVar8 = (ulong)uVar3;" (assignment_expression "uVar8 = (ulong)uVar3" identifier = (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar3 = *(int *)(param_4 + 8) - 1;" (assignment_expression "uVar3 = *(int *)(param_4 + 8) - 1" identifier = (binary_expression "*(int *)(param_4 + 8) - 1" (pointer_expression "*(int *)(param_4 + 8)" * (cast_expression "(int *)(param_4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 8)" ( (binary_expression "param_4 + 8" identifier + number_literal) )))) - number_literal)) ;) (if_statement "if (uVar3 < 0x12) {\n    cVar2 = FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8);\n  }\n  else {\n    cVar2 = FUN_00292b30(param_1,3000,uVar8);\n  }" if (parenthesized_expression "(uVar3 < 0x12)" ( (binary_expression "uVar3 < 0x12" identifier < number_literal) )) (compound_statement "{\n    cVar2 = FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8);\n  }" { (expression_statement "cVar2 = FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8);" (assignment_expression "cVar2 = FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8)" identifier = (call_expression "FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8)" identifier (argument_list "(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8)" ( identifier , (pointer_expression "*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4)" * (cast_expression "(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0055e4e0 + (ulong)uVar3 * 4)" ( (binary_expression "&DAT_0055e4e0 + (ulong)uVar3 * 4" (pointer_expression "&DAT_0055e4e0" & identifier) + (binary_expression "(ulong)uVar3 * 4" (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) , identifier )))) ;) }) (else_clause "else {\n    cVar2 = FUN_00292b30(param_1,3000,uVar8);\n  }" else (compound_statement "{\n    cVar2 = FUN_00292b30(param_1,3000,uVar8);\n  }" { (expression_statement "cVar2 = FUN_00292b30(param_1,3000,uVar8);" (assignment_expression "cVar2 = FUN_00292b30(param_1,3000,uVar8)" identifier = (call_expression "FUN_00292b30(param_1,3000,uVar8)" identifier (argument_list "(param_1,3000,uVar8)" ( identifier , number_literal , identifier )))) ;) }))) (if_statement "if (cVar2 != '\0') {\n    uVar4 = FUN_002904a0(uVar8 & 0xffffffff);\n    *(undefined4 *)(param_4 + 8) = uVar4;\n  }" if (parenthesized_expression "(cVar2 != '\0')" ( (binary_expression "cVar2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar4 = FUN_002904a0(uVar8 & 0xffffffff);\n    *(undefined4 *)(param_4 + 8) = uVar4;\n  }" { (expression_statement "uVar4 = FUN_002904a0(uVar8 & 0xffffffff);" (assignment_expression "uVar4 = FUN_002904a0(uVar8 & 0xffffffff)" identifier = (call_expression "FUN_002904a0(uVar8 & 0xffffffff)" identifier (argument_list "(uVar8 & 0xffffffff)" ( (binary_expression "uVar8 & 0xffffffff" identifier & number_literal) )))) ;) (expression_statement "*(undefined4 *)(param_4 + 8) = uVar4;" (assignment_expression "*(undefined4 *)(param_4 + 8) = uVar4" (pointer_expression "*(undefined4 *)(param_4 + 8)" * (cast_expression "(undefined4 *)(param_4 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 8)" ( (binary_expression "param_4 + 8" identifier + number_literal) )))) = identifier) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & 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 { (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 { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))))))) }) (else_clause else (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 { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))))))))))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) | (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_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 IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) , IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (return_statement return ;) })))
(function_definition "void FUN_00292bd0(undefined8 param_1,undefined8 *param_2,uint param_3,long param_4)\n\n{\n  undefined8 uVar1;\n  char cVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  ulong uVar8;\n  \n  uVar3 = param_3 & 0xf0000000;\n  if (uVar3 == 0x50000000) {\n    uVar7 = 0x101;\n  }\n  else if (uVar3 < 0x50000001) {\n    if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }\n  }\n  else if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }\n  if (((uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3)) < uVar7) {\n    *(byte *)(param_4 + 3) = (byte)uVar7 & 7;\n    *(char *)(param_4 + 2) = (char)((int)uVar7 >> 3);\n  }\nLAB_00292c47:\n  uVar3 = FUN_0028ff00(param_3);\n  uVar8 = (ulong)uVar3;\n  uVar3 = *(int *)(param_4 + 8) - 1;\n  if (uVar3 < 0x12) {\n    cVar2 = FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8);\n  }\n  else {\n    cVar2 = FUN_00292b30(param_1,3000,uVar8);\n  }\n  if (cVar2 != '\0') {\n    uVar4 = FUN_002904a0(uVar8 & 0xffffffff);\n    *(undefined4 *)(param_4 + 8) = uVar4;\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00292bd0(undefined8 param_1,undefined8 *param_2,uint param_3,long param_4)" (identifier "FUN_00292bd0") (parameter_list "(undefined8 param_1,undefined8 *param_2,uint param_3,long param_4)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "undefined8 *param_2" (type_identifier "undefined8") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) (, ",") (parameter_declaration "long param_4" (sized_type_specifier "long" (long "long")) (identifier "param_4")) () ")"))) (compound_statement "{\n  undefined8 uVar1;\n  char cVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  ulong uVar8;\n  \n  uVar3 = param_3 & 0xf0000000;\n  if (uVar3 == 0x50000000) {\n    uVar7 = 0x101;\n  }\n  else if (uVar3 < 0x50000001) {\n    if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }\n  }\n  else if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }\n  if (((uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3)) < uVar7) {\n    *(byte *)(param_4 + 3) = (byte)uVar7 & 7;\n    *(char *)(param_4 + 2) = (char)((int)uVar7 >> 3);\n  }\nLAB_00292c47:\n  uVar3 = FUN_0028ff00(param_3);\n  uVar8 = (ulong)uVar3;\n  uVar3 = *(int *)(param_4 + 8) - 1;\n  if (uVar3 < 0x12) {\n    cVar2 = FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8);\n  }\n  else {\n    cVar2 = FUN_00292b30(param_1,3000,uVar8);\n  }\n  if (cVar2 != '\0') {\n    uVar4 = FUN_002904a0(uVar8 & 0xffffffff);\n    *(undefined4 *)(param_4 + 8) = uVar4;\n  }\n  return;\n}" ({ "{") (declaration "undefined8 uVar1;" (type_identifier "undefined8") (identifier "uVar1") (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "undefined8 uVar5;" (type_identifier "undefined8") (identifier "uVar5") (; ";")) (declaration "undefined8 uVar6;" (type_identifier "undefined8") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "ulong uVar8;" (type_identifier "ulong") (identifier "uVar8") (; ";")) (expression_statement "uVar3 = param_3 & 0xf0000000;" (assignment_expression "uVar3 = param_3 & 0xf0000000" (identifier "uVar3") (= "=") (binary_expression "param_3 & 0xf0000000" (identifier "param_3") (& "&") (number_literal "0xf0000000"))) (; ";")) (if_statement "if (uVar3 == 0x50000000) {\n    uVar7 = 0x101;\n  }\n  else if (uVar3 < 0x50000001) {\n    if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }\n  }\n  else if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" (if "if") (parenthesized_expression "(uVar3 == 0x50000000)" (( "(") (binary_expression "uVar3 == 0x50000000" (identifier "uVar3") (== "==") (number_literal "0x50000000")) () ")")) (compound_statement "{\n    uVar7 = 0x101;\n  }" ({ "{") (expression_statement "uVar7 = 0x101;" (assignment_expression "uVar7 = 0x101" (identifier "uVar7") (= "=") (number_literal "0x101")) (; ";")) (} "}")) (else_clause "else if (uVar3 < 0x50000001) {\n    if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }\n  }\n  else if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" (else "else") (if_statement "if (uVar3 < 0x50000001) {\n    if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }\n  }\n  else if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" (if "if") (parenthesized_expression "(uVar3 < 0x50000001)" (( "(") (binary_expression "uVar3 < 0x50000001" (identifier "uVar3") (< "<") (number_literal "0x50000001")) () ")")) (compound_statement "{\n    if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }\n  }" ({ "{") (if_statement "if (uVar3 == 0x20000000) {\n      uVar7 = 0x18;\n    }\n    else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }" (if "if") (parenthesized_expression "(uVar3 == 0x20000000)" (( "(") (binary_expression "uVar3 == 0x20000000" (identifier "uVar3") (== "==") (number_literal "0x20000000")) () ")")) (compound_statement "{\n      uVar7 = 0x18;\n    }" ({ "{") (expression_statement "uVar7 = 0x18;" (assignment_expression "uVar7 = 0x18" (identifier "uVar7") (= "=") (number_literal "0x18")) (; ";")) (} "}")) (else_clause "else if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }" (else "else") (if_statement "if (uVar3 < 0x20000001) {\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }\n    else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }" (if "if") (parenthesized_expression "(uVar3 < 0x20000001)" (( "(") (binary_expression "uVar3 < 0x20000001" (identifier "uVar3") (< "<") (number_literal "0x20000001")) () ")")) (compound_statement "{\n      if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }\n    }" ({ "{") (if_statement "if (uVar3 == 0) {\n        uVar7 = 8;\n      }\n      else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }" (if "if") (parenthesized_expression "(uVar3 == 0)" (( "(") (binary_expression "uVar3 == 0" (identifier "uVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar7 = 8;\n      }" ({ "{") (expression_statement "uVar7 = 8;" (assignment_expression "uVar7 = 8" (identifier "uVar7") (= "=") (number_literal "8")) (; ";")) (} "}")) (else_clause "else {\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }" (else "else") (compound_statement "{\n        uVar7 = 0x10;\n        if (uVar3 != 0x10000000) goto LAB_00292ca7;\n      }" ({ "{") (expression_statement "uVar7 = 0x10;" (assignment_expression "uVar7 = 0x10" (identifier "uVar7") (= "=") (number_literal "0x10")) (; ";")) (if_statement "if (uVar3 != 0x10000000) goto LAB_00292ca7;" (if "if") (parenthesized_expression "(uVar3 != 0x10000000)" (( "(") (binary_expression "uVar3 != 0x10000000" (identifier "uVar3") (!= "!=") (number_literal "0x10000000")) () ")")) (goto_statement "goto LAB_00292ca7;" (goto "goto") (statement_identifier "LAB_00292ca7") (; ";"))) (} "}")))) (} "}")) (else_clause "else if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }" (else "else") (if_statement "if (uVar3 == 0x30000000) {\n      uVar7 = 0x20;\n    }\n    else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }" (if "if") (parenthesized_expression "(uVar3 == 0x30000000)" (( "(") (binary_expression "uVar3 == 0x30000000" (identifier "uVar3") (== "==") (number_literal "0x30000000")) () ")")) (compound_statement "{\n      uVar7 = 0x20;\n    }" ({ "{") (expression_statement "uVar7 = 0x20;" (assignment_expression "uVar7 = 0x20" (identifier "uVar7") (= "=") (number_literal "0x20")) (; ";")) (} "}")) (else_clause "else {\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }" (else "else") (compound_statement "{\n      uVar7 = 0x28;\n      if (uVar3 != 0x40000000) goto LAB_00292ca7;\n    }" ({ "{") (expression_statement "uVar7 = 0x28;" (assignment_expression "uVar7 = 0x28" (identifier "uVar7") (= "=") (number_literal "0x28")) (; ";")) (if_statement "if (uVar3 != 0x40000000) goto LAB_00292ca7;" (if "if") (parenthesized_expression "(uVar3 != 0x40000000)" (( "(") (binary_expression "uVar3 != 0x40000000" (identifier "uVar3") (!= "!=") (number_literal "0x40000000")) () ")")) (goto_statement "goto LAB_00292ca7;" (goto "goto") (statement_identifier "LAB_00292ca7") (; ";"))) (} "}")))))))) (} "}")) (else_clause "else if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" (else "else") (if_statement "if (uVar3 == 0x80000000) {\n    uVar7 = 0x202;\n  }\n  else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" (if "if") (parenthesized_expression "(uVar3 == 0x80000000)" (( "(") (binary_expression "uVar3 == 0x80000000" (identifier "uVar3") (== "==") (number_literal "0x80000000")) () ")")) (compound_statement "{\n    uVar7 = 0x202;\n  }" ({ "{") (expression_statement "uVar7 = 0x202;" (assignment_expression "uVar7 = 0x202" (identifier "uVar7") (= "=") (number_literal "0x202")) (; ";")) (} "}")) (else_clause "else if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" (else "else") (if_statement "if (uVar3 < 0x80000001) {\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }\n  else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" (if "if") (parenthesized_expression "(uVar3 < 0x80000001)" (( "(") (binary_expression "uVar3 < 0x80000001" (identifier "uVar3") (< "<") (number_literal "0x80000001")) () ")")) (compound_statement "{\n    if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }\n  }" ({ "{") (if_statement "if (uVar3 == 0x60000000) {\n      uVar7 = 0x201;\n    }\n    else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }" (if "if") (parenthesized_expression "(uVar3 == 0x60000000)" (( "(") (binary_expression "uVar3 == 0x60000000" (identifier "uVar3") (== "==") (number_literal "0x60000000")) () ")")) (compound_statement "{\n      uVar7 = 0x201;\n    }" ({ "{") (expression_statement "uVar7 = 0x201;" (assignment_expression "uVar7 = 0x201" (identifier "uVar7") (= "=") (number_literal "0x201")) (; ";")) (} "}")) (else_clause "else {\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }" (else "else") (compound_statement "{\n      uVar7 = 0x102;\n      if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }\n    }" ({ "{") (expression_statement "uVar7 = 0x102;" (assignment_expression "uVar7 = 0x102" (identifier "uVar7") (= "=") (number_literal "0x102")) (; ";")) (if_statement "if (uVar3 != 0x70000000) {\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }" (if "if") (parenthesized_expression "(uVar3 != 0x70000000)" (( "(") (binary_expression "uVar3 != 0x70000000" (identifier "uVar3") (!= "!=") (number_literal "0x70000000")) () ")")) (compound_statement "{\nLAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);\n        uVar1 = *param_2;\n        uVar6 = gettext("%s: Unknown architecture %s");\n        FUN_0034a750(uVar6,uVar1,uVar5);\n        goto LAB_00292c47;\n      }" ({ "{") (labeled_statement "LAB_00292ca7:\n        uVar5 = FUN_002901a0(param_3);" (statement_identifier "LAB_00292ca7") (: ":") (expression_statement "uVar5 = FUN_002901a0(param_3);" (assignment_expression "uVar5 = FUN_002901a0(param_3)" (identifier "uVar5") (= "=") (call_expression "FUN_002901a0(param_3)" (identifier "FUN_002901a0") (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";"))) (expression_statement "uVar1 = *param_2;" (assignment_expression "uVar1 = *param_2" (identifier "uVar1") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar6 = gettext("%s: Unknown architecture %s");" (assignment_expression "uVar6 = gettext("%s: Unknown architecture %s")" (identifier "uVar6") (= "=") (call_expression "gettext("%s: Unknown architecture %s")" (identifier "gettext") (argument_list "("%s: Unknown architecture %s")" (( "(") (string_literal ""%s: Unknown architecture %s"" (" """) (string_content "%s: Unknown architecture %s") (" """)) () ")")))) (; ";")) (expression_statement "FUN_0034a750(uVar6,uVar1,uVar5);" (call_expression "FUN_0034a750(uVar6,uVar1,uVar5)" (identifier "FUN_0034a750") (argument_list "(uVar6,uVar1,uVar5)" (( "(") (identifier "uVar6") (, ",") (identifier "uVar1") (, ",") (identifier "uVar5") () ")"))) (; ";")) (goto_statement "goto LAB_00292c47;" (goto "goto") (statement_identifier "LAB_00292c47") (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" (else "else") (if_statement "if (uVar3 == 0x90000000) {\n    uVar7 = 0x106;\n  }\n  else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" (if "if") (parenthesized_expression "(uVar3 == 0x90000000)" (( "(") (binary_expression "uVar3 == 0x90000000" (identifier "uVar3") (== "==") (number_literal "0x90000000")) () ")")) (compound_statement "{\n    uVar7 = 0x106;\n  }" ({ "{") (expression_statement "uVar7 = 0x106;" (assignment_expression "uVar7 = 0x106" (identifier "uVar7") (= "=") (number_literal "0x106")) (; ";")) (} "}")) (else_clause "else {\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" (else "else") (compound_statement "{\n    uVar7 = 0x206;\n    if (uVar3 != 0xa0000000) goto LAB_00292ca7;\n  }" ({ "{") (expression_statement "uVar7 = 0x206;" (assignment_expression "uVar7 = 0x206" (identifier "uVar7") (= "=") (number_literal "0x206")) (; ";")) (if_statement "if (uVar3 != 0xa0000000) goto LAB_00292ca7;" (if "if") (parenthesized_expression "(uVar3 != 0xa0000000)" (( "(") (binary_expression "uVar3 != 0xa0000000" (identifier "uVar3") (!= "!=") (number_literal "0xa0000000")) () ")")) (goto_statement "goto LAB_00292ca7;" (goto "goto") (statement_identifier "LAB_00292ca7") (; ";"))) (} "}")))))))))))) (if_statement "if (((uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3)) < uVar7) {\n    *(byte *)(param_4 + 3) = (byte)uVar7 & 7;\n    *(char *)(param_4 + 2) = (char)((int)uVar7 >> 3);\n  }" (if "if") (parenthesized_expression "(((uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3)) < uVar7)" (( "(") (binary_expression "((uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3)) < uVar7" (parenthesized_expression "((uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3))" (( "(") (binary_expression "(uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3)" (binary_expression "(uint)*(byte *)(param_4 + 2) << 3" (binary_expression "(uint)*(byte *)(param_4 + 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(param_4 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 2)" (( "(") (binary_expression "param_4 + 2" (identifier "param_4") (+ "+") (number_literal "2")) () ")")))) (<< "<<") (number_literal "3")) (| "|") (binary_expression "(uint)*(byte *)(param_4 + 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(param_4 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 3)" (( "(") (binary_expression "param_4 + 3" (identifier "param_4") (+ "+") (number_literal "3")) () ")"))))) () ")")) (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\n    *(byte *)(param_4 + 3) = (byte)uVar7 & 7;\n    *(char *)(param_4 + 2) = (char)((int)uVar7 >> 3);\n  }" ({ "{") (expression_statement "*(byte *)(param_4 + 3) = (byte)uVar7 & 7;" (assignment_expression "*(byte *)(param_4 + 3) = (byte)uVar7 & 7" (pointer_expression "*(byte *)(param_4 + 3)" (* "*") (cast_expression "(byte *)(param_4 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 3)" (( "(") (binary_expression "param_4 + 3" (identifier "param_4") (+ "+") (number_literal "3")) () ")")))) (= "=") (binary_expression "(byte)uVar7 & 7" (cast_expression "(byte)uVar7" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar7")) (& "&") (number_literal "7"))) (; ";")) (expression_statement "*(char *)(param_4 + 2) = (char)((int)uVar7 >> 3);" (assignment_expression "*(char *)(param_4 + 2) = (char)((int)uVar7 >> 3)" (pointer_expression "*(char *)(param_4 + 2)" (* "*") (cast_expression "(char *)(param_4 + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 2)" (( "(") (binary_expression "param_4 + 2" (identifier "param_4") (+ "+") (number_literal "2")) () ")")))) (= "=") (cast_expression "(char)((int)uVar7 >> 3)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((int)uVar7 >> 3)" (( "(") (binary_expression "(int)uVar7 >> 3" (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7")) (>> ">>") (number_literal "3")) () ")")))) (; ";")) (} "}"))) (labeled_statement "LAB_00292c47:\n  uVar3 = FUN_0028ff00(param_3);" (statement_identifier "LAB_00292c47") (: ":") (expression_statement "uVar3 = FUN_0028ff00(param_3);" (assignment_expression "uVar3 = FUN_0028ff00(param_3)" (identifier "uVar3") (= "=") (call_expression "FUN_0028ff00(param_3)" (identifier "FUN_0028ff00") (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";"))) (expression_statement "uVar8 = (ulong)uVar3;" (assignment_expression "uVar8 = (ulong)uVar3" (identifier "uVar8") (= "=") (cast_expression "(ulong)uVar3" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar3"))) (; ";")) (expression_statement "uVar3 = *(int *)(param_4 + 8) - 1;" (assignment_expression "uVar3 = *(int *)(param_4 + 8) - 1" (identifier "uVar3") (= "=") (binary_expression "*(int *)(param_4 + 8) - 1" (pointer_expression "*(int *)(param_4 + 8)" (* "*") (cast_expression "(int *)(param_4 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 8)" (( "(") (binary_expression "param_4 + 8" (identifier "param_4") (+ "+") (number_literal "8")) () ")")))) (- "-") (number_literal "1"))) (; ";")) (if_statement "if (uVar3 < 0x12) {\n    cVar2 = FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8);\n  }\n  else {\n    cVar2 = FUN_00292b30(param_1,3000,uVar8);\n  }" (if "if") (parenthesized_expression "(uVar3 < 0x12)" (( "(") (binary_expression "uVar3 < 0x12" (identifier "uVar3") (< "<") (number_literal "0x12")) () ")")) (compound_statement "{\n    cVar2 = FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8);\n  }" ({ "{") (expression_statement "cVar2 = FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8);" (assignment_expression "cVar2 = FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8)" (identifier "cVar2") (= "=") (call_expression "FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8)" (identifier "FUN_00292b30") (argument_list "(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8)" (( "(") (identifier "param_1") (, ",") (pointer_expression "*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4)" (* "*") (cast_expression "(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0055e4e0 + (ulong)uVar3 * 4)" (( "(") (binary_expression "&DAT_0055e4e0 + (ulong)uVar3 * 4" (pointer_expression "&DAT_0055e4e0" (& "&") (identifier "DAT_0055e4e0")) (+ "+") (binary_expression "(ulong)uVar3 * 4" (cast_expression "(ulong)uVar3" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar3")) (* "*") (number_literal "4"))) () ")")))) (, ",") (identifier "uVar8") () ")")))) (; ";")) (} "}")) (else_clause "else {\n    cVar2 = FUN_00292b30(param_1,3000,uVar8);\n  }" (else "else") (compound_statement "{\n    cVar2 = FUN_00292b30(param_1,3000,uVar8);\n  }" ({ "{") (expression_statement "cVar2 = FUN_00292b30(param_1,3000,uVar8);" (assignment_expression "cVar2 = FUN_00292b30(param_1,3000,uVar8)" (identifier "cVar2") (= "=") (call_expression "FUN_00292b30(param_1,3000,uVar8)" (identifier "FUN_00292b30") (argument_list "(param_1,3000,uVar8)" (( "(") (identifier "param_1") (, ",") (number_literal "3000") (, ",") (identifier "uVar8") () ")")))) (; ";")) (} "}")))) (if_statement "if (cVar2 != '\0') {\n    uVar4 = FUN_002904a0(uVar8 & 0xffffffff);\n    *(undefined4 *)(param_4 + 8) = uVar4;\n  }" (if "if") (parenthesized_expression "(cVar2 != '\0')" (( "(") (binary_expression "cVar2 != '\0'" (identifier "cVar2") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    uVar4 = FUN_002904a0(uVar8 & 0xffffffff);\n    *(undefined4 *)(param_4 + 8) = uVar4;\n  }" ({ "{") (expression_statement "uVar4 = FUN_002904a0(uVar8 & 0xffffffff);" (assignment_expression "uVar4 = FUN_002904a0(uVar8 & 0xffffffff)" (identifier "uVar4") (= "=") (call_expression "FUN_002904a0(uVar8 & 0xffffffff)" (identifier "FUN_002904a0") (argument_list "(uVar8 & 0xffffffff)" (( "(") (binary_expression "uVar8 & 0xffffffff" (identifier "uVar8") (& "&") (number_literal "0xffffffff")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(param_4 + 8) = uVar4;" (assignment_expression "*(undefined4 *)(param_4 + 8) = uVar4" (pointer_expression "*(undefined4 *)(param_4 + 8)" (* "*") (cast_expression "(undefined4 *)(param_4 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 8)" (( "(") (binary_expression "param_4 + 8" (identifier "param_4") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void update_abiflags_isa(Target_mips<32,_false> * this, string * name,
   Elf_Word e_flags, Mips_abiflags<false> * abiflags) */

void __thiscall
anon_unknown.dwarf_ead2ad::var_3<32,_false>::update_abiflags_isa
          (var_3<32,_false> *this,type_4 *name,type_3 var_1,Mips_abiflags<false> *abiflags
          )

{
  bool bVar1;
  type_1 var_2;
  type_1 var_8;
  type_1 var_10;
  char *pcVar5;
  char *format;
  type_2 var_14;
  
  var_2 = var_1 & 0xf0000000;
  if (var_2 == 0x50000000) {
    var_8 = 0x101;
  }
  else if (var_2 < 0x50000001) {
    if (var_2 == 0x20000000) {
      var_8 = 0x18;
    }
    else if (var_2 < 0x20000001) {
      if (var_2 == 0) {
        var_8 = 8;
      }
      else {
        var_8 = 0x10;
        if (var_2 != 0x10000000) goto LAB_00292ca7;
      }
    }
    else if (var_2 == 0x30000000) {
      var_8 = 0x20;
    }
    else {
      var_8 = 0x28;
      if (var_2 != 0x40000000) goto LAB_00292ca7;
    }
  }
  else if (var_2 == 0x80000000) {
    var_8 = 0x202;
  }
  else if (var_2 < 0x80000001) {
    if (var_2 == 0x60000000) {
      var_8 = 0x201;
    }
    else {
      var_8 = 0x102;
      if (var_2 != 0x70000000) {
LAB_00292ca7:
        pcVar5 = var_3<32,var_4>::var_5
                           ((var_3<32,var_4> *)(type_2)var_1,(type_3)name);
        name = (type_4 *)(name->_M_dataplus)._M_p;
        format = (char *)var_6("%s: Unknown architecture %s");
        gold::var_7(format,name,pcVar5);
        goto LAB_00292c47;
      }
    }
  }
  else if (var_2 == 0x90000000) {
    var_8 = 0x106;
  }
  else {
    var_8 = 0x206;
    if (var_2 != 0xa0000000) goto LAB_00292ca7;
  }
  if (((type_1)abiflags->isa_level << 3 | (type_1)abiflags->isa_rev) < var_8) {
    abiflags->isa_rev = (type_5)var_8 & 7;
    abiflags->isa_level = (Valtype8)((int)var_8 >> 3);
  }
LAB_00292c47:
  var_8 = var_3<32,var_4>::var_9
                    ((var_3<32,var_4> *)(type_2)var_1,(type_3)name);
  var_2 = 3000;
  var_14 = (type_2)var_8;
  var_10 = abiflags->isa_ext - 1;
  if (var_10 < 0x12) {
    var_2 = *(type_1 *)(var_11 + (type_2)var_10 * 4);
    bVar1 = var_12(this,var_2,var_8);
  }
  else {
    bVar1 = var_12(this,3000,var_8);
  }
  if (bVar1) {
    var_2 = var_3<32,var_4>::var_13((var_3<32,var_4> *)(var_14 & 0xffffffff),var_2)
    ;
    abiflags->isa_ext = var_2;
  }
  return;
}


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

void MASKED(undefined8 param_1,undefined8 *param_2,uint param_3,long param_4)

{
  undefined8 uVar1;
  char cVar2;
  uint uVar3;
  undefined4 uVar4;
  undefined8 uVar5;
  undefined8 uVar6;
  uint uVar7;
  ulong uVar8;
  
  uVar3 = param_3 & 0xf0000000;
  if (uVar3 == 0x50000000) {
    uVar7 = 0x101;
  }
  else if (uVar3 < 0x50000001) {
    if (uVar3 == 0x20000000) {
      uVar7 = 0x18;
    }
    else if (uVar3 < 0x20000001) {
      if (uVar3 == 0) {
        uVar7 = 8;
      }
      else {
        uVar7 = 0x10;
        if (uVar3 != 0x10000000) goto LAB_00292ca7;
      }
    }
    else if (uVar3 == 0x30000000) {
      uVar7 = 0x20;
    }
    else {
      uVar7 = 0x28;
      if (uVar3 != 0x40000000) goto LAB_00292ca7;
    }
  }
  else if (uVar3 == 0x80000000) {
    uVar7 = 0x202;
  }
  else if (uVar3 < 0x80000001) {
    if (uVar3 == 0x60000000) {
      uVar7 = 0x201;
    }
    else {
      uVar7 = 0x102;
      if (uVar3 != 0x70000000) {
LAB_00292ca7:
        uVar5 = FUN_002901a0(param_3);
        uVar1 = *param_2;
        uVar6 = gettext("%s: Unknown architecture %s");
        FUN_0034a750(uVar6,uVar1,uVar5);
        goto LAB_00292c47;
      }
    }
  }
  else if (uVar3 == 0x90000000) {
    uVar7 = 0x106;
  }
  else {
    uVar7 = 0x206;
    if (uVar3 != 0xa0000000) goto LAB_00292ca7;
  }
  if (((uint)*(byte *)(param_4 + 2) << 3 | (uint)*(byte *)(param_4 + 3)) < uVar7) {
    *(byte *)(param_4 + 3) = (byte)uVar7 & 7;
    *(char *)(param_4 + 2) = (char)((int)uVar7 >> 3);
  }
LAB_00292c47:
  uVar3 = FUN_0028ff00(param_3);
  uVar8 = (ulong)uVar3;
  uVar3 = *(int *)(param_4 + 8) - 1;
  if (uVar3 < 0x12) {
    cVar2 = FUN_00292b30(param_1,*(undefined4 *)(&DAT_0055e4e0 + (ulong)uVar3 * 4),uVar8);
  }
  else {
    cVar2 = FUN_00292b30(param_1,3000,uVar8);
  }
  if (cVar2 != '\0') {
    uVar4 = FUN_002904a0(uVar8 & 0xffffffff);
    *(undefined4 *)(param_4 + 8) = uVar4;
  }
  return;
}

