
void lang_memory_region_alias(char *alias,char *region_name)

{
  int iVar1;
  char *pcVar2;
  memory_region_name_struct *pmVar3;
  long lVar4;
  memory_region_struct *pmVar5;
  lang_memory_region_type *plVar6;
  byte *pbVar7;
  byte *pbVar8;
  lang_memory_region_type *plVar9;
  bool bVar10;
  bool bVar11;
  bool bVar12;
  
  lVar4 = 10;
  bVar10 = &stack0xffffffffffffffd0 < (undefined1 *)0x18;
  bVar12 = &stack0x00000000 == (undefined1 *)0x48;
  pbVar7 = (byte *)region_name;
  pbVar8 = (byte *)"*default*";
  do {
    if (lVar4 == 0) break;
    lVar4 = lVar4 + -1;
    bVar10 = *pbVar7 < *pbVar8;
    bVar12 = *pbVar7 == *pbVar8;
    pbVar7 = pbVar7 + 1;
    pbVar8 = pbVar8 + 1;
  } while (bVar12);
  bVar11 = false;
  bVar10 = (!bVar10 && !bVar12) == bVar10;
  if (bVar10) {
LAB_00116d94:
    pcVar2 = (char *)dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);
    einfo(pcVar2,0);
    if (lang_memory_region_list != (lang_memory_region_type *)0x0) {
LAB_00116cee:
      plVar6 = (lang_memory_region_type *)0x0;
      pmVar5 = lang_memory_region_list;
      plVar9 = lang_memory_region_list;
      do {
        pcVar2 = (pmVar5->name_list).name;
        if ((plVar6 == (lang_memory_region_type *)0x0) &&
           (iVar1 = strcmp(pcVar2,region_name), iVar1 == 0)) {
          plVar6 = plVar9;
        }
        iVar1 = strcmp(pcVar2,alias);
        if (iVar1 == 0) {
          pcVar2 = (char *)dcgettext(0,
                                     "%F%P:%pS: error: redefinition of memory region alias `%s\'\n",
                                     5);
          einfo(pcVar2,0,alias);
          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;
        }
        else {
          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;
        }
      } while ((pmVar5 != (memory_region_struct *)0x0) ||
              (pmVar5 = plVar9->next, plVar9 = pmVar5, pmVar5 != (memory_region_struct *)0x0));
      if (plVar6 != (lang_memory_region_type *)0x0) goto LAB_00116d61;
    }
  }
  else {
    lVar4 = 10;
    pbVar7 = (byte *)alias;
    pbVar8 = (byte *)"*default*";
    do {
      if (lVar4 == 0) break;
      lVar4 = lVar4 + -1;
      bVar11 = *pbVar7 < *pbVar8;
      bVar10 = *pbVar7 == *pbVar8;
      pbVar7 = pbVar7 + 1;
      pbVar8 = pbVar8 + 1;
    } while (bVar10);
    if ((!bVar11 && !bVar10) == bVar11) goto LAB_00116d94;
    if (lang_memory_region_list != (lang_memory_region_type *)0x0) goto LAB_00116cee;
  }
  plVar6 = (lang_memory_region_type *)0x0;
  pcVar2 = (char *)dcgettext(0,
                             "%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n"
                             ,5);
  einfo(pcVar2,0,region_name,alias);
LAB_00116d61:
  pmVar3 = (memory_region_name_struct *)stat_alloc(0x10);
  pcVar2 = (char *)xstrdup(alias);
  pmVar3->name = pcVar2;
  pmVar3->next = (plVar6->name_list).next;
  (plVar6->name_list).next = pmVar3;
  return;
}



void FUN_00116c90(byte *param_1,byte *param_2)

{
  char *__s1;
  int iVar1;
  undefined8 uVar2;
  undefined8 *puVar3;
  long lVar4;
  undefined8 *puVar5;
  byte *pbVar6;
  byte *pbVar7;
  undefined8 *puVar8;
  bool bVar9;
  bool bVar10;
  bool bVar11;
  
  lVar4 = 10;
  bVar9 = &stack0xffffffffffffffd0 < (undefined1 *)0x18;
  bVar11 = &stack0x00000000 == (undefined1 *)0x48;
  pbVar6 = param_2;
  pbVar7 = (byte *)"*default*";
  do {
    if (lVar4 == 0) break;
    lVar4 = lVar4 + -1;
    bVar9 = *pbVar6 < *pbVar7;
    bVar11 = *pbVar6 == *pbVar7;
    pbVar6 = pbVar6 + 1;
    pbVar7 = pbVar7 + 1;
  } while (bVar11);
  bVar10 = false;
  bVar9 = (!bVar9 && !bVar11) == bVar9;
  if (bVar9) {
LAB_00116d94:
    uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);
    FUN_001251f0(uVar2,0);
    if (DAT_00182558 != (undefined8 *)0x0) {
LAB_00116cee:
      puVar5 = (undefined8 *)0x0;
      puVar3 = DAT_00182558;
      puVar8 = DAT_00182558;
      do {
        __s1 = (char *)*puVar3;
        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {
          puVar5 = puVar8;
        }
        iVar1 = strcmp(__s1,(char *)param_1);
        if (iVar1 == 0) {
          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);
          FUN_001251f0(uVar2,0,param_1);
          puVar3 = (undefined8 *)puVar3[1];
        }
        else {
          puVar3 = (undefined8 *)puVar3[1];
        }
      } while ((puVar3 != (undefined8 *)0x0) ||
              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));
      if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;
    }
  }
  else {
    lVar4 = 10;
    pbVar6 = param_1;
    pbVar7 = (byte *)"*default*";
    do {
      if (lVar4 == 0) break;
      lVar4 = lVar4 + -1;
      bVar10 = *pbVar6 < *pbVar7;
      bVar9 = *pbVar6 == *pbVar7;
      pbVar6 = pbVar6 + 1;
      pbVar7 = pbVar7 + 1;
    } while (bVar9);
    if ((!bVar10 && !bVar9) == bVar10) goto LAB_00116d94;
    if (DAT_00182558 != (undefined8 *)0x0) goto LAB_00116cee;
  }
  puVar5 = (undefined8 *)0x0;
  uVar2 = dcgettext(0,"%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n",5);
  FUN_001251f0(uVar2,0,param_2,param_1);
LAB_00116d61:
  puVar3 = (undefined8 *)FUN_00115590(0x10);
  uVar2 = xstrdup(param_1);
  *puVar3 = uVar2;
  puVar3[1] = puVar5[1];
  puVar5[1] = puVar3;
  return;
}


PUSH R15
LEA RDX,[0x1330f1]
MOV ECX,0xa
PUSH R14
PUSH R13
PUSH R12
MOV R12,RDI
MOV RDI,RDX
PUSH RBP
PUSH RBX
SUB RSP,0x18
MOV qword ptr [RSP + 0x8],RSI
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00116d94
MOV ECX,0xa
MOV RSI,R12
MOV RDI,RDX
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00116d94
MOV R13,qword ptr [0x00182558]
TEST R13,R13
JZ 0x00116dc3
XOR EBP,EBP
LEA R14,[0x142768]
NOP word ptr [RAX + RAX*0x1]
MOV RBX,R13
JMP 0x00116d11
MOV RBX,qword ptr [RBX + 0x8]
TEST RBX,RBX
JZ 0x00116d53
MOV R15,qword ptr [RBX]
TEST RBP,RBP
JZ 0x00116df8
MOV RSI,R12
MOV RDI,R15
CALL 0x00109640
TEST EAX,EAX
JNZ 0x00116d08
MOV EDX,0x5
MOV RSI,R14
XOR EDI,EDI
CALL 0x001092e0
MOV RDX,R12
XOR ESI,ESI
MOV RDI,RAX
XOR EAX,EAX
CALL 0x001251f0
MOV RBX,qword ptr [RBX + 0x8]
TEST RBX,RBX
JNZ 0x00116d11
MOV R13,qword ptr [R13 + 0x10]
TEST R13,R13
JNZ 0x00116d00
TEST RBP,RBP
JZ 0x00116dc3
MOV EDI,0x10
CALL 0x00115590
MOV RDI,R12
MOV RBX,RAX
CALL 0x001094c0
MOV qword ptr [RBX],RAX
MOV RAX,qword ptr [RBP + 0x8]
MOV qword ptr [RBX + 0x8],RAX
MOV qword ptr [RBP + 0x8],RBX
ADD RSP,0x18
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV EDX,0x5
LEA RSI,[0x142730]
XOR EDI,EDI
CALL 0x001092e0
XOR ESI,ESI
MOV RDI,RAX
XOR EAX,EAX
CALL 0x001251f0
MOV R13,qword ptr [0x00182558]
TEST R13,R13
JNZ 0x00116cee
MOV EDX,0x5
LEA RSI,[0x1427a8]
XOR EDI,EDI
XOR EBP,EBP
CALL 0x001092e0
MOV RDX,qword ptr [RSP + 0x8]
MOV RCX,R12
XOR ESI,ESI
MOV RDI,RAX
XOR EAX,EAX
CALL 0x001251f0
JMP 0x00116d61
MOV RSI,qword ptr [RSP + 0x8]
MOV RDI,R15
CALL 0x00109640
TEST EAX,EAX
CMOVZ RBP,R13
JMP 0x00116d1d
(translation_unit "void FUN_00116c90(byte *param_1,byte *param_2)\n\n{\n  char *__s1;\n  int iVar1;\n  undefined8 uVar2;\n  undefined8 *puVar3;\n  long lVar4;\n  undefined8 *puVar5;\n  byte *pbVar6;\n  byte *pbVar7;\n  undefined8 *puVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  \n  lVar4 = 10;\n  bVar9 = &stack0xffffffffffffffd0 < (undefined1 *)0x18;\n  bVar11 = &stack0x00000000 == (undefined1 *)0x48;\n  pbVar6 = param_2;\n  pbVar7 = (byte *)"*default*";\n  do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar11 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar9 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar9) {\nLAB_00116d94:\n    uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);\n    FUN_001251f0(uVar2,0);\n    if (DAT_00182558 != (undefined8 *)0x0) {\nLAB_00116cee:\n      puVar5 = (undefined8 *)0x0;\n      puVar3 = DAT_00182558;\n      puVar8 = DAT_00182558;\n      do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));\n      if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;\n    }\n  }\n  else {\n    lVar4 = 10;\n    pbVar6 = param_1;\n    pbVar7 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar9);\n    if ((!bVar10 && !bVar9) == bVar10) goto LAB_00116d94;\n    if (DAT_00182558 != (undefined8 *)0x0) goto LAB_00116cee;\n  }\n  puVar5 = (undefined8 *)0x0;\n  uVar2 = dcgettext(0,"%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n",5);\n  FUN_001251f0(uVar2,0,param_2,param_1);\nLAB_00116d61:\n  puVar3 = (undefined8 *)FUN_00115590(0x10);\n  uVar2 = xstrdup(param_1);\n  *puVar3 = uVar2;\n  puVar3[1] = puVar5[1];\n  puVar5[1] = puVar3;\n  return;\n}\n\n" (function_definition "void FUN_00116c90(byte *param_1,byte *param_2)\n\n{\n  char *__s1;\n  int iVar1;\n  undefined8 uVar2;\n  undefined8 *puVar3;\n  long lVar4;\n  undefined8 *puVar5;\n  byte *pbVar6;\n  byte *pbVar7;\n  undefined8 *puVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  \n  lVar4 = 10;\n  bVar9 = &stack0xffffffffffffffd0 < (undefined1 *)0x18;\n  bVar11 = &stack0x00000000 == (undefined1 *)0x48;\n  pbVar6 = param_2;\n  pbVar7 = (byte *)"*default*";\n  do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar11 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar9 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar9) {\nLAB_00116d94:\n    uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);\n    FUN_001251f0(uVar2,0);\n    if (DAT_00182558 != (undefined8 *)0x0) {\nLAB_00116cee:\n      puVar5 = (undefined8 *)0x0;\n      puVar3 = DAT_00182558;\n      puVar8 = DAT_00182558;\n      do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));\n      if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;\n    }\n  }\n  else {\n    lVar4 = 10;\n    pbVar6 = param_1;\n    pbVar7 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar9);\n    if ((!bVar10 && !bVar9) == bVar10) goto LAB_00116d94;\n    if (DAT_00182558 != (undefined8 *)0x0) goto LAB_00116cee;\n  }\n  puVar5 = (undefined8 *)0x0;\n  uVar2 = dcgettext(0,"%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n",5);\n  FUN_001251f0(uVar2,0,param_2,param_1);\nLAB_00116d61:\n  puVar3 = (undefined8 *)FUN_00115590(0x10);\n  uVar2 = xstrdup(param_1);\n  *puVar3 = uVar2;\n  puVar3[1] = puVar5[1];\n  puVar5[1] = puVar3;\n  return;\n}" primitive_type (function_declarator "FUN_00116c90(byte *param_1,byte *param_2)" identifier (parameter_list "(byte *param_1,byte *param_2)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "byte *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  char *__s1;\n  int iVar1;\n  undefined8 uVar2;\n  undefined8 *puVar3;\n  long lVar4;\n  undefined8 *puVar5;\n  byte *pbVar6;\n  byte *pbVar7;\n  undefined8 *puVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  \n  lVar4 = 10;\n  bVar9 = &stack0xffffffffffffffd0 < (undefined1 *)0x18;\n  bVar11 = &stack0x00000000 == (undefined1 *)0x48;\n  pbVar6 = param_2;\n  pbVar7 = (byte *)"*default*";\n  do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar11 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar9 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar9) {\nLAB_00116d94:\n    uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);\n    FUN_001251f0(uVar2,0);\n    if (DAT_00182558 != (undefined8 *)0x0) {\nLAB_00116cee:\n      puVar5 = (undefined8 *)0x0;\n      puVar3 = DAT_00182558;\n      puVar8 = DAT_00182558;\n      do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));\n      if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;\n    }\n  }\n  else {\n    lVar4 = 10;\n    pbVar6 = param_1;\n    pbVar7 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar9);\n    if ((!bVar10 && !bVar9) == bVar10) goto LAB_00116d94;\n    if (DAT_00182558 != (undefined8 *)0x0) goto LAB_00116cee;\n  }\n  puVar5 = (undefined8 *)0x0;\n  uVar2 = dcgettext(0,"%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n",5);\n  FUN_001251f0(uVar2,0,param_2,param_1);\nLAB_00116d61:\n  puVar3 = (undefined8 *)FUN_00115590(0x10);\n  uVar2 = xstrdup(param_1);\n  *puVar3 = uVar2;\n  puVar3[1] = puVar5[1];\n  puVar5[1] = puVar3;\n  return;\n}" { (declaration "char *__s1;" primitive_type (pointer_declarator "*__s1" * identifier) ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "undefined8 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "undefined8 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "bool bVar11;" primitive_type identifier ;) (expression_statement "lVar4 = 10;" (assignment_expression "lVar4 = 10" identifier = number_literal) ;) (expression_statement "bVar9 = &stack0xffffffffffffffd0 < (undefined1 *)0x18;" (assignment_expression "bVar9 = &stack0xffffffffffffffd0 < (undefined1 *)0x18" identifier = (binary_expression "&stack0xffffffffffffffd0 < (undefined1 *)0x18" (pointer_expression "&stack0xffffffffffffffd0" & identifier) < (cast_expression "(undefined1 *)0x18" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "bVar11 = &stack0x00000000 == (undefined1 *)0x48;" (assignment_expression "bVar11 = &stack0x00000000 == (undefined1 *)0x48" identifier = (binary_expression "&stack0x00000000 == (undefined1 *)0x48" (pointer_expression "&stack0x00000000" & identifier) == (cast_expression "(undefined1 *)0x48" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "pbVar6 = param_2;" (assignment_expression "pbVar6 = param_2" identifier = identifier) ;) (expression_statement "pbVar7 = (byte *)"*default*";" (assignment_expression "pbVar7 = (byte *)"*default*"" identifier = (cast_expression "(byte *)"*default*"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""*default*"" " string_content "))) ;) (do_statement "do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar11 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar11);" do (compound_statement "{\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar11 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  }" { (if_statement "if (lVar4 == 0) break;" if (parenthesized_expression "(lVar4 == 0)" ( (binary_expression "lVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar4 = lVar4 + -1;" (assignment_expression "lVar4 = lVar4 + -1" identifier = (binary_expression "lVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar6 < *pbVar7;" (assignment_expression "bVar9 = *pbVar6 < *pbVar7" identifier = (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar11 = *pbVar6 == *pbVar7;" (assignment_expression "bVar11 = *pbVar6 == *pbVar7" identifier = (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar9 && !bVar11) == bVar9;" (assignment_expression "bVar9 = (!bVar9 && !bVar11) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar11) == bVar9" (parenthesized_expression "(!bVar9 && !bVar11)" ( (binary_expression "!bVar9 && !bVar11" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar9) {\nLAB_00116d94:\n    uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);\n    FUN_001251f0(uVar2,0);\n    if (DAT_00182558 != (undefined8 *)0x0) {\nLAB_00116cee:\n      puVar5 = (undefined8 *)0x0;\n      puVar3 = DAT_00182558;\n      puVar8 = DAT_00182558;\n      do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));\n      if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;\n    }\n  }\n  else {\n    lVar4 = 10;\n    pbVar6 = param_1;\n    pbVar7 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar9);\n    if ((!bVar10 && !bVar9) == bVar10) goto LAB_00116d94;\n    if (DAT_00182558 != (undefined8 *)0x0) goto LAB_00116cee;\n  }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\nLAB_00116d94:\n    uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);\n    FUN_001251f0(uVar2,0);\n    if (DAT_00182558 != (undefined8 *)0x0) {\nLAB_00116cee:\n      puVar5 = (undefined8 *)0x0;\n      puVar3 = DAT_00182558;\n      puVar8 = DAT_00182558;\n      do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));\n      if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;\n    }\n  }" { (labeled_statement "LAB_00116d94:\n    uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);" statement_identifier : (expression_statement "uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);" (assignment_expression "uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5)" identifier = (call_expression "dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5)" identifier (argument_list "(0,"%F%P:%pS: error: alias for default memory region\n",5)" ( number_literal , (string_literal ""%F%P:%pS: error: alias for default memory region\n"" " string_content escape_sequence ") , number_literal )))) ;)) (expression_statement "FUN_001251f0(uVar2,0);" (call_expression "FUN_001251f0(uVar2,0)" identifier (argument_list "(uVar2,0)" ( identifier , number_literal ))) ;) (if_statement "if (DAT_00182558 != (undefined8 *)0x0) {\nLAB_00116cee:\n      puVar5 = (undefined8 *)0x0;\n      puVar3 = DAT_00182558;\n      puVar8 = DAT_00182558;\n      do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));\n      if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;\n    }" if (parenthesized_expression "(DAT_00182558 != (undefined8 *)0x0)" ( (binary_expression "DAT_00182558 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00116cee:\n      puVar5 = (undefined8 *)0x0;\n      puVar3 = DAT_00182558;\n      puVar8 = DAT_00182558;\n      do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));\n      if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;\n    }" { (labeled_statement "LAB_00116cee:\n      puVar5 = (undefined8 *)0x0;" statement_identifier : (expression_statement "puVar5 = (undefined8 *)0x0;" (assignment_expression "puVar5 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "puVar3 = DAT_00182558;" (assignment_expression "puVar3 = DAT_00182558" identifier = identifier) ;) (expression_statement "puVar8 = DAT_00182558;" (assignment_expression "puVar8 = DAT_00182558" identifier = identifier) ;) (do_statement "do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));" do (compound_statement "{\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      }" { (expression_statement "__s1 = (char *)*puVar3;" (assignment_expression "__s1 = (char *)*puVar3" identifier = (cast_expression "(char *)*puVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier))) ;) (if_statement "if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }" if (parenthesized_expression "((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0))" ( (binary_expression "(puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)" (parenthesized_expression "(puVar5 == (undefined8 *)0x0)" ( (binary_expression "puVar5 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)" ( (comma_expression "iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0" (assignment_expression "iVar1 = strcmp(__s1,(char *)param_2)" identifier = (call_expression "strcmp(__s1,(char *)param_2)" identifier (argument_list "(__s1,(char *)param_2)" ( identifier , (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) , (binary_expression "iVar1 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          puVar5 = puVar8;\n        }" { (expression_statement "puVar5 = puVar8;" (assignment_expression "puVar5 = puVar8" identifier = identifier) ;) })) (expression_statement "iVar1 = strcmp(__s1,(char *)param_1);" (assignment_expression "iVar1 = strcmp(__s1,(char *)param_1)" identifier = (call_expression "strcmp(__s1,(char *)param_1)" identifier (argument_list "(__s1,(char *)param_1)" ( identifier , (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }" { (expression_statement "uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);" (assignment_expression "uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5)" identifier = (call_expression "dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5)" identifier (argument_list "(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5)" ( number_literal , (string_literal ""%F%P:%pS: error: redefinition of memory region alias `%s\'\n"" " string_content escape_sequence escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_001251f0(uVar2,0,param_1);" (call_expression "FUN_001251f0(uVar2,0,param_1)" identifier (argument_list "(uVar2,0,param_1)" ( identifier , number_literal , identifier ))) ;) (expression_statement "puVar3 = (undefined8 *)puVar3[1];" (assignment_expression "puVar3 = (undefined8 *)puVar3[1]" identifier = (cast_expression "(undefined8 *)puVar3[1]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar3[1]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }" else (compound_statement "{\n          puVar3 = (undefined8 *)puVar3[1];\n        }" { (expression_statement "puVar3 = (undefined8 *)puVar3[1];" (assignment_expression "puVar3 = (undefined8 *)puVar3[1]" identifier = (cast_expression "(undefined8 *)puVar3[1]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar3[1]" identifier [ number_literal ]))) ;) }))) }) while (parenthesized_expression "((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0))" ( (binary_expression "(puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0)" (parenthesized_expression "(puVar3 != (undefined8 *)0x0)" ( (binary_expression "puVar3 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0)" ( (comma_expression "puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0" (assignment_expression "puVar3 = (undefined8 *)puVar8[2]" identifier = (cast_expression "(undefined8 *)puVar8[2]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[2]" identifier [ number_literal ]))) , (comma_expression "puVar8 = puVar3, puVar3 != (undefined8 *)0x0" (assignment_expression "puVar8 = puVar3" identifier = identifier) , (binary_expression "puVar3 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) ;) (if_statement "if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;" if (parenthesized_expression "(puVar5 != (undefined8 *)0x0)" ( (binary_expression "puVar5 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00116d61;" goto statement_identifier ;)) })) }) (else_clause "else {\n    lVar4 = 10;\n    pbVar6 = param_1;\n    pbVar7 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar9);\n    if ((!bVar10 && !bVar9) == bVar10) goto LAB_00116d94;\n    if (DAT_00182558 != (undefined8 *)0x0) goto LAB_00116cee;\n  }" else (compound_statement "{\n    lVar4 = 10;\n    pbVar6 = param_1;\n    pbVar7 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar9);\n    if ((!bVar10 && !bVar9) == bVar10) goto LAB_00116d94;\n    if (DAT_00182558 != (undefined8 *)0x0) goto LAB_00116cee;\n  }" { (expression_statement "lVar4 = 10;" (assignment_expression "lVar4 = 10" identifier = number_literal) ;) (expression_statement "pbVar6 = param_1;" (assignment_expression "pbVar6 = param_1" identifier = identifier) ;) (expression_statement "pbVar7 = (byte *)"*default*";" (assignment_expression "pbVar7 = (byte *)"*default*"" identifier = (cast_expression "(byte *)"*default*"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""*default*"" " string_content "))) ;) (do_statement "do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar9);" do (compound_statement "{\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    }" { (if_statement "if (lVar4 == 0) break;" if (parenthesized_expression "(lVar4 == 0)" ( (binary_expression "lVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar4 = lVar4 + -1;" (assignment_expression "lVar4 = lVar4 + -1" identifier = (binary_expression "lVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar6 < *pbVar7;" (assignment_expression "bVar10 = *pbVar6 < *pbVar7" identifier = (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar9 = *pbVar6 == *pbVar7;" (assignment_expression "bVar9 = *pbVar6 == *pbVar7" identifier = (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (if_statement "if ((!bVar10 && !bVar9) == bVar10) goto LAB_00116d94;" if (parenthesized_expression "((!bVar10 && !bVar9) == bVar10)" ( (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" ( (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier) )) (goto_statement "goto LAB_00116d94;" goto statement_identifier ;)) (if_statement "if (DAT_00182558 != (undefined8 *)0x0) goto LAB_00116cee;" if (parenthesized_expression "(DAT_00182558 != (undefined8 *)0x0)" ( (binary_expression "DAT_00182558 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00116cee;" goto statement_identifier ;)) }))) (expression_statement "puVar5 = (undefined8 *)0x0;" (assignment_expression "puVar5 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar2 = dcgettext(0,"%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n",5);" (assignment_expression "uVar2 = dcgettext(0,"%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n",5)" identifier = (call_expression "dcgettext(0,"%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n",5)" identifier (argument_list "(0,"%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n",5)" ( number_literal , (string_literal ""%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_001251f0(uVar2,0,param_2,param_1);" (call_expression "FUN_001251f0(uVar2,0,param_2,param_1)" identifier (argument_list "(uVar2,0,param_2,param_1)" ( identifier , number_literal , identifier , identifier ))) ;) (labeled_statement "LAB_00116d61:\n  puVar3 = (undefined8 *)FUN_00115590(0x10);" statement_identifier : (expression_statement "puVar3 = (undefined8 *)FUN_00115590(0x10);" (assignment_expression "puVar3 = (undefined8 *)FUN_00115590(0x10)" identifier = (cast_expression "(undefined8 *)FUN_00115590(0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00115590(0x10)" identifier (argument_list "(0x10)" ( number_literal ))))) ;)) (expression_statement "uVar2 = xstrdup(param_1);" (assignment_expression "uVar2 = xstrdup(param_1)" identifier = (call_expression "xstrdup(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "*puVar3 = uVar2;" (assignment_expression "*puVar3 = uVar2" (pointer_expression "*puVar3" * identifier) = identifier) ;) (expression_statement "puVar3[1] = puVar5[1];" (assignment_expression "puVar3[1] = puVar5[1]" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (expression_statement "puVar5[1] = puVar3;" (assignment_expression "puVar5[1] = puVar3" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit "void lang_memory_region_alias(char *alias,char *region_name)\n\n{\n  int iVar1;\n  char *pcVar2;\n  memory_region_name_struct *pmVar3;\n  long lVar4;\n  memory_region_struct *pmVar5;\n  lang_memory_region_type *plVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  lang_memory_region_type *plVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  \n  lVar4 = 10;\n  bVar10 = &stack0xffffffffffffffd0 < (undefined1 *)0x18;\n  bVar12 = &stack0x00000000 == (undefined1 *)0x48;\n  pbVar7 = (byte *)region_name;\n  pbVar8 = (byte *)"*default*";\n  do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar12 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar12);\n  bVar11 = false;\n  bVar10 = (!bVar10 && !bVar12) == bVar10;\n  if (bVar10) {\nLAB_00116d94:\n    pcVar2 = (char *)dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);\n    einfo(pcVar2,0);\n    if (lang_memory_region_list != (lang_memory_region_type *)0x0) {\nLAB_00116cee:\n      plVar6 = (lang_memory_region_type *)0x0;\n      pmVar5 = lang_memory_region_list;\n      plVar9 = lang_memory_region_list;\n      do {\n        pcVar2 = (pmVar5->name_list).name;\n        if ((plVar6 == (lang_memory_region_type *)0x0) &&\n           (iVar1 = strcmp(pcVar2,region_name), iVar1 == 0)) {\n          plVar6 = plVar9;\n        }\n        iVar1 = strcmp(pcVar2,alias);\n        if (iVar1 == 0) {\n          pcVar2 = (char *)dcgettext(0,\n                                     "%F%P:%pS: error: redefinition of memory region alias `%s\'\n",\n                                     5);\n          einfo(pcVar2,0,alias);\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }\n        else {\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }\n      } while ((pmVar5 != (memory_region_struct *)0x0) ||\n              (pmVar5 = plVar9->next, plVar9 = pmVar5, pmVar5 != (memory_region_struct *)0x0));\n      if (plVar6 != (lang_memory_region_type *)0x0) goto LAB_00116d61;\n    }\n  }\n  else {\n    lVar4 = 10;\n    pbVar7 = (byte *)alias;\n    pbVar8 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar10 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar10);\n    if ((!bVar11 && !bVar10) == bVar11) goto LAB_00116d94;\n    if (lang_memory_region_list != (lang_memory_region_type *)0x0) goto LAB_00116cee;\n  }\n  plVar6 = (lang_memory_region_type *)0x0;\n  pcVar2 = (char *)dcgettext(0,\n                             "%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n"\n                             ,5);\n  einfo(pcVar2,0,region_name,alias);\nLAB_00116d61:\n  pmVar3 = (memory_region_name_struct *)stat_alloc(0x10);\n  pcVar2 = (char *)xstrdup(alias);\n  pmVar3->name = pcVar2;\n  pmVar3->next = (plVar6->name_list).next;\n  (plVar6->name_list).next = pmVar3;\n  return;\n}\n\n" (function_definition "void lang_memory_region_alias(char *alias,char *region_name)\n\n{\n  int iVar1;\n  char *pcVar2;\n  memory_region_name_struct *pmVar3;\n  long lVar4;\n  memory_region_struct *pmVar5;\n  lang_memory_region_type *plVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  lang_memory_region_type *plVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  \n  lVar4 = 10;\n  bVar10 = &stack0xffffffffffffffd0 < (undefined1 *)0x18;\n  bVar12 = &stack0x00000000 == (undefined1 *)0x48;\n  pbVar7 = (byte *)region_name;\n  pbVar8 = (byte *)"*default*";\n  do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar12 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar12);\n  bVar11 = false;\n  bVar10 = (!bVar10 && !bVar12) == bVar10;\n  if (bVar10) {\nLAB_00116d94:\n    pcVar2 = (char *)dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);\n    einfo(pcVar2,0);\n    if (lang_memory_region_list != (lang_memory_region_type *)0x0) {\nLAB_00116cee:\n      plVar6 = (lang_memory_region_type *)0x0;\n      pmVar5 = lang_memory_region_list;\n      plVar9 = lang_memory_region_list;\n      do {\n        pcVar2 = (pmVar5->name_list).name;\n        if ((plVar6 == (lang_memory_region_type *)0x0) &&\n           (iVar1 = strcmp(pcVar2,region_name), iVar1 == 0)) {\n          plVar6 = plVar9;\n        }\n        iVar1 = strcmp(pcVar2,alias);\n        if (iVar1 == 0) {\n          pcVar2 = (char *)dcgettext(0,\n                                     "%F%P:%pS: error: redefinition of memory region alias `%s\'\n",\n                                     5);\n          einfo(pcVar2,0,alias);\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }\n        else {\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }\n      } while ((pmVar5 != (memory_region_struct *)0x0) ||\n              (pmVar5 = plVar9->next, plVar9 = pmVar5, pmVar5 != (memory_region_struct *)0x0));\n      if (plVar6 != (lang_memory_region_type *)0x0) goto LAB_00116d61;\n    }\n  }\n  else {\n    lVar4 = 10;\n    pbVar7 = (byte *)alias;\n    pbVar8 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar10 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar10);\n    if ((!bVar11 && !bVar10) == bVar11) goto LAB_00116d94;\n    if (lang_memory_region_list != (lang_memory_region_type *)0x0) goto LAB_00116cee;\n  }\n  plVar6 = (lang_memory_region_type *)0x0;\n  pcVar2 = (char *)dcgettext(0,\n                             "%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n"\n                             ,5);\n  einfo(pcVar2,0,region_name,alias);\nLAB_00116d61:\n  pmVar3 = (memory_region_name_struct *)stat_alloc(0x10);\n  pcVar2 = (char *)xstrdup(alias);\n  pmVar3->name = pcVar2;\n  pmVar3->next = (plVar6->name_list).next;\n  (plVar6->name_list).next = pmVar3;\n  return;\n}" primitive_type (function_declarator "lang_memory_region_alias(char *alias,char *region_name)" identifier (parameter_list "(char *alias,char *region_name)" ( (parameter_declaration "char *alias" primitive_type (pointer_declarator "*alias" * identifier)) , (parameter_declaration "char *region_name" primitive_type (pointer_declarator "*region_name" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  char *pcVar2;\n  memory_region_name_struct *pmVar3;\n  long lVar4;\n  memory_region_struct *pmVar5;\n  lang_memory_region_type *plVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  lang_memory_region_type *plVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  \n  lVar4 = 10;\n  bVar10 = &stack0xffffffffffffffd0 < (undefined1 *)0x18;\n  bVar12 = &stack0x00000000 == (undefined1 *)0x48;\n  pbVar7 = (byte *)region_name;\n  pbVar8 = (byte *)"*default*";\n  do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar12 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar12);\n  bVar11 = false;\n  bVar10 = (!bVar10 && !bVar12) == bVar10;\n  if (bVar10) {\nLAB_00116d94:\n    pcVar2 = (char *)dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);\n    einfo(pcVar2,0);\n    if (lang_memory_region_list != (lang_memory_region_type *)0x0) {\nLAB_00116cee:\n      plVar6 = (lang_memory_region_type *)0x0;\n      pmVar5 = lang_memory_region_list;\n      plVar9 = lang_memory_region_list;\n      do {\n        pcVar2 = (pmVar5->name_list).name;\n        if ((plVar6 == (lang_memory_region_type *)0x0) &&\n           (iVar1 = strcmp(pcVar2,region_name), iVar1 == 0)) {\n          plVar6 = plVar9;\n        }\n        iVar1 = strcmp(pcVar2,alias);\n        if (iVar1 == 0) {\n          pcVar2 = (char *)dcgettext(0,\n                                     "%F%P:%pS: error: redefinition of memory region alias `%s\'\n",\n                                     5);\n          einfo(pcVar2,0,alias);\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }\n        else {\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }\n      } while ((pmVar5 != (memory_region_struct *)0x0) ||\n              (pmVar5 = plVar9->next, plVar9 = pmVar5, pmVar5 != (memory_region_struct *)0x0));\n      if (plVar6 != (lang_memory_region_type *)0x0) goto LAB_00116d61;\n    }\n  }\n  else {\n    lVar4 = 10;\n    pbVar7 = (byte *)alias;\n    pbVar8 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar10 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar10);\n    if ((!bVar11 && !bVar10) == bVar11) goto LAB_00116d94;\n    if (lang_memory_region_list != (lang_memory_region_type *)0x0) goto LAB_00116cee;\n  }\n  plVar6 = (lang_memory_region_type *)0x0;\n  pcVar2 = (char *)dcgettext(0,\n                             "%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n"\n                             ,5);\n  einfo(pcVar2,0,region_name,alias);\nLAB_00116d61:\n  pmVar3 = (memory_region_name_struct *)stat_alloc(0x10);\n  pcVar2 = (char *)xstrdup(alias);\n  pmVar3->name = pcVar2;\n  pmVar3->next = (plVar6->name_list).next;\n  (plVar6->name_list).next = pmVar3;\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "memory_region_name_struct *pmVar3;" type_identifier (pointer_declarator "*pmVar3" * identifier) ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "memory_region_struct *pmVar5;" type_identifier (pointer_declarator "*pmVar5" * identifier) ;) (declaration "lang_memory_region_type *plVar6;" type_identifier (pointer_declarator "*plVar6" * identifier) ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "lang_memory_region_type *plVar9;" type_identifier (pointer_declarator "*plVar9" * identifier) ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "bool bVar12;" primitive_type identifier ;) (expression_statement "lVar4 = 10;" (assignment_expression "lVar4 = 10" identifier = number_literal) ;) (expression_statement "bVar10 = &stack0xffffffffffffffd0 < (undefined1 *)0x18;" (assignment_expression "bVar10 = &stack0xffffffffffffffd0 < (undefined1 *)0x18" identifier = (binary_expression "&stack0xffffffffffffffd0 < (undefined1 *)0x18" (pointer_expression "&stack0xffffffffffffffd0" & identifier) < (cast_expression "(undefined1 *)0x18" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "bVar12 = &stack0x00000000 == (undefined1 *)0x48;" (assignment_expression "bVar12 = &stack0x00000000 == (undefined1 *)0x48" identifier = (binary_expression "&stack0x00000000 == (undefined1 *)0x48" (pointer_expression "&stack0x00000000" & identifier) == (cast_expression "(undefined1 *)0x48" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "pbVar7 = (byte *)region_name;" (assignment_expression "pbVar7 = (byte *)region_name" identifier = (cast_expression "(byte *)region_name" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar8 = (byte *)"*default*";" (assignment_expression "pbVar8 = (byte *)"*default*"" identifier = (cast_expression "(byte *)"*default*"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""*default*"" " string_content "))) ;) (do_statement "do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar12 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar12);" do (compound_statement "{\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar12 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  }" { (if_statement "if (lVar4 == 0) break;" if (parenthesized_expression "(lVar4 == 0)" ( (binary_expression "lVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar4 = lVar4 + -1;" (assignment_expression "lVar4 = lVar4 + -1" identifier = (binary_expression "lVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar12 = *pbVar7 == *pbVar8;" (assignment_expression "bVar12 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar12)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar10 && !bVar12) == bVar10;" (assignment_expression "bVar10 = (!bVar10 && !bVar12) == bVar10" identifier = (binary_expression "(!bVar10 && !bVar12) == bVar10" (parenthesized_expression "(!bVar10 && !bVar12)" ( (binary_expression "!bVar10 && !bVar12" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar12" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar10) {\nLAB_00116d94:\n    pcVar2 = (char *)dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);\n    einfo(pcVar2,0);\n    if (lang_memory_region_list != (lang_memory_region_type *)0x0) {\nLAB_00116cee:\n      plVar6 = (lang_memory_region_type *)0x0;\n      pmVar5 = lang_memory_region_list;\n      plVar9 = lang_memory_region_list;\n      do {\n        pcVar2 = (pmVar5->name_list).name;\n        if ((plVar6 == (lang_memory_region_type *)0x0) &&\n           (iVar1 = strcmp(pcVar2,region_name), iVar1 == 0)) {\n          plVar6 = plVar9;\n        }\n        iVar1 = strcmp(pcVar2,alias);\n        if (iVar1 == 0) {\n          pcVar2 = (char *)dcgettext(0,\n                                     "%F%P:%pS: error: redefinition of memory region alias `%s\'\n",\n                                     5);\n          einfo(pcVar2,0,alias);\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }\n        else {\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }\n      } while ((pmVar5 != (memory_region_struct *)0x0) ||\n              (pmVar5 = plVar9->next, plVar9 = pmVar5, pmVar5 != (memory_region_struct *)0x0));\n      if (plVar6 != (lang_memory_region_type *)0x0) goto LAB_00116d61;\n    }\n  }\n  else {\n    lVar4 = 10;\n    pbVar7 = (byte *)alias;\n    pbVar8 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar10 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar10);\n    if ((!bVar11 && !bVar10) == bVar11) goto LAB_00116d94;\n    if (lang_memory_region_list != (lang_memory_region_type *)0x0) goto LAB_00116cee;\n  }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\nLAB_00116d94:\n    pcVar2 = (char *)dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);\n    einfo(pcVar2,0);\n    if (lang_memory_region_list != (lang_memory_region_type *)0x0) {\nLAB_00116cee:\n      plVar6 = (lang_memory_region_type *)0x0;\n      pmVar5 = lang_memory_region_list;\n      plVar9 = lang_memory_region_list;\n      do {\n        pcVar2 = (pmVar5->name_list).name;\n        if ((plVar6 == (lang_memory_region_type *)0x0) &&\n           (iVar1 = strcmp(pcVar2,region_name), iVar1 == 0)) {\n          plVar6 = plVar9;\n        }\n        iVar1 = strcmp(pcVar2,alias);\n        if (iVar1 == 0) {\n          pcVar2 = (char *)dcgettext(0,\n                                     "%F%P:%pS: error: redefinition of memory region alias `%s\'\n",\n                                     5);\n          einfo(pcVar2,0,alias);\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }\n        else {\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }\n      } while ((pmVar5 != (memory_region_struct *)0x0) ||\n              (pmVar5 = plVar9->next, plVar9 = pmVar5, pmVar5 != (memory_region_struct *)0x0));\n      if (plVar6 != (lang_memory_region_type *)0x0) goto LAB_00116d61;\n    }\n  }" { (labeled_statement "LAB_00116d94:\n    pcVar2 = (char *)dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);" statement_identifier : (expression_statement "pcVar2 = (char *)dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5)" identifier (argument_list "(0,"%F%P:%pS: error: alias for default memory region\n",5)" ( number_literal , (string_literal ""%F%P:%pS: error: alias for default memory region\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "einfo(pcVar2,0);" (call_expression "einfo(pcVar2,0)" identifier (argument_list "(pcVar2,0)" ( identifier , number_literal ))) ;) (if_statement "if (lang_memory_region_list != (lang_memory_region_type *)0x0) {\nLAB_00116cee:\n      plVar6 = (lang_memory_region_type *)0x0;\n      pmVar5 = lang_memory_region_list;\n      plVar9 = lang_memory_region_list;\n      do {\n        pcVar2 = (pmVar5->name_list).name;\n        if ((plVar6 == (lang_memory_region_type *)0x0) &&\n           (iVar1 = strcmp(pcVar2,region_name), iVar1 == 0)) {\n          plVar6 = plVar9;\n        }\n        iVar1 = strcmp(pcVar2,alias);\n        if (iVar1 == 0) {\n          pcVar2 = (char *)dcgettext(0,\n                                     "%F%P:%pS: error: redefinition of memory region alias `%s\'\n",\n                                     5);\n          einfo(pcVar2,0,alias);\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }\n        else {\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }\n      } while ((pmVar5 != (memory_region_struct *)0x0) ||\n              (pmVar5 = plVar9->next, plVar9 = pmVar5, pmVar5 != (memory_region_struct *)0x0));\n      if (plVar6 != (lang_memory_region_type *)0x0) goto LAB_00116d61;\n    }" if (parenthesized_expression "(lang_memory_region_list != (lang_memory_region_type *)0x0)" ( (binary_expression "lang_memory_region_list != (lang_memory_region_type *)0x0" identifier != (cast_expression "(lang_memory_region_type *)0x0" ( (type_descriptor "lang_memory_region_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00116cee:\n      plVar6 = (lang_memory_region_type *)0x0;\n      pmVar5 = lang_memory_region_list;\n      plVar9 = lang_memory_region_list;\n      do {\n        pcVar2 = (pmVar5->name_list).name;\n        if ((plVar6 == (lang_memory_region_type *)0x0) &&\n           (iVar1 = strcmp(pcVar2,region_name), iVar1 == 0)) {\n          plVar6 = plVar9;\n        }\n        iVar1 = strcmp(pcVar2,alias);\n        if (iVar1 == 0) {\n          pcVar2 = (char *)dcgettext(0,\n                                     "%F%P:%pS: error: redefinition of memory region alias `%s\'\n",\n                                     5);\n          einfo(pcVar2,0,alias);\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }\n        else {\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }\n      } while ((pmVar5 != (memory_region_struct *)0x0) ||\n              (pmVar5 = plVar9->next, plVar9 = pmVar5, pmVar5 != (memory_region_struct *)0x0));\n      if (plVar6 != (lang_memory_region_type *)0x0) goto LAB_00116d61;\n    }" { (labeled_statement "LAB_00116cee:\n      plVar6 = (lang_memory_region_type *)0x0;" statement_identifier : (expression_statement "plVar6 = (lang_memory_region_type *)0x0;" (assignment_expression "plVar6 = (lang_memory_region_type *)0x0" identifier = (cast_expression "(lang_memory_region_type *)0x0" ( (type_descriptor "lang_memory_region_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pmVar5 = lang_memory_region_list;" (assignment_expression "pmVar5 = lang_memory_region_list" identifier = identifier) ;) (expression_statement "plVar9 = lang_memory_region_list;" (assignment_expression "plVar9 = lang_memory_region_list" identifier = identifier) ;) (do_statement "do {\n        pcVar2 = (pmVar5->name_list).name;\n        if ((plVar6 == (lang_memory_region_type *)0x0) &&\n           (iVar1 = strcmp(pcVar2,region_name), iVar1 == 0)) {\n          plVar6 = plVar9;\n        }\n        iVar1 = strcmp(pcVar2,alias);\n        if (iVar1 == 0) {\n          pcVar2 = (char *)dcgettext(0,\n                                     "%F%P:%pS: error: redefinition of memory region alias `%s\'\n",\n                                     5);\n          einfo(pcVar2,0,alias);\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }\n        else {\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }\n      } while ((pmVar5 != (memory_region_struct *)0x0) ||\n              (pmVar5 = plVar9->next, plVar9 = pmVar5, pmVar5 != (memory_region_struct *)0x0));" do (compound_statement "{\n        pcVar2 = (pmVar5->name_list).name;\n        if ((plVar6 == (lang_memory_region_type *)0x0) &&\n           (iVar1 = strcmp(pcVar2,region_name), iVar1 == 0)) {\n          plVar6 = plVar9;\n        }\n        iVar1 = strcmp(pcVar2,alias);\n        if (iVar1 == 0) {\n          pcVar2 = (char *)dcgettext(0,\n                                     "%F%P:%pS: error: redefinition of memory region alias `%s\'\n",\n                                     5);\n          einfo(pcVar2,0,alias);\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }\n        else {\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }\n      }" { (expression_statement "pcVar2 = (pmVar5->name_list).name;" (assignment_expression "pcVar2 = (pmVar5->name_list).name" identifier = (field_expression "(pmVar5->name_list).name" (parenthesized_expression "(pmVar5->name_list)" ( (field_expression "pmVar5->name_list" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((plVar6 == (lang_memory_region_type *)0x0) &&\n           (iVar1 = strcmp(pcVar2,region_name), iVar1 == 0)) {\n          plVar6 = plVar9;\n        }" if (parenthesized_expression "((plVar6 == (lang_memory_region_type *)0x0) &&\n           (iVar1 = strcmp(pcVar2,region_name), iVar1 == 0))" ( (binary_expression "(plVar6 == (lang_memory_region_type *)0x0) &&\n           (iVar1 = strcmp(pcVar2,region_name), iVar1 == 0)" (parenthesized_expression "(plVar6 == (lang_memory_region_type *)0x0)" ( (binary_expression "plVar6 == (lang_memory_region_type *)0x0" identifier == (cast_expression "(lang_memory_region_type *)0x0" ( (type_descriptor "lang_memory_region_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar1 = strcmp(pcVar2,region_name), iVar1 == 0)" ( (comma_expression "iVar1 = strcmp(pcVar2,region_name), iVar1 == 0" (assignment_expression "iVar1 = strcmp(pcVar2,region_name)" identifier = (call_expression "strcmp(pcVar2,region_name)" identifier (argument_list "(pcVar2,region_name)" ( identifier , identifier )))) , (binary_expression "iVar1 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          plVar6 = plVar9;\n        }" { (expression_statement "plVar6 = plVar9;" (assignment_expression "plVar6 = plVar9" identifier = identifier) ;) })) (expression_statement "iVar1 = strcmp(pcVar2,alias);" (assignment_expression "iVar1 = strcmp(pcVar2,alias)" identifier = (call_expression "strcmp(pcVar2,alias)" identifier (argument_list "(pcVar2,alias)" ( identifier , identifier )))) ;) (if_statement "if (iVar1 == 0) {\n          pcVar2 = (char *)dcgettext(0,\n                                     "%F%P:%pS: error: redefinition of memory region alias `%s\'\n",\n                                     5);\n          einfo(pcVar2,0,alias);\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }\n        else {\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n          pcVar2 = (char *)dcgettext(0,\n                                     "%F%P:%pS: error: redefinition of memory region alias `%s\'\n",\n                                     5);\n          einfo(pcVar2,0,alias);\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }" { (expression_statement "pcVar2 = (char *)dcgettext(0,\n                                     "%F%P:%pS: error: redefinition of memory region alias `%s\'\n",\n                                     5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,\n                                     "%F%P:%pS: error: redefinition of memory region alias `%s\'\n",\n                                     5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                     "%F%P:%pS: error: redefinition of memory region alias `%s\'\n",\n                                     5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                     "%F%P:%pS: error: redefinition of memory region alias `%s\'\n",\n                                     5)" identifier (argument_list "(0,\n                                     "%F%P:%pS: error: redefinition of memory region alias `%s\'\n",\n                                     5)" ( number_literal , (string_literal ""%F%P:%pS: error: redefinition of memory region alias `%s\'\n"" " string_content escape_sequence escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar2,0,alias);" (call_expression "einfo(pcVar2,0,alias)" identifier (argument_list "(pcVar2,0,alias)" ( identifier , number_literal , identifier ))) ;) (expression_statement "pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;" (assignment_expression "pmVar5 = (memory_region_struct *)(pmVar5->name_list).next" identifier = (cast_expression "(memory_region_struct *)(pmVar5->name_list).next" ( (type_descriptor "memory_region_struct *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pmVar5->name_list).next" (parenthesized_expression "(pmVar5->name_list)" ( (field_expression "pmVar5->name_list" identifier -> field_identifier) )) . field_identifier))) ;) }) (else_clause "else {\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }" else (compound_statement "{\n          pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;\n        }" { (expression_statement "pmVar5 = (memory_region_struct *)(pmVar5->name_list).next;" (assignment_expression "pmVar5 = (memory_region_struct *)(pmVar5->name_list).next" identifier = (cast_expression "(memory_region_struct *)(pmVar5->name_list).next" ( (type_descriptor "memory_region_struct *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pmVar5->name_list).next" (parenthesized_expression "(pmVar5->name_list)" ( (field_expression "pmVar5->name_list" identifier -> field_identifier) )) . field_identifier))) ;) }))) }) while (parenthesized_expression "((pmVar5 != (memory_region_struct *)0x0) ||\n              (pmVar5 = plVar9->next, plVar9 = pmVar5, pmVar5 != (memory_region_struct *)0x0))" ( (binary_expression "(pmVar5 != (memory_region_struct *)0x0) ||\n              (pmVar5 = plVar9->next, plVar9 = pmVar5, pmVar5 != (memory_region_struct *)0x0)" (parenthesized_expression "(pmVar5 != (memory_region_struct *)0x0)" ( (binary_expression "pmVar5 != (memory_region_struct *)0x0" identifier != (cast_expression "(memory_region_struct *)0x0" ( (type_descriptor "memory_region_struct *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pmVar5 = plVar9->next, plVar9 = pmVar5, pmVar5 != (memory_region_struct *)0x0)" ( (comma_expression "pmVar5 = plVar9->next, plVar9 = pmVar5, pmVar5 != (memory_region_struct *)0x0" (assignment_expression "pmVar5 = plVar9->next" identifier = (field_expression "plVar9->next" identifier -> field_identifier)) , (comma_expression "plVar9 = pmVar5, pmVar5 != (memory_region_struct *)0x0" (assignment_expression "plVar9 = pmVar5" identifier = identifier) , (binary_expression "pmVar5 != (memory_region_struct *)0x0" identifier != (cast_expression "(memory_region_struct *)0x0" ( (type_descriptor "memory_region_struct *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) ;) (if_statement "if (plVar6 != (lang_memory_region_type *)0x0) goto LAB_00116d61;" if (parenthesized_expression "(plVar6 != (lang_memory_region_type *)0x0)" ( (binary_expression "plVar6 != (lang_memory_region_type *)0x0" identifier != (cast_expression "(lang_memory_region_type *)0x0" ( (type_descriptor "lang_memory_region_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00116d61;" goto statement_identifier ;)) })) }) (else_clause "else {\n    lVar4 = 10;\n    pbVar7 = (byte *)alias;\n    pbVar8 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar10 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar10);\n    if ((!bVar11 && !bVar10) == bVar11) goto LAB_00116d94;\n    if (lang_memory_region_list != (lang_memory_region_type *)0x0) goto LAB_00116cee;\n  }" else (compound_statement "{\n    lVar4 = 10;\n    pbVar7 = (byte *)alias;\n    pbVar8 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar10 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar10);\n    if ((!bVar11 && !bVar10) == bVar11) goto LAB_00116d94;\n    if (lang_memory_region_list != (lang_memory_region_type *)0x0) goto LAB_00116cee;\n  }" { (expression_statement "lVar4 = 10;" (assignment_expression "lVar4 = 10" identifier = number_literal) ;) (expression_statement "pbVar7 = (byte *)alias;" (assignment_expression "pbVar7 = (byte *)alias" identifier = (cast_expression "(byte *)alias" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar8 = (byte *)"*default*";" (assignment_expression "pbVar8 = (byte *)"*default*"" identifier = (cast_expression "(byte *)"*default*"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""*default*"" " string_content "))) ;) (do_statement "do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar10 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar10);" do (compound_statement "{\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar10 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    }" { (if_statement "if (lVar4 == 0) break;" if (parenthesized_expression "(lVar4 == 0)" ( (binary_expression "lVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar4 = lVar4 + -1;" (assignment_expression "lVar4 = lVar4 + -1" identifier = (binary_expression "lVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar7 < *pbVar8;" (assignment_expression "bVar11 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar10 = *pbVar7 == *pbVar8;" (assignment_expression "bVar10 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (if_statement "if ((!bVar11 && !bVar10) == bVar11) goto LAB_00116d94;" if (parenthesized_expression "((!bVar11 && !bVar10) == bVar11)" ( (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier) )) (goto_statement "goto LAB_00116d94;" goto statement_identifier ;)) (if_statement "if (lang_memory_region_list != (lang_memory_region_type *)0x0) goto LAB_00116cee;" if (parenthesized_expression "(lang_memory_region_list != (lang_memory_region_type *)0x0)" ( (binary_expression "lang_memory_region_list != (lang_memory_region_type *)0x0" identifier != (cast_expression "(lang_memory_region_type *)0x0" ( (type_descriptor "lang_memory_region_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00116cee;" goto statement_identifier ;)) }))) (expression_statement "plVar6 = (lang_memory_region_type *)0x0;" (assignment_expression "plVar6 = (lang_memory_region_type *)0x0" identifier = (cast_expression "(lang_memory_region_type *)0x0" ( (type_descriptor "lang_memory_region_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar2 = (char *)dcgettext(0,\n                             "%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n"\n                             ,5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,\n                             "%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n"\n                             ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                             "%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n"\n                             ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                             "%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n"\n                             ,5)" identifier (argument_list "(0,\n                             "%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n"\n                             ,5)" ( number_literal , (string_literal ""%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar2,0,region_name,alias);" (call_expression "einfo(pcVar2,0,region_name,alias)" identifier (argument_list "(pcVar2,0,region_name,alias)" ( identifier , number_literal , identifier , identifier ))) ;) (labeled_statement "LAB_00116d61:\n  pmVar3 = (memory_region_name_struct *)stat_alloc(0x10);" statement_identifier : (expression_statement "pmVar3 = (memory_region_name_struct *)stat_alloc(0x10);" (assignment_expression "pmVar3 = (memory_region_name_struct *)stat_alloc(0x10)" identifier = (cast_expression "(memory_region_name_struct *)stat_alloc(0x10)" ( (type_descriptor "memory_region_name_struct *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "stat_alloc(0x10)" identifier (argument_list "(0x10)" ( number_literal ))))) ;)) (expression_statement "pcVar2 = (char *)xstrdup(alias);" (assignment_expression "pcVar2 = (char *)xstrdup(alias)" identifier = (cast_expression "(char *)xstrdup(alias)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xstrdup(alias)" identifier (argument_list "(alias)" ( identifier ))))) ;) (expression_statement "pmVar3->name = pcVar2;" (assignment_expression "pmVar3->name = pcVar2" (field_expression "pmVar3->name" identifier -> field_identifier) = identifier) ;) (expression_statement "pmVar3->next = (plVar6->name_list).next;" (assignment_expression "pmVar3->next = (plVar6->name_list).next" (field_expression "pmVar3->next" identifier -> field_identifier) = (field_expression "(plVar6->name_list).next" (parenthesized_expression "(plVar6->name_list)" ( (field_expression "plVar6->name_list" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "(plVar6->name_list).next = pmVar3;" (assignment_expression "(plVar6->name_list).next = pmVar3" (field_expression "(plVar6->name_list).next" (parenthesized_expression "(plVar6->name_list)" ( (field_expression "plVar6->name_list" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00116c90(byte *param_1,byte *param_2)\n\n{\n  char *__s1;\n  int iVar1;\n  undefined8 uVar2;\n  undefined8 *puVar3;\n  long lVar4;\n  undefined8 *puVar5;\n  byte *pbVar6;\n  byte *pbVar7;\n  undefined8 *puVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  \n  lVar4 = 10;\n  bVar9 = &stack0xffffffffffffffd0 < (undefined1 *)0x18;\n  bVar11 = &stack0x00000000 == (undefined1 *)0x48;\n  pbVar6 = param_2;\n  pbVar7 = (byte *)"*default*";\n  do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar11 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar9 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar9) {\nLAB_00116d94:\n    uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);\n    FUN_001251f0(uVar2,0);\n    if (DAT_00182558 != (undefined8 *)0x0) {\nLAB_00116cee:\n      puVar5 = (undefined8 *)0x0;\n      puVar3 = DAT_00182558;\n      puVar8 = DAT_00182558;\n      do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));\n      if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;\n    }\n  }\n  else {\n    lVar4 = 10;\n    pbVar6 = param_1;\n    pbVar7 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar9);\n    if ((!bVar10 && !bVar9) == bVar10) goto LAB_00116d94;\n    if (DAT_00182558 != (undefined8 *)0x0) goto LAB_00116cee;\n  }\n  puVar5 = (undefined8 *)0x0;\n  uVar2 = dcgettext(0,"%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n",5);\n  FUN_001251f0(uVar2,0,param_2,param_1);\nLAB_00116d61:\n  puVar3 = (undefined8 *)FUN_00115590(0x10);\n  uVar2 = xstrdup(param_1);\n  *puVar3 = uVar2;\n  puVar3[1] = puVar5[1];\n  puVar5[1] = puVar3;\n  return;\n}\n\n" (function_definition "void FUN_00116c90(byte *param_1,byte *param_2)\n\n{\n  char *__s1;\n  int iVar1;\n  undefined8 uVar2;\n  undefined8 *puVar3;\n  long lVar4;\n  undefined8 *puVar5;\n  byte *pbVar6;\n  byte *pbVar7;\n  undefined8 *puVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  \n  lVar4 = 10;\n  bVar9 = &stack0xffffffffffffffd0 < (undefined1 *)0x18;\n  bVar11 = &stack0x00000000 == (undefined1 *)0x48;\n  pbVar6 = param_2;\n  pbVar7 = (byte *)"*default*";\n  do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar11 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar9 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar9) {\nLAB_00116d94:\n    uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);\n    FUN_001251f0(uVar2,0);\n    if (DAT_00182558 != (undefined8 *)0x0) {\nLAB_00116cee:\n      puVar5 = (undefined8 *)0x0;\n      puVar3 = DAT_00182558;\n      puVar8 = DAT_00182558;\n      do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));\n      if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;\n    }\n  }\n  else {\n    lVar4 = 10;\n    pbVar6 = param_1;\n    pbVar7 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar9);\n    if ((!bVar10 && !bVar9) == bVar10) goto LAB_00116d94;\n    if (DAT_00182558 != (undefined8 *)0x0) goto LAB_00116cee;\n  }\n  puVar5 = (undefined8 *)0x0;\n  uVar2 = dcgettext(0,"%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n",5);\n  FUN_001251f0(uVar2,0,param_2,param_1);\nLAB_00116d61:\n  puVar3 = (undefined8 *)FUN_00115590(0x10);\n  uVar2 = xstrdup(param_1);\n  *puVar3 = uVar2;\n  puVar3[1] = puVar5[1];\n  puVar5[1] = puVar3;\n  return;\n}" primitive_type (function_declarator "FUN_00116c90(byte *param_1,byte *param_2)" identifier (parameter_list "(byte *param_1,byte *param_2)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "byte *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  char *__s1;\n  int iVar1;\n  undefined8 uVar2;\n  undefined8 *puVar3;\n  long lVar4;\n  undefined8 *puVar5;\n  byte *pbVar6;\n  byte *pbVar7;\n  undefined8 *puVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  \n  lVar4 = 10;\n  bVar9 = &stack0xffffffffffffffd0 < (undefined1 *)0x18;\n  bVar11 = &stack0x00000000 == (undefined1 *)0x48;\n  pbVar6 = param_2;\n  pbVar7 = (byte *)"*default*";\n  do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar11 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar9 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar9) {\nLAB_00116d94:\n    uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);\n    FUN_001251f0(uVar2,0);\n    if (DAT_00182558 != (undefined8 *)0x0) {\nLAB_00116cee:\n      puVar5 = (undefined8 *)0x0;\n      puVar3 = DAT_00182558;\n      puVar8 = DAT_00182558;\n      do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));\n      if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;\n    }\n  }\n  else {\n    lVar4 = 10;\n    pbVar6 = param_1;\n    pbVar7 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar9);\n    if ((!bVar10 && !bVar9) == bVar10) goto LAB_00116d94;\n    if (DAT_00182558 != (undefined8 *)0x0) goto LAB_00116cee;\n  }\n  puVar5 = (undefined8 *)0x0;\n  uVar2 = dcgettext(0,"%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n",5);\n  FUN_001251f0(uVar2,0,param_2,param_1);\nLAB_00116d61:\n  puVar3 = (undefined8 *)FUN_00115590(0x10);\n  uVar2 = xstrdup(param_1);\n  *puVar3 = uVar2;\n  puVar3[1] = puVar5[1];\n  puVar5[1] = puVar3;\n  return;\n}" { (declaration "char *__s1;" primitive_type (pointer_declarator "*__s1" * identifier) ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "undefined8 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "undefined8 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "bool bVar11;" primitive_type identifier ;) (expression_statement "lVar4 = 10;" (assignment_expression "lVar4 = 10" identifier = number_literal) ;) (expression_statement "bVar9 = &stack0xffffffffffffffd0 < (undefined1 *)0x18;" (assignment_expression "bVar9 = &stack0xffffffffffffffd0 < (undefined1 *)0x18" identifier = (binary_expression "&stack0xffffffffffffffd0 < (undefined1 *)0x18" (pointer_expression "&stack0xffffffffffffffd0" & identifier) < (cast_expression "(undefined1 *)0x18" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "bVar11 = &stack0x00000000 == (undefined1 *)0x48;" (assignment_expression "bVar11 = &stack0x00000000 == (undefined1 *)0x48" identifier = (binary_expression "&stack0x00000000 == (undefined1 *)0x48" (pointer_expression "&stack0x00000000" & identifier) == (cast_expression "(undefined1 *)0x48" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "pbVar6 = param_2;" (assignment_expression "pbVar6 = param_2" identifier = identifier) ;) (expression_statement "pbVar7 = (byte *)"*default*";" (assignment_expression "pbVar7 = (byte *)"*default*"" identifier = (cast_expression "(byte *)"*default*"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""*default*"" " string_content "))) ;) (do_statement "do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar11 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar11);" do (compound_statement "{\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar11 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  }" { (if_statement "if (lVar4 == 0) break;" if (parenthesized_expression "(lVar4 == 0)" ( (binary_expression "lVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar4 = lVar4 + -1;" (assignment_expression "lVar4 = lVar4 + -1" identifier = (binary_expression "lVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar6 < *pbVar7;" (assignment_expression "bVar9 = *pbVar6 < *pbVar7" identifier = (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar11 = *pbVar6 == *pbVar7;" (assignment_expression "bVar11 = *pbVar6 == *pbVar7" identifier = (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar9 && !bVar11) == bVar9;" (assignment_expression "bVar9 = (!bVar9 && !bVar11) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar11) == bVar9" (parenthesized_expression "(!bVar9 && !bVar11)" ( (binary_expression "!bVar9 && !bVar11" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar9) {\nLAB_00116d94:\n    uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);\n    FUN_001251f0(uVar2,0);\n    if (DAT_00182558 != (undefined8 *)0x0) {\nLAB_00116cee:\n      puVar5 = (undefined8 *)0x0;\n      puVar3 = DAT_00182558;\n      puVar8 = DAT_00182558;\n      do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));\n      if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;\n    }\n  }\n  else {\n    lVar4 = 10;\n    pbVar6 = param_1;\n    pbVar7 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar9);\n    if ((!bVar10 && !bVar9) == bVar10) goto LAB_00116d94;\n    if (DAT_00182558 != (undefined8 *)0x0) goto LAB_00116cee;\n  }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\nLAB_00116d94:\n    uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);\n    FUN_001251f0(uVar2,0);\n    if (DAT_00182558 != (undefined8 *)0x0) {\nLAB_00116cee:\n      puVar5 = (undefined8 *)0x0;\n      puVar3 = DAT_00182558;\n      puVar8 = DAT_00182558;\n      do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));\n      if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;\n    }\n  }" { (labeled_statement "LAB_00116d94:\n    uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);" statement_identifier : (expression_statement "uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);" (assignment_expression "uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5)" identifier = (call_expression "dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5)" identifier (argument_list "(0,"%F%P:%pS: error: alias for default memory region\n",5)" ( number_literal , (string_literal ""%F%P:%pS: error: alias for default memory region\n"" " string_content escape_sequence ") , number_literal )))) ;)) (expression_statement "FUN_001251f0(uVar2,0);" (call_expression "FUN_001251f0(uVar2,0)" identifier (argument_list "(uVar2,0)" ( identifier , number_literal ))) ;) (if_statement "if (DAT_00182558 != (undefined8 *)0x0) {\nLAB_00116cee:\n      puVar5 = (undefined8 *)0x0;\n      puVar3 = DAT_00182558;\n      puVar8 = DAT_00182558;\n      do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));\n      if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;\n    }" if (parenthesized_expression "(DAT_00182558 != (undefined8 *)0x0)" ( (binary_expression "DAT_00182558 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00116cee:\n      puVar5 = (undefined8 *)0x0;\n      puVar3 = DAT_00182558;\n      puVar8 = DAT_00182558;\n      do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));\n      if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;\n    }" { (labeled_statement "LAB_00116cee:\n      puVar5 = (undefined8 *)0x0;" statement_identifier : (expression_statement "puVar5 = (undefined8 *)0x0;" (assignment_expression "puVar5 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "puVar3 = DAT_00182558;" (assignment_expression "puVar3 = DAT_00182558" identifier = identifier) ;) (expression_statement "puVar8 = DAT_00182558;" (assignment_expression "puVar8 = DAT_00182558" identifier = identifier) ;) (do_statement "do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));" do (compound_statement "{\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      }" { (expression_statement "__s1 = (char *)*puVar3;" (assignment_expression "__s1 = (char *)*puVar3" identifier = (cast_expression "(char *)*puVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier))) ;) (if_statement "if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }" if (parenthesized_expression "((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0))" ( (binary_expression "(puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)" (parenthesized_expression "(puVar5 == (undefined8 *)0x0)" ( (binary_expression "puVar5 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)" ( (comma_expression "iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0" (assignment_expression "iVar1 = strcmp(__s1,(char *)param_2)" identifier = (call_expression "strcmp(__s1,(char *)param_2)" identifier (argument_list "(__s1,(char *)param_2)" ( identifier , (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) , (binary_expression "iVar1 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          puVar5 = puVar8;\n        }" { (expression_statement "puVar5 = puVar8;" (assignment_expression "puVar5 = puVar8" identifier = identifier) ;) })) (expression_statement "iVar1 = strcmp(__s1,(char *)param_1);" (assignment_expression "iVar1 = strcmp(__s1,(char *)param_1)" identifier = (call_expression "strcmp(__s1,(char *)param_1)" identifier (argument_list "(__s1,(char *)param_1)" ( identifier , (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }" { (expression_statement "uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);" (assignment_expression "uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5)" identifier = (call_expression "dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5)" identifier (argument_list "(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5)" ( number_literal , (string_literal ""%F%P:%pS: error: redefinition of memory region alias `%s\'\n"" " string_content escape_sequence escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_001251f0(uVar2,0,param_1);" (call_expression "FUN_001251f0(uVar2,0,param_1)" identifier (argument_list "(uVar2,0,param_1)" ( identifier , number_literal , identifier ))) ;) (expression_statement "puVar3 = (undefined8 *)puVar3[1];" (assignment_expression "puVar3 = (undefined8 *)puVar3[1]" identifier = (cast_expression "(undefined8 *)puVar3[1]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar3[1]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }" else (compound_statement "{\n          puVar3 = (undefined8 *)puVar3[1];\n        }" { (expression_statement "puVar3 = (undefined8 *)puVar3[1];" (assignment_expression "puVar3 = (undefined8 *)puVar3[1]" identifier = (cast_expression "(undefined8 *)puVar3[1]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar3[1]" identifier [ number_literal ]))) ;) }))) }) while (parenthesized_expression "((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0))" ( (binary_expression "(puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0)" (parenthesized_expression "(puVar3 != (undefined8 *)0x0)" ( (binary_expression "puVar3 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0)" ( (comma_expression "puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0" (assignment_expression "puVar3 = (undefined8 *)puVar8[2]" identifier = (cast_expression "(undefined8 *)puVar8[2]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[2]" identifier [ number_literal ]))) , (comma_expression "puVar8 = puVar3, puVar3 != (undefined8 *)0x0" (assignment_expression "puVar8 = puVar3" identifier = identifier) , (binary_expression "puVar3 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) ;) (if_statement "if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;" if (parenthesized_expression "(puVar5 != (undefined8 *)0x0)" ( (binary_expression "puVar5 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00116d61;" goto statement_identifier ;)) })) }) (else_clause "else {\n    lVar4 = 10;\n    pbVar6 = param_1;\n    pbVar7 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar9);\n    if ((!bVar10 && !bVar9) == bVar10) goto LAB_00116d94;\n    if (DAT_00182558 != (undefined8 *)0x0) goto LAB_00116cee;\n  }" else (compound_statement "{\n    lVar4 = 10;\n    pbVar6 = param_1;\n    pbVar7 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar9);\n    if ((!bVar10 && !bVar9) == bVar10) goto LAB_00116d94;\n    if (DAT_00182558 != (undefined8 *)0x0) goto LAB_00116cee;\n  }" { (expression_statement "lVar4 = 10;" (assignment_expression "lVar4 = 10" identifier = number_literal) ;) (expression_statement "pbVar6 = param_1;" (assignment_expression "pbVar6 = param_1" identifier = identifier) ;) (expression_statement "pbVar7 = (byte *)"*default*";" (assignment_expression "pbVar7 = (byte *)"*default*"" identifier = (cast_expression "(byte *)"*default*"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""*default*"" " string_content "))) ;) (do_statement "do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar9);" do (compound_statement "{\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    }" { (if_statement "if (lVar4 == 0) break;" if (parenthesized_expression "(lVar4 == 0)" ( (binary_expression "lVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar4 = lVar4 + -1;" (assignment_expression "lVar4 = lVar4 + -1" identifier = (binary_expression "lVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar6 < *pbVar7;" (assignment_expression "bVar10 = *pbVar6 < *pbVar7" identifier = (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar9 = *pbVar6 == *pbVar7;" (assignment_expression "bVar9 = *pbVar6 == *pbVar7" identifier = (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (if_statement "if ((!bVar10 && !bVar9) == bVar10) goto LAB_00116d94;" if (parenthesized_expression "((!bVar10 && !bVar9) == bVar10)" ( (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" ( (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier) )) (goto_statement "goto LAB_00116d94;" goto statement_identifier ;)) (if_statement "if (DAT_00182558 != (undefined8 *)0x0) goto LAB_00116cee;" if (parenthesized_expression "(DAT_00182558 != (undefined8 *)0x0)" ( (binary_expression "DAT_00182558 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00116cee;" goto statement_identifier ;)) }))) (expression_statement "puVar5 = (undefined8 *)0x0;" (assignment_expression "puVar5 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar2 = dcgettext(0,"%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n",5);" (assignment_expression "uVar2 = dcgettext(0,"%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n",5)" identifier = (call_expression "dcgettext(0,"%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n",5)" identifier (argument_list "(0,"%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n",5)" ( number_literal , (string_literal ""%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_001251f0(uVar2,0,param_2,param_1);" (call_expression "FUN_001251f0(uVar2,0,param_2,param_1)" identifier (argument_list "(uVar2,0,param_2,param_1)" ( identifier , number_literal , identifier , identifier ))) ;) (labeled_statement "LAB_00116d61:\n  puVar3 = (undefined8 *)FUN_00115590(0x10);" statement_identifier : (expression_statement "puVar3 = (undefined8 *)FUN_00115590(0x10);" (assignment_expression "puVar3 = (undefined8 *)FUN_00115590(0x10)" identifier = (cast_expression "(undefined8 *)FUN_00115590(0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00115590(0x10)" identifier (argument_list "(0x10)" ( number_literal ))))) ;)) (expression_statement "uVar2 = xstrdup(param_1);" (assignment_expression "uVar2 = xstrdup(param_1)" identifier = (call_expression "xstrdup(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "*puVar3 = uVar2;" (assignment_expression "*puVar3 = uVar2" (pointer_expression "*puVar3" * identifier) = identifier) ;) (expression_statement "puVar3[1] = puVar5[1];" (assignment_expression "puVar3[1] = puVar5[1]" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (expression_statement "puVar5[1] = puVar3;" (assignment_expression "puVar5[1] = puVar3" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }))) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)))) ))) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return ;) })))
(function_definition "void FUN_00116c90(byte *param_1,byte *param_2)\n\n{\n  char *__s1;\n  int iVar1;\n  undefined8 uVar2;\n  undefined8 *puVar3;\n  long lVar4;\n  undefined8 *puVar5;\n  byte *pbVar6;\n  byte *pbVar7;\n  undefined8 *puVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  \n  lVar4 = 10;\n  bVar9 = &stack0xffffffffffffffd0 < (undefined1 *)0x18;\n  bVar11 = &stack0x00000000 == (undefined1 *)0x48;\n  pbVar6 = param_2;\n  pbVar7 = (byte *)"*default*";\n  do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar11 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar9 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar9) {\nLAB_00116d94:\n    uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);\n    FUN_001251f0(uVar2,0);\n    if (DAT_00182558 != (undefined8 *)0x0) {\nLAB_00116cee:\n      puVar5 = (undefined8 *)0x0;\n      puVar3 = DAT_00182558;\n      puVar8 = DAT_00182558;\n      do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));\n      if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;\n    }\n  }\n  else {\n    lVar4 = 10;\n    pbVar6 = param_1;\n    pbVar7 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar9);\n    if ((!bVar10 && !bVar9) == bVar10) goto LAB_00116d94;\n    if (DAT_00182558 != (undefined8 *)0x0) goto LAB_00116cee;\n  }\n  puVar5 = (undefined8 *)0x0;\n  uVar2 = dcgettext(0,"%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n",5);\n  FUN_001251f0(uVar2,0,param_2,param_1);\nLAB_00116d61:\n  puVar3 = (undefined8 *)FUN_00115590(0x10);\n  uVar2 = xstrdup(param_1);\n  *puVar3 = uVar2;\n  puVar3[1] = puVar5[1];\n  puVar5[1] = puVar3;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00116c90(byte *param_1,byte *param_2)" (identifier "FUN_00116c90") (parameter_list "(byte *param_1,byte *param_2)" (( "(") (parameter_declaration "byte *param_1" (type_identifier "byte") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "byte *param_2" (type_identifier "byte") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  char *__s1;\n  int iVar1;\n  undefined8 uVar2;\n  undefined8 *puVar3;\n  long lVar4;\n  undefined8 *puVar5;\n  byte *pbVar6;\n  byte *pbVar7;\n  undefined8 *puVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  \n  lVar4 = 10;\n  bVar9 = &stack0xffffffffffffffd0 < (undefined1 *)0x18;\n  bVar11 = &stack0x00000000 == (undefined1 *)0x48;\n  pbVar6 = param_2;\n  pbVar7 = (byte *)"*default*";\n  do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar11 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar9 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar9) {\nLAB_00116d94:\n    uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);\n    FUN_001251f0(uVar2,0);\n    if (DAT_00182558 != (undefined8 *)0x0) {\nLAB_00116cee:\n      puVar5 = (undefined8 *)0x0;\n      puVar3 = DAT_00182558;\n      puVar8 = DAT_00182558;\n      do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));\n      if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;\n    }\n  }\n  else {\n    lVar4 = 10;\n    pbVar6 = param_1;\n    pbVar7 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar9);\n    if ((!bVar10 && !bVar9) == bVar10) goto LAB_00116d94;\n    if (DAT_00182558 != (undefined8 *)0x0) goto LAB_00116cee;\n  }\n  puVar5 = (undefined8 *)0x0;\n  uVar2 = dcgettext(0,"%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n",5);\n  FUN_001251f0(uVar2,0,param_2,param_1);\nLAB_00116d61:\n  puVar3 = (undefined8 *)FUN_00115590(0x10);\n  uVar2 = xstrdup(param_1);\n  *puVar3 = uVar2;\n  puVar3[1] = puVar5[1];\n  puVar5[1] = puVar3;\n  return;\n}" ({ "{") (declaration "char *__s1;" (primitive_type "char") (pointer_declarator "*__s1" (* "*") (identifier "__s1")) (; ";")) (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined8 uVar2;" (type_identifier "undefined8") (identifier "uVar2") (; ";")) (declaration "undefined8 *puVar3;" (type_identifier "undefined8") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "long lVar4;" (sized_type_specifier "long" (long "long")) (identifier "lVar4") (; ";")) (declaration "undefined8 *puVar5;" (type_identifier "undefined8") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "byte *pbVar6;" (type_identifier "byte") (pointer_declarator "*pbVar6" (* "*") (identifier "pbVar6")) (; ";")) (declaration "byte *pbVar7;" (type_identifier "byte") (pointer_declarator "*pbVar7" (* "*") (identifier "pbVar7")) (; ";")) (declaration "undefined8 *puVar8;" (type_identifier "undefined8") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "bool bVar9;" (primitive_type "bool") (identifier "bVar9") (; ";")) (declaration "bool bVar10;" (primitive_type "bool") (identifier "bVar10") (; ";")) (declaration "bool bVar11;" (primitive_type "bool") (identifier "bVar11") (; ";")) (expression_statement "lVar4 = 10;" (assignment_expression "lVar4 = 10" (identifier "lVar4") (= "=") (number_literal "10")) (; ";")) (expression_statement "bVar9 = &stack0xffffffffffffffd0 < (undefined1 *)0x18;" (assignment_expression "bVar9 = &stack0xffffffffffffffd0 < (undefined1 *)0x18" (identifier "bVar9") (= "=") (binary_expression "&stack0xffffffffffffffd0 < (undefined1 *)0x18" (pointer_expression "&stack0xffffffffffffffd0" (& "&") (identifier "stack0xffffffffffffffd0")) (< "<") (cast_expression "(undefined1 *)0x18" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x18")))) (; ";")) (expression_statement "bVar11 = &stack0x00000000 == (undefined1 *)0x48;" (assignment_expression "bVar11 = &stack0x00000000 == (undefined1 *)0x48" (identifier "bVar11") (= "=") (binary_expression "&stack0x00000000 == (undefined1 *)0x48" (pointer_expression "&stack0x00000000" (& "&") (identifier "stack0x00000000")) (== "==") (cast_expression "(undefined1 *)0x48" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x48")))) (; ";")) (expression_statement "pbVar6 = param_2;" (assignment_expression "pbVar6 = param_2" (identifier "pbVar6") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pbVar7 = (byte *)"*default*";" (assignment_expression "pbVar7 = (byte *)"*default*"" (identifier "pbVar7") (= "=") (cast_expression "(byte *)"*default*"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""*default*"" (" """) (string_content "*default*") (" """)))) (; ";")) (do_statement "do {\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar11 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar11);" (do "do") (compound_statement "{\n    if (lVar4 == 0) break;\n    lVar4 = lVar4 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar11 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  }" ({ "{") (if_statement "if (lVar4 == 0) break;" (if "if") (parenthesized_expression "(lVar4 == 0)" (( "(") (binary_expression "lVar4 == 0" (identifier "lVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar4 = lVar4 + -1;" (assignment_expression "lVar4 = lVar4 + -1" (identifier "lVar4") (= "=") (binary_expression "lVar4 + -1" (identifier "lVar4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar9 = *pbVar6 < *pbVar7;" (assignment_expression "bVar9 = *pbVar6 < *pbVar7" (identifier "bVar9") (= "=") (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")) (< "<") (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")))) (; ";")) (expression_statement "bVar11 = *pbVar6 == *pbVar7;" (assignment_expression "bVar11 = *pbVar6 == *pbVar7" (identifier "bVar11") (= "=") (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")) (== "==") (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")))) (; ";")) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + 1" (identifier "pbVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (; ";")) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" (identifier "bVar10") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = (!bVar9 && !bVar11) == bVar9;" (assignment_expression "bVar9 = (!bVar9 && !bVar11) == bVar9" (identifier "bVar9") (= "=") (binary_expression "(!bVar9 && !bVar11) == bVar9" (parenthesized_expression "(!bVar9 && !bVar11)" (( "(") (binary_expression "!bVar9 && !bVar11" (unary_expression "!bVar9" (! "!") (identifier "bVar9")) (&& "&&") (unary_expression "!bVar11" (! "!") (identifier "bVar11"))) () ")")) (== "==") (identifier "bVar9"))) (; ";")) (if_statement "if (bVar9) {\nLAB_00116d94:\n    uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);\n    FUN_001251f0(uVar2,0);\n    if (DAT_00182558 != (undefined8 *)0x0) {\nLAB_00116cee:\n      puVar5 = (undefined8 *)0x0;\n      puVar3 = DAT_00182558;\n      puVar8 = DAT_00182558;\n      do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));\n      if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;\n    }\n  }\n  else {\n    lVar4 = 10;\n    pbVar6 = param_1;\n    pbVar7 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar9);\n    if ((!bVar10 && !bVar9) == bVar10) goto LAB_00116d94;\n    if (DAT_00182558 != (undefined8 *)0x0) goto LAB_00116cee;\n  }" (if "if") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\nLAB_00116d94:\n    uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);\n    FUN_001251f0(uVar2,0);\n    if (DAT_00182558 != (undefined8 *)0x0) {\nLAB_00116cee:\n      puVar5 = (undefined8 *)0x0;\n      puVar3 = DAT_00182558;\n      puVar8 = DAT_00182558;\n      do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));\n      if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;\n    }\n  }" ({ "{") (labeled_statement "LAB_00116d94:\n    uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);" (statement_identifier "LAB_00116d94") (: ":") (expression_statement "uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);" (assignment_expression "uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5)" (identifier "uVar2") (= "=") (call_expression "dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5)" (identifier "dcgettext") (argument_list "(0,"%F%P:%pS: error: alias for default memory region\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%F%P:%pS: error: alias for default memory region\n"" (" """) (string_content "%F%P:%pS: error: alias for default memory region") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "FUN_001251f0(uVar2,0);" (call_expression "FUN_001251f0(uVar2,0)" (identifier "FUN_001251f0") (argument_list "(uVar2,0)" (( "(") (identifier "uVar2") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (DAT_00182558 != (undefined8 *)0x0) {\nLAB_00116cee:\n      puVar5 = (undefined8 *)0x0;\n      puVar3 = DAT_00182558;\n      puVar8 = DAT_00182558;\n      do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));\n      if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;\n    }" (if "if") (parenthesized_expression "(DAT_00182558 != (undefined8 *)0x0)" (( "(") (binary_expression "DAT_00182558 != (undefined8 *)0x0" (identifier "DAT_00182558") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00116cee:\n      puVar5 = (undefined8 *)0x0;\n      puVar3 = DAT_00182558;\n      puVar8 = DAT_00182558;\n      do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));\n      if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;\n    }" ({ "{") (labeled_statement "LAB_00116cee:\n      puVar5 = (undefined8 *)0x0;" (statement_identifier "LAB_00116cee") (: ":") (expression_statement "puVar5 = (undefined8 *)0x0;" (assignment_expression "puVar5 = (undefined8 *)0x0" (identifier "puVar5") (= "=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "puVar3 = DAT_00182558;" (assignment_expression "puVar3 = DAT_00182558" (identifier "puVar3") (= "=") (identifier "DAT_00182558")) (; ";")) (expression_statement "puVar8 = DAT_00182558;" (assignment_expression "puVar8 = DAT_00182558" (identifier "puVar8") (= "=") (identifier "DAT_00182558")) (; ";")) (do_statement "do {\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      } while ((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));" (do "do") (compound_statement "{\n        __s1 = (char *)*puVar3;\n        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }\n        iVar1 = strcmp(__s1,(char *)param_1);\n        if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n      }" ({ "{") (expression_statement "__s1 = (char *)*puVar3;" (assignment_expression "__s1 = (char *)*puVar3" (identifier "__s1") (= "=") (cast_expression "(char *)*puVar3" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar3" (* "*") (identifier "puVar3")))) (; ";")) (if_statement "if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {\n          puVar5 = puVar8;\n        }" (if "if") (parenthesized_expression "((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0))" (( "(") (binary_expression "(puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)" (parenthesized_expression "(puVar5 == (undefined8 *)0x0)" (( "(") (binary_expression "puVar5 == (undefined8 *)0x0" (identifier "puVar5") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)" (( "(") (comma_expression "iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0" (assignment_expression "iVar1 = strcmp(__s1,(char *)param_2)" (identifier "iVar1") (= "=") (call_expression "strcmp(__s1,(char *)param_2)" (identifier "strcmp") (argument_list "(__s1,(char *)param_2)" (( "(") (identifier "__s1") (, ",") (cast_expression "(char *)param_2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_2")) () ")")))) (, ",") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          puVar5 = puVar8;\n        }" ({ "{") (expression_statement "puVar5 = puVar8;" (assignment_expression "puVar5 = puVar8" (identifier "puVar5") (= "=") (identifier "puVar8")) (; ";")) (} "}"))) (expression_statement "iVar1 = strcmp(__s1,(char *)param_1);" (assignment_expression "iVar1 = strcmp(__s1,(char *)param_1)" (identifier "iVar1") (= "=") (call_expression "strcmp(__s1,(char *)param_1)" (identifier "strcmp") (argument_list "(__s1,(char *)param_1)" (( "(") (identifier "__s1") (, ",") (cast_expression "(char *)param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1")) () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }\n        else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);\n          FUN_001251f0(uVar2,0,param_1);\n          puVar3 = (undefined8 *)puVar3[1];\n        }" ({ "{") (expression_statement "uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);" (assignment_expression "uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5)" (identifier "uVar2") (= "=") (call_expression "dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5)" (identifier "dcgettext") (argument_list "(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%F%P:%pS: error: redefinition of memory region alias `%s\'\n"" (" """) (string_content "%F%P:%pS: error: redefinition of memory region alias `%s") (escape_sequence "\'") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_001251f0(uVar2,0,param_1);" (call_expression "FUN_001251f0(uVar2,0,param_1)" (identifier "FUN_001251f0") (argument_list "(uVar2,0,param_1)" (( "(") (identifier "uVar2") (, ",") (number_literal "0") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "puVar3 = (undefined8 *)puVar3[1];" (assignment_expression "puVar3 = (undefined8 *)puVar3[1]" (identifier "puVar3") (= "=") (cast_expression "(undefined8 *)puVar3[1]" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n          puVar3 = (undefined8 *)puVar3[1];\n        }" (else "else") (compound_statement "{\n          puVar3 = (undefined8 *)puVar3[1];\n        }" ({ "{") (expression_statement "puVar3 = (undefined8 *)puVar3[1];" (assignment_expression "puVar3 = (undefined8 *)puVar3[1]" (identifier "puVar3") (= "=") (cast_expression "(undefined8 *)puVar3[1]" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}")))) (} "}")) (while "while") (parenthesized_expression "((puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0))" (( "(") (binary_expression "(puVar3 != (undefined8 *)0x0) ||\n              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0)" (parenthesized_expression "(puVar3 != (undefined8 *)0x0)" (( "(") (binary_expression "puVar3 != (undefined8 *)0x0" (identifier "puVar3") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0)" (( "(") (comma_expression "puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0" (assignment_expression "puVar3 = (undefined8 *)puVar8[2]" (identifier "puVar3") (= "=") (cast_expression "(undefined8 *)puVar8[2]" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar8[2]" (identifier "puVar8") ([ "[") (number_literal "2") (] "]")))) (, ",") (comma_expression "puVar8 = puVar3, puVar3 != (undefined8 *)0x0" (assignment_expression "puVar8 = puVar3" (identifier "puVar8") (= "=") (identifier "puVar3")) (, ",") (binary_expression "puVar3 != (undefined8 *)0x0" (identifier "puVar3") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))))) () ")"))) () ")")) (; ";")) (if_statement "if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;" (if "if") (parenthesized_expression "(puVar5 != (undefined8 *)0x0)" (( "(") (binary_expression "puVar5 != (undefined8 *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00116d61;" (goto "goto") (statement_identifier "LAB_00116d61") (; ";"))) (} "}"))) (} "}")) (else_clause "else {\n    lVar4 = 10;\n    pbVar6 = param_1;\n    pbVar7 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar9);\n    if ((!bVar10 && !bVar9) == bVar10) goto LAB_00116d94;\n    if (DAT_00182558 != (undefined8 *)0x0) goto LAB_00116cee;\n  }" (else "else") (compound_statement "{\n    lVar4 = 10;\n    pbVar6 = param_1;\n    pbVar7 = (byte *)"*default*";\n    do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar9);\n    if ((!bVar10 && !bVar9) == bVar10) goto LAB_00116d94;\n    if (DAT_00182558 != (undefined8 *)0x0) goto LAB_00116cee;\n  }" ({ "{") (expression_statement "lVar4 = 10;" (assignment_expression "lVar4 = 10" (identifier "lVar4") (= "=") (number_literal "10")) (; ";")) (expression_statement "pbVar6 = param_1;" (assignment_expression "pbVar6 = param_1" (identifier "pbVar6") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pbVar7 = (byte *)"*default*";" (assignment_expression "pbVar7 = (byte *)"*default*"" (identifier "pbVar7") (= "=") (cast_expression "(byte *)"*default*"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""*default*"" (" """) (string_content "*default*") (" """)))) (; ";")) (do_statement "do {\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar9);" (do "do") (compound_statement "{\n      if (lVar4 == 0) break;\n      lVar4 = lVar4 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar9 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    }" ({ "{") (if_statement "if (lVar4 == 0) break;" (if "if") (parenthesized_expression "(lVar4 == 0)" (( "(") (binary_expression "lVar4 == 0" (identifier "lVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar4 = lVar4 + -1;" (assignment_expression "lVar4 = lVar4 + -1" (identifier "lVar4") (= "=") (binary_expression "lVar4 + -1" (identifier "lVar4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar10 = *pbVar6 < *pbVar7;" (assignment_expression "bVar10 = *pbVar6 < *pbVar7" (identifier "bVar10") (= "=") (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")) (< "<") (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")))) (; ";")) (expression_statement "bVar9 = *pbVar6 == *pbVar7;" (assignment_expression "bVar9 = *pbVar6 == *pbVar7" (identifier "bVar9") (= "=") (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")) (== "==") (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")))) (; ";")) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + 1" (identifier "pbVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (; ";")) (if_statement "if ((!bVar10 && !bVar9) == bVar10) goto LAB_00116d94;" (if "if") (parenthesized_expression "((!bVar10 && !bVar9) == bVar10)" (( "(") (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" (( "(") (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" (! "!") (identifier "bVar10")) (&& "&&") (unary_expression "!bVar9" (! "!") (identifier "bVar9"))) () ")")) (== "==") (identifier "bVar10")) () ")")) (goto_statement "goto LAB_00116d94;" (goto "goto") (statement_identifier "LAB_00116d94") (; ";"))) (if_statement "if (DAT_00182558 != (undefined8 *)0x0) goto LAB_00116cee;" (if "if") (parenthesized_expression "(DAT_00182558 != (undefined8 *)0x0)" (( "(") (binary_expression "DAT_00182558 != (undefined8 *)0x0" (identifier "DAT_00182558") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00116cee;" (goto "goto") (statement_identifier "LAB_00116cee") (; ";"))) (} "}")))) (expression_statement "puVar5 = (undefined8 *)0x0;" (assignment_expression "puVar5 = (undefined8 *)0x0" (identifier "puVar5") (= "=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar2 = dcgettext(0,"%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n",5);" (assignment_expression "uVar2 = dcgettext(0,"%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n",5)" (identifier "uVar2") (= "=") (call_expression "dcgettext(0,"%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n",5)" (identifier "dcgettext") (argument_list "(0,"%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n"" (" """) (string_content "%F%P:%pS: error: memory region `%s") (escape_sequence "\'") (string_content " for alias `%s") (escape_sequence "\'") (string_content " does not exist") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_001251f0(uVar2,0,param_2,param_1);" (call_expression "FUN_001251f0(uVar2,0,param_2,param_1)" (identifier "FUN_001251f0") (argument_list "(uVar2,0,param_2,param_1)" (( "(") (identifier "uVar2") (, ",") (number_literal "0") (, ",") (identifier "param_2") (, ",") (identifier "param_1") () ")"))) (; ";")) (labeled_statement "LAB_00116d61:\n  puVar3 = (undefined8 *)FUN_00115590(0x10);" (statement_identifier "LAB_00116d61") (: ":") (expression_statement "puVar3 = (undefined8 *)FUN_00115590(0x10);" (assignment_expression "puVar3 = (undefined8 *)FUN_00115590(0x10)" (identifier "puVar3") (= "=") (cast_expression "(undefined8 *)FUN_00115590(0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00115590(0x10)" (identifier "FUN_00115590") (argument_list "(0x10)" (( "(") (number_literal "0x10") () ")"))))) (; ";"))) (expression_statement "uVar2 = xstrdup(param_1);" (assignment_expression "uVar2 = xstrdup(param_1)" (identifier "uVar2") (= "=") (call_expression "xstrdup(param_1)" (identifier "xstrdup") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "*puVar3 = uVar2;" (assignment_expression "*puVar3 = uVar2" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "puVar3[1] = puVar5[1];" (assignment_expression "puVar3[1] = puVar5[1]" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar5[1] = puVar3;" (assignment_expression "puVar5[1] = puVar3" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "puVar3")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(char *alias,char *region_name)

{
  int var_10;
  char *pcVar2;
  type_1 *pmVar3;
  long var_1;
  type_2 *var_11;
  type_3 *var_8;
  type_4 *var_2;
  type_4 *var_3;
  type_3 *plVar9;
  bool var_4;
  bool var_12;
  bool bVar12;
  
  var_1 = 10;
  var_4 = &stack0xffffffffffffffd0 < (type_5 *)0x18;
  bVar12 = &stack0x00000000 == (type_5 *)0x48;
  var_2 = (type_4 *)region_name;
  var_3 = (type_4 *)"*default*";
  do {
    if (var_1 == 0) break;
    var_1 = var_1 + -1;
    var_4 = *var_2 < *var_3;
    bVar12 = *var_2 == *var_3;
    var_2 = var_2 + 1;
    var_3 = var_3 + 1;
  } while (bVar12);
  var_12 = false;
  var_4 = (!var_4 && !bVar12) == var_4;
  if (var_4) {
LAB_00116d94:
    pcVar2 = (char *)var_5(0,"%F%P:%pS: error: alias for default memory region\n",5);
    var_6(pcVar2,0);
    if (var_7 != (type_3 *)0x0) {
LAB_00116cee:
      var_8 = (type_3 *)0x0;
      var_11 = var_7;
      plVar9 = var_7;
      do {
        pcVar2 = (var_11->name_list).name;
        if ((var_8 == (type_3 *)0x0) &&
           (var_10 = var_9(pcVar2,region_name), var_10 == 0)) {
          var_8 = plVar9;
        }
        var_10 = var_9(pcVar2,alias);
        if (var_10 == 0) {
          pcVar2 = (char *)var_5(0,
                                     "%F%P:%pS: error: redefinition of memory region alias `%s\'\n",
                                     5);
          var_6(pcVar2,0,alias);
          var_11 = (type_2 *)(var_11->name_list).next;
        }
        else {
          var_11 = (type_2 *)(var_11->name_list).next;
        }
      } while ((var_11 != (type_2 *)0x0) ||
              (var_11 = plVar9->next, plVar9 = var_11, var_11 != (type_2 *)0x0));
      if (var_8 != (type_3 *)0x0) goto LAB_00116d61;
    }
  }
  else {
    var_1 = 10;
    var_2 = (type_4 *)alias;
    var_3 = (type_4 *)"*default*";
    do {
      if (var_1 == 0) break;
      var_1 = var_1 + -1;
      var_12 = *var_2 < *var_3;
      var_4 = *var_2 == *var_3;
      var_2 = var_2 + 1;
      var_3 = var_3 + 1;
    } while (var_4);
    if ((!var_12 && !var_4) == var_12) goto LAB_00116d94;
    if (var_7 != (type_3 *)0x0) goto LAB_00116cee;
  }
  var_8 = (type_3 *)0x0;
  pcVar2 = (char *)var_5(0,
                             "%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n"
                             ,5);
  var_6(pcVar2,0,region_name,alias);
LAB_00116d61:
  pmVar3 = (type_1 *)var_13(0x10);
  pcVar2 = (char *)var_14(alias);
  pmVar3->name = pcVar2;
  pmVar3->next = (var_8->name_list).next;
  (var_8->name_list).next = pmVar3;
  return;
}


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

void MASKED(byte *param_1,byte *param_2)

{
  char *__s1;
  int iVar1;
  undefined8 uVar2;
  undefined8 *puVar3;
  long lVar4;
  undefined8 *puVar5;
  byte *pbVar6;
  byte *pbVar7;
  undefined8 *puVar8;
  bool bVar9;
  bool bVar10;
  bool bVar11;
  
  lVar4 = 10;
  bVar9 = &stack0xffffffffffffffd0 < (undefined1 *)0x18;
  bVar11 = &stack0x00000000 == (undefined1 *)0x48;
  pbVar6 = param_2;
  pbVar7 = (byte *)"*default*";
  do {
    if (lVar4 == 0) break;
    lVar4 = lVar4 + -1;
    bVar9 = *pbVar6 < *pbVar7;
    bVar11 = *pbVar6 == *pbVar7;
    pbVar6 = pbVar6 + 1;
    pbVar7 = pbVar7 + 1;
  } while (bVar11);
  bVar10 = false;
  bVar9 = (!bVar9 && !bVar11) == bVar9;
  if (bVar9) {
LAB_00116d94:
    uVar2 = dcgettext(0,"%F%P:%pS: error: alias for default memory region\n",5);
    FUN_001251f0(uVar2,0);
    if (DAT_00182558 != (undefined8 *)0x0) {
LAB_00116cee:
      puVar5 = (undefined8 *)0x0;
      puVar3 = DAT_00182558;
      puVar8 = DAT_00182558;
      do {
        __s1 = (char *)*puVar3;
        if ((puVar5 == (undefined8 *)0x0) && (iVar1 = strcmp(__s1,(char *)param_2), iVar1 == 0)) {
          puVar5 = puVar8;
        }
        iVar1 = strcmp(__s1,(char *)param_1);
        if (iVar1 == 0) {
          uVar2 = dcgettext(0,"%F%P:%pS: error: redefinition of memory region alias `%s\'\n",5);
          FUN_001251f0(uVar2,0,param_1);
          puVar3 = (undefined8 *)puVar3[1];
        }
        else {
          puVar3 = (undefined8 *)puVar3[1];
        }
      } while ((puVar3 != (undefined8 *)0x0) ||
              (puVar3 = (undefined8 *)puVar8[2], puVar8 = puVar3, puVar3 != (undefined8 *)0x0));
      if (puVar5 != (undefined8 *)0x0) goto LAB_00116d61;
    }
  }
  else {
    lVar4 = 10;
    pbVar6 = param_1;
    pbVar7 = (byte *)"*default*";
    do {
      if (lVar4 == 0) break;
      lVar4 = lVar4 + -1;
      bVar10 = *pbVar6 < *pbVar7;
      bVar9 = *pbVar6 == *pbVar7;
      pbVar6 = pbVar6 + 1;
      pbVar7 = pbVar7 + 1;
    } while (bVar9);
    if ((!bVar10 && !bVar9) == bVar10) goto LAB_00116d94;
    if (DAT_00182558 != (undefined8 *)0x0) goto LAB_00116cee;
  }
  puVar5 = (undefined8 *)0x0;
  uVar2 = dcgettext(0,"%F%P:%pS: error: memory region `%s\' for alias `%s\' does not exist\n",5);
  FUN_001251f0(uVar2,0,param_2,param_1);
LAB_00116d61:
  puVar3 = (undefined8 *)FUN_00115590(0x10);
  uVar2 = xstrdup(param_1);
  *puVar3 = uVar2;
  puVar3[1] = puVar5[1];
  puVar5[1] = puVar3;
  return;
}

