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

flagword __regparm3 parse_flags(char *s)

{
  char *pcVar1;
  size_t __n;
  int iVar2;
  char *format;
  uint local_30;
  
  local_30 = 0;
  do {
    pcVar1 = strchr(s,0x2c);
    if (pcVar1 == (char *)0x0) {
      __n = strlen(s);
      pcVar1 = (char *)0x0;
    }
    else {
      __n = (int)pcVar1 - (int)s;
      pcVar1 = pcVar1 + 1;
    }
    iVar2 = strncasecmp("alloc",s,__n);
    if (iVar2 == 0) {
      local_30 = local_30 | 1;
    }
    else {
      iVar2 = strncasecmp("load",s,__n);
      if (iVar2 == 0) {
        local_30 = local_30 | 2;
      }
      else {
        iVar2 = strncasecmp("noload",s,__n);
        if (iVar2 == 0) {
          local_30 = local_30 | 0x200;
        }
        else {
          iVar2 = strncasecmp("readonly",s,__n);
          if (iVar2 == 0) {
            local_30 = local_30 | 8;
          }
          else {
            iVar2 = strncasecmp("debug",s,__n);
            if (iVar2 == 0) {
              local_30 = local_30 | 0x2000;
            }
            else {
              iVar2 = strncasecmp("code",s,__n);
              if (iVar2 == 0) {
                local_30 = local_30 | 0x10;
              }
              else {
                iVar2 = strncasecmp("data",s,__n);
                if (iVar2 == 0) {
                  local_30 = local_30 | 0x20;
                }
                else {
                  iVar2 = strncasecmp("rom",s,__n);
                  if (iVar2 == 0) {
                    local_30 = local_30 | 0x40;
                  }
                  else {
                    iVar2 = strncasecmp("share",s,__n);
                    if (iVar2 == 0) {
                      local_30 = local_30 | 0x8000000;
                    }
                    else {
                      iVar2 = strncasecmp("contents",s,__n);
                      if (iVar2 == 0) {
                        local_30 = local_30 | 0x100;
                      }
                      else {
                        iVar2 = strncasecmp("merge",s,__n);
                        if (iVar2 == 0) {
                          local_30 = local_30 | 0x800000;
                        }
                        else {
                          iVar2 = strncasecmp("strings",s,__n);
                          if (iVar2 != 0) {
                            pcVar1 = (char *)xmalloc(__n + 1);
                            strncpy(pcVar1,s,__n);
                            pcVar1[__n] = '\0';
                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);
                            non_fatal(format,pcVar1);
                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);
                    /* WARNING: Subroutine does not return */
                            fatal(pcVar1,
                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"
                                 );
                          }
                          local_30 = local_30 | 0x1000000;
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
    s = pcVar1;
  } while (pcVar1 != (char *)0x0);
  return local_30;
}



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

uint __regparm3 FUN_00017210(char *param_1)

{
  char *pcVar1;
  size_t __n;
  int iVar2;
  undefined4 uVar3;
  uint local_30;
  
  local_30 = 0;
  do {
    pcVar1 = strchr(param_1,0x2c);
    if (pcVar1 == (char *)0x0) {
      __n = strlen(param_1);
      pcVar1 = (char *)0x0;
    }
    else {
      __n = (int)pcVar1 - (int)param_1;
      pcVar1 = pcVar1 + 1;
    }
    iVar2 = strncasecmp("alloc",param_1,__n);
    if (iVar2 == 0) {
      local_30 = local_30 | 1;
    }
    else {
      iVar2 = strncasecmp("load",param_1,__n);
      if (iVar2 == 0) {
        local_30 = local_30 | 2;
      }
      else {
        iVar2 = strncasecmp("noload",param_1,__n);
        if (iVar2 == 0) {
          local_30 = local_30 | 0x200;
        }
        else {
          iVar2 = strncasecmp("readonly",param_1,__n);
          if (iVar2 == 0) {
            local_30 = local_30 | 8;
          }
          else {
            iVar2 = strncasecmp("debug",param_1,__n);
            if (iVar2 == 0) {
              local_30 = local_30 | 0x2000;
            }
            else {
              iVar2 = strncasecmp("code",param_1,__n);
              if (iVar2 == 0) {
                local_30 = local_30 | 0x10;
              }
              else {
                iVar2 = strncasecmp("data",param_1,__n);
                if (iVar2 == 0) {
                  local_30 = local_30 | 0x20;
                }
                else {
                  iVar2 = strncasecmp("rom",param_1,__n);
                  if (iVar2 == 0) {
                    local_30 = local_30 | 0x40;
                  }
                  else {
                    iVar2 = strncasecmp("share",param_1,__n);
                    if (iVar2 == 0) {
                      local_30 = local_30 | 0x8000000;
                    }
                    else {
                      iVar2 = strncasecmp("contents",param_1,__n);
                      if (iVar2 == 0) {
                        local_30 = local_30 | 0x100;
                      }
                      else {
                        iVar2 = strncasecmp("merge",param_1,__n);
                        if (iVar2 == 0) {
                          local_30 = local_30 | 0x800000;
                        }
                        else {
                          iVar2 = strncasecmp("strings",param_1,__n);
                          if (iVar2 != 0) {
                            pcVar1 = (char *)xmalloc(__n + 1);
                            strncpy(pcVar1,param_1,__n);
                            pcVar1[__n] = '\0';
                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);
                            FUN_0002c910(uVar3,pcVar1);
                            uVar3 = dcgettext(0,"supported flags: %s",5);
                    /* WARNING: Subroutine does not return */
                            FUN_0002c8e0(uVar3,
                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"
                                        );
                          }
                          local_30 = local_30 | 0x1000000;
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
    param_1 = pcVar1;
  } while (pcVar1 != (char *)0x0);
  return local_30;
}


PUSH EBP
PUSH EDI
PUSH ESI
MOV ESI,EAX
PUSH EBX
CALL 0x000166c0
ADD EBX,0x28de5
SUB ESP,0x2c
MOV dword ptr [ESP + 0xc],0x0
LEA EAX,[EBX + 0xfffef074]
MOV dword ptr [ESP + 0x10],EAX
LEA EAX,[EBX + 0xfffef07c]
MOV dword ptr [ESP + 0x18],EAX
LEA EAX,[EBX + 0xfffef07a]
MOV dword ptr [ESP + 0x1c],EAX
JMP 0x0001725b
OR dword ptr [ESP + 0xc],0x1
MOV ESI,EDI
TEST EDI,EDI
JZ 0x000172af
SUB ESP,0x8
PUSH 0x2c
PUSH ESI
CALL 0x000134c0
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JZ 0x000172c0
SUB EAX,ESI
ADD EDI,0x1
MOV dword ptr [ESP + 0x14],EAX
MOV EBP,EAX
SUB ESP,0x4
PUSH EBP
PUSH ESI
PUSH dword ptr [ESP + 0x1c]
CALL 0x00013640
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00017250
SUB ESP,0x4
PUSH EBP
PUSH ESI
PUSH dword ptr [ESP + 0x24]
CALL 0x00013640
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000172d8
OR dword ptr [ESP + 0xc],0x2
MOV ESI,EDI
TEST EDI,EDI
JNZ 0x0001725b
MOV EAX,dword ptr [ESP + 0xc]
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
PUSH ESI
CALL 0x000134e0
ADD ESP,0x10
MOV EBP,EAX
MOV dword ptr [ESP + 0x14],EAX
JMP 0x0001727a
SUB ESP,0x4
PUSH EBP
PUSH ESI
PUSH dword ptr [ESP + 0x28]
CALL 0x00013640
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00017300
OR dword ptr [ESP + 0xc],0x200
JMP 0x00017255
SUB ESP,0x4
LEA EAX,[EBX + 0xfffef081]
PUSH EBP
PUSH ESI
PUSH EAX
CALL 0x00013640
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00017328
OR dword ptr [ESP + 0xc],0x8
JMP 0x00017255
SUB ESP,0x4
LEA EAX,[EBX + 0xfffef7d3]
PUSH EBP
PUSH ESI
PUSH EAX
CALL 0x00013640
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00017350
OR dword ptr [ESP + 0xc],0x2000
JMP 0x00017255
SUB ESP,0x4
LEA EAX,[EBX + 0xfffef5d6]
PUSH EBP
PUSH ESI
PUSH EAX
CALL 0x00013640
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00017378
OR dword ptr [ESP + 0xc],0x10
JMP 0x00017255
SUB ESP,0x4
LEA EAX,[EBX + 0xfffef136]
PUSH EBP
PUSH ESI
PUSH EAX
CALL 0x00013640
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000173b2
SUB ESP,0x4
LEA EAX,[EBX + 0xfffef08a]
PUSH EBP
PUSH ESI
PUSH EAX
CALL 0x00013640
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000173bc
OR dword ptr [ESP + 0xc],0x40
JMP 0x00017255
OR dword ptr [ESP + 0xc],0x20
JMP 0x00017255
SUB ESP,0x4
LEA EAX,[EBX + 0xfffef08e]
PUSH EBP
PUSH ESI
PUSH EAX
CALL 0x00013640
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000173f9
SUB ESP,0x4
LEA EAX,[EBX + 0xfffef094]
PUSH EBP
PUSH ESI
PUSH EAX
CALL 0x00013640
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00017406
OR dword ptr [ESP + 0xc],0x100
JMP 0x00017255
OR dword ptr [ESP + 0xc],0x8000000
JMP 0x00017255
SUB ESP,0x4
LEA EAX,[EBX + 0xfffef09d]
PUSH EBP
PUSH ESI
PUSH EAX
CALL 0x00013640
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0001742b
OR dword ptr [ESP + 0xc],0x800000
JMP 0x00017255
SUB ESP,0x4
LEA EAX,[EBX + 0xfffef0a3]
PUSH EBP
PUSH ESI
PUSH EAX
CALL 0x00013640
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00017450
OR dword ptr [ESP + 0xc],0x1000000
JMP 0x00017255
SUB ESP,0xc
MOV EAX,dword ptr [ESP + 0x20]
ADD EAX,0x1
PUSH EAX
CALL 0x000132e0
ADD ESP,0xc
PUSH EBP
MOV EDI,EAX
PUSH ESI
PUSH EAX
CALL 0x00013600
ADD ESP,0xc
LEA EAX,[EBX + 0xffff200c]
MOV byte ptr [EDI + EBP*0x1],0x0
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
POP EDX
POP ECX
PUSH EDI
PUSH EAX
CALL 0x0002c910
ADD ESP,0xc
LEA EAX,[EBX + 0xfffef0ab]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
LEA EDX,[EBX + 0xffff202c]
POP ESI
POP EDI
PUSH EDX
PUSH EAX
CALL 0x0002c8e0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nuint __regparm3 FUN_00017210(char *param_1)\n\n{\n  char *pcVar1;\n  size_t __n;\n  int iVar2;\n  undefined4 uVar3;\n  uint local_30;\n  \n  local_30 = 0;\n  do {\n    pcVar1 = strchr(param_1,0x2c);\n    if (pcVar1 == (char *)0x0) {\n      __n = strlen(param_1);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }\n    iVar2 = strncasecmp("alloc",param_1,__n);\n    if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    param_1 = pcVar1;\n  } while (pcVar1 != (char *)0x0);\n  return local_30;\n}\n\n" comment (function_definition "uint __regparm3 FUN_00017210(char *param_1)\n\n{\n  char *pcVar1;\n  size_t __n;\n  int iVar2;\n  undefined4 uVar3;\n  uint local_30;\n  \n  local_30 = 0;\n  do {\n    pcVar1 = strchr(param_1,0x2c);\n    if (pcVar1 == (char *)0x0) {\n      __n = strlen(param_1);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }\n    iVar2 = strncasecmp("alloc",param_1,__n);\n    if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    param_1 = pcVar1;\n  } while (pcVar1 != (char *)0x0);\n  return local_30;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00017210(char *param_1)" identifier (parameter_list "(char *param_1)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  char *pcVar1;\n  size_t __n;\n  int iVar2;\n  undefined4 uVar3;\n  uint local_30;\n  \n  local_30 = 0;\n  do {\n    pcVar1 = strchr(param_1,0x2c);\n    if (pcVar1 == (char *)0x0) {\n      __n = strlen(param_1);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }\n    iVar2 = strncasecmp("alloc",param_1,__n);\n    if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    param_1 = pcVar1;\n  } while (pcVar1 != (char *)0x0);\n  return local_30;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "uint local_30;" type_identifier identifier ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (do_statement "do {\n    pcVar1 = strchr(param_1,0x2c);\n    if (pcVar1 == (char *)0x0) {\n      __n = strlen(param_1);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }\n    iVar2 = strncasecmp("alloc",param_1,__n);\n    if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    param_1 = pcVar1;\n  } while (pcVar1 != (char *)0x0);" do (compound_statement "{\n    pcVar1 = strchr(param_1,0x2c);\n    if (pcVar1 == (char *)0x0) {\n      __n = strlen(param_1);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }\n    iVar2 = strncasecmp("alloc",param_1,__n);\n    if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    param_1 = pcVar1;\n  }" { (expression_statement "pcVar1 = strchr(param_1,0x2c);" (assignment_expression "pcVar1 = strchr(param_1,0x2c)" identifier = (call_expression "strchr(param_1,0x2c)" identifier (argument_list "(param_1,0x2c)" ( identifier , number_literal )))) ;) (if_statement "if (pcVar1 == (char *)0x0) {\n      __n = strlen(param_1);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }" if (parenthesized_expression "(pcVar1 == (char *)0x0)" ( (binary_expression "pcVar1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      __n = strlen(param_1);\n      pcVar1 = (char *)0x0;\n    }" { (expression_statement "__n = strlen(param_1);" (assignment_expression "__n = strlen(param_1)" identifier = (call_expression "strlen(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar1 = (char *)0x0;" (assignment_expression "pcVar1 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }" else (compound_statement "{\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }" { (expression_statement "__n = (int)pcVar1 - (int)param_1;" (assignment_expression "__n = (int)pcVar1 - (int)param_1" identifier = (binary_expression "(int)pcVar1 - (int)param_1" (cast_expression "(int)pcVar1" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar1 = pcVar1 + 1;" (assignment_expression "pcVar1 = pcVar1 + 1" identifier = (binary_expression "pcVar1 + 1" identifier + number_literal)) ;) }))) (expression_statement "iVar2 = strncasecmp("alloc",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("alloc",param_1,__n)" identifier = (call_expression "strncasecmp("alloc",param_1,__n)" identifier (argument_list "("alloc",param_1,__n)" ( (string_literal ""alloc"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      local_30 = local_30 | 1;\n    }" { (expression_statement "local_30 = local_30 | 1;" (assignment_expression "local_30 = local_30 | 1" identifier = (binary_expression "local_30 | 1" identifier | number_literal)) ;) }) (else_clause "else {\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }" else (compound_statement "{\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }" { (expression_statement "iVar2 = strncasecmp("load",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("load",param_1,__n)" identifier = (call_expression "strncasecmp("load",param_1,__n)" identifier (argument_list "("load",param_1,__n)" ( (string_literal ""load"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        local_30 = local_30 | 2;\n      }" { (expression_statement "local_30 = local_30 | 2;" (assignment_expression "local_30 = local_30 | 2" identifier = (binary_expression "local_30 | 2" identifier | number_literal)) ;) }) (else_clause "else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" else (compound_statement "{\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" { (expression_statement "iVar2 = strncasecmp("noload",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("noload",param_1,__n)" identifier = (call_expression "strncasecmp("noload",param_1,__n)" identifier (argument_list "("noload",param_1,__n)" ( (string_literal ""noload"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n          local_30 = local_30 | 0x200;\n        }" { (expression_statement "local_30 = local_30 | 0x200;" (assignment_expression "local_30 = local_30 | 0x200" identifier = (binary_expression "local_30 | 0x200" identifier | number_literal)) ;) }) (else_clause "else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }" else (compound_statement "{\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }" { (expression_statement "iVar2 = strncasecmp("readonly",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("readonly",param_1,__n)" identifier = (call_expression "strncasecmp("readonly",param_1,__n)" identifier (argument_list "("readonly",param_1,__n)" ( (string_literal ""readonly"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n            local_30 = local_30 | 8;\n          }" { (expression_statement "local_30 = local_30 | 8;" (assignment_expression "local_30 = local_30 | 8" identifier = (binary_expression "local_30 | 8" identifier | number_literal)) ;) }) (else_clause "else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }" else (compound_statement "{\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }" { (expression_statement "iVar2 = strncasecmp("debug",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("debug",param_1,__n)" identifier = (call_expression "strncasecmp("debug",param_1,__n)" identifier (argument_list "("debug",param_1,__n)" ( (string_literal ""debug"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n              local_30 = local_30 | 0x2000;\n            }" { (expression_statement "local_30 = local_30 | 0x2000;" (assignment_expression "local_30 = local_30 | 0x2000" identifier = (binary_expression "local_30 | 0x2000" identifier | number_literal)) ;) }) (else_clause "else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }" else (compound_statement "{\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }" { (expression_statement "iVar2 = strncasecmp("code",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("code",param_1,__n)" identifier = (call_expression "strncasecmp("code",param_1,__n)" identifier (argument_list "("code",param_1,__n)" ( (string_literal ""code"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                local_30 = local_30 | 0x10;\n              }" { (expression_statement "local_30 = local_30 | 0x10;" (assignment_expression "local_30 = local_30 | 0x10" identifier = (binary_expression "local_30 | 0x10" identifier | number_literal)) ;) }) (else_clause "else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" else (compound_statement "{\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" { (expression_statement "iVar2 = strncasecmp("data",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("data",param_1,__n)" identifier = (call_expression "strncasecmp("data",param_1,__n)" identifier (argument_list "("data",param_1,__n)" ( (string_literal ""data"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                  local_30 = local_30 | 0x20;\n                }" { (expression_statement "local_30 = local_30 | 0x20;" (assignment_expression "local_30 = local_30 | 0x20" identifier = (binary_expression "local_30 | 0x20" identifier | number_literal)) ;) }) (else_clause "else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }" else (compound_statement "{\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }" { (expression_statement "iVar2 = strncasecmp("rom",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("rom",param_1,__n)" identifier = (call_expression "strncasecmp("rom",param_1,__n)" identifier (argument_list "("rom",param_1,__n)" ( (string_literal ""rom"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                    local_30 = local_30 | 0x40;\n                  }" { (expression_statement "local_30 = local_30 | 0x40;" (assignment_expression "local_30 = local_30 | 0x40" identifier = (binary_expression "local_30 | 0x40" identifier | number_literal)) ;) }) (else_clause "else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }" else (compound_statement "{\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }" { (expression_statement "iVar2 = strncasecmp("share",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("share",param_1,__n)" identifier = (call_expression "strncasecmp("share",param_1,__n)" identifier (argument_list "("share",param_1,__n)" ( (string_literal ""share"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                      local_30 = local_30 | 0x8000000;\n                    }" { (expression_statement "local_30 = local_30 | 0x8000000;" (assignment_expression "local_30 = local_30 | 0x8000000" identifier = (binary_expression "local_30 | 0x8000000" identifier | number_literal)) ;) }) (else_clause "else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }" else (compound_statement "{\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }" { (expression_statement "iVar2 = strncasecmp("contents",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("contents",param_1,__n)" identifier = (call_expression "strncasecmp("contents",param_1,__n)" identifier (argument_list "("contents",param_1,__n)" ( (string_literal ""contents"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                        local_30 = local_30 | 0x100;\n                      }" { (expression_statement "local_30 = local_30 | 0x100;" (assignment_expression "local_30 = local_30 | 0x100" identifier = (binary_expression "local_30 | 0x100" identifier | number_literal)) ;) }) (else_clause "else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }" else (compound_statement "{\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }" { (expression_statement "iVar2 = strncasecmp("merge",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("merge",param_1,__n)" identifier = (call_expression "strncasecmp("merge",param_1,__n)" identifier (argument_list "("merge",param_1,__n)" ( (string_literal ""merge"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                          local_30 = local_30 | 0x800000;\n                        }" { (expression_statement "local_30 = local_30 | 0x800000;" (assignment_expression "local_30 = local_30 | 0x800000" identifier = (binary_expression "local_30 | 0x800000" identifier | number_literal)) ;) }) (else_clause "else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }" else (compound_statement "{\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }" { (expression_statement "iVar2 = strncasecmp("strings",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("strings",param_1,__n)" identifier = (call_expression "strncasecmp("strings",param_1,__n)" identifier (argument_list "("strings",param_1,__n)" ( (string_literal ""strings"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }" { (expression_statement "pcVar1 = (char *)xmalloc(__n + 1);" (assignment_expression "pcVar1 = (char *)xmalloc(__n + 1)" identifier = (cast_expression "(char *)xmalloc(__n + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(__n + 1)" identifier (argument_list "(__n + 1)" ( (binary_expression "__n + 1" identifier + number_literal) ))))) ;) (expression_statement "strncpy(pcVar1,param_1,__n);" (call_expression "strncpy(pcVar1,param_1,__n)" identifier (argument_list "(pcVar1,param_1,__n)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar1[__n] = '\0';" (assignment_expression "pcVar1[__n] = '\0'" (subscript_expression "pcVar1[__n]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);" (assignment_expression "uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5)" identifier = (call_expression "dcgettext(0,"unrecognized section flag `%s\'",5)" identifier (argument_list "(0,"unrecognized section flag `%s\'",5)" ( number_literal , (string_literal ""unrecognized section flag `%s\'"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0002c910(uVar3,pcVar1);" (call_expression "FUN_0002c910(uVar3,pcVar1)" identifier (argument_list "(uVar3,pcVar1)" ( identifier , identifier ))) ;) (expression_statement "uVar3 = dcgettext(0,"supported flags: %s",5);" (assignment_expression "uVar3 = dcgettext(0,"supported flags: %s",5)" identifier = (call_expression "dcgettext(0,"supported flags: %s",5)" identifier (argument_list "(0,"supported flags: %s",5)" ( number_literal , (string_literal ""supported flags: %s"" " string_content ") , number_literal )))) ;) comment (expression_statement "FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );" (call_expression "FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        )" identifier (argument_list "(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        )" ( identifier , (string_literal ""alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"" " string_content ") ))) ;) })) (expression_statement "local_30 = local_30 | 0x1000000;" (assignment_expression "local_30 = local_30 | 0x1000000" identifier = (binary_expression "local_30 | 0x1000000" identifier | number_literal)) ;) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) (expression_statement "param_1 = pcVar1;" (assignment_expression "param_1 = pcVar1" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar1 != (char *)0x0)" ( (binary_expression "pcVar1 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (return_statement "return local_30;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nflagword __regparm3 parse_flags(char *s)\n\n{\n  char *pcVar1;\n  size_t __n;\n  int iVar2;\n  char *format;\n  uint local_30;\n  \n  local_30 = 0;\n  do {\n    pcVar1 = strchr(s,0x2c);\n    if (pcVar1 == (char *)0x0) {\n      __n = strlen(s);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)s;\n      pcVar1 = pcVar1 + 1;\n    }\n    iVar2 = strncasecmp("alloc",s,__n);\n    if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",s,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",s,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",s,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",s,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",s,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    s = pcVar1;\n  } while (pcVar1 != (char *)0x0);\n  return local_30;\n}\n\n" comment (function_definition "flagword __regparm3 parse_flags(char *s)\n\n{\n  char *pcVar1;\n  size_t __n;\n  int iVar2;\n  char *format;\n  uint local_30;\n  \n  local_30 = 0;\n  do {\n    pcVar1 = strchr(s,0x2c);\n    if (pcVar1 == (char *)0x0) {\n      __n = strlen(s);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)s;\n      pcVar1 = pcVar1 + 1;\n    }\n    iVar2 = strncasecmp("alloc",s,__n);\n    if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",s,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",s,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",s,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",s,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",s,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    s = pcVar1;\n  } while (pcVar1 != (char *)0x0);\n  return local_30;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "parse_flags(char *s)" identifier (parameter_list "(char *s)" ( (parameter_declaration "char *s" primitive_type (pointer_declarator "*s" * identifier)) ))) (compound_statement "{\n  char *pcVar1;\n  size_t __n;\n  int iVar2;\n  char *format;\n  uint local_30;\n  \n  local_30 = 0;\n  do {\n    pcVar1 = strchr(s,0x2c);\n    if (pcVar1 == (char *)0x0) {\n      __n = strlen(s);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)s;\n      pcVar1 = pcVar1 + 1;\n    }\n    iVar2 = strncasecmp("alloc",s,__n);\n    if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",s,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",s,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",s,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",s,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",s,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    s = pcVar1;\n  } while (pcVar1 != (char *)0x0);\n  return local_30;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "uint local_30;" type_identifier identifier ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (do_statement "do {\n    pcVar1 = strchr(s,0x2c);\n    if (pcVar1 == (char *)0x0) {\n      __n = strlen(s);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)s;\n      pcVar1 = pcVar1 + 1;\n    }\n    iVar2 = strncasecmp("alloc",s,__n);\n    if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",s,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",s,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",s,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",s,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",s,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    s = pcVar1;\n  } while (pcVar1 != (char *)0x0);" do (compound_statement "{\n    pcVar1 = strchr(s,0x2c);\n    if (pcVar1 == (char *)0x0) {\n      __n = strlen(s);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)s;\n      pcVar1 = pcVar1 + 1;\n    }\n    iVar2 = strncasecmp("alloc",s,__n);\n    if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",s,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",s,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",s,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",s,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",s,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    s = pcVar1;\n  }" { (expression_statement "pcVar1 = strchr(s,0x2c);" (assignment_expression "pcVar1 = strchr(s,0x2c)" identifier = (call_expression "strchr(s,0x2c)" identifier (argument_list "(s,0x2c)" ( identifier , number_literal )))) ;) (if_statement "if (pcVar1 == (char *)0x0) {\n      __n = strlen(s);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)s;\n      pcVar1 = pcVar1 + 1;\n    }" if (parenthesized_expression "(pcVar1 == (char *)0x0)" ( (binary_expression "pcVar1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      __n = strlen(s);\n      pcVar1 = (char *)0x0;\n    }" { (expression_statement "__n = strlen(s);" (assignment_expression "__n = strlen(s)" identifier = (call_expression "strlen(s)" identifier (argument_list "(s)" ( identifier )))) ;) (expression_statement "pcVar1 = (char *)0x0;" (assignment_expression "pcVar1 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      __n = (int)pcVar1 - (int)s;\n      pcVar1 = pcVar1 + 1;\n    }" else (compound_statement "{\n      __n = (int)pcVar1 - (int)s;\n      pcVar1 = pcVar1 + 1;\n    }" { (expression_statement "__n = (int)pcVar1 - (int)s;" (assignment_expression "__n = (int)pcVar1 - (int)s" identifier = (binary_expression "(int)pcVar1 - (int)s" (cast_expression "(int)pcVar1" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)s" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar1 = pcVar1 + 1;" (assignment_expression "pcVar1 = pcVar1 + 1" identifier = (binary_expression "pcVar1 + 1" identifier + number_literal)) ;) }))) (expression_statement "iVar2 = strncasecmp("alloc",s,__n);" (assignment_expression "iVar2 = strncasecmp("alloc",s,__n)" identifier = (call_expression "strncasecmp("alloc",s,__n)" identifier (argument_list "("alloc",s,__n)" ( (string_literal ""alloc"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",s,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",s,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",s,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",s,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",s,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      local_30 = local_30 | 1;\n    }" { (expression_statement "local_30 = local_30 | 1;" (assignment_expression "local_30 = local_30 | 1" identifier = (binary_expression "local_30 | 1" identifier | number_literal)) ;) }) (else_clause "else {\n      iVar2 = strncasecmp("load",s,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",s,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",s,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",s,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",s,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }" else (compound_statement "{\n      iVar2 = strncasecmp("load",s,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",s,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",s,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",s,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",s,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }" { (expression_statement "iVar2 = strncasecmp("load",s,__n);" (assignment_expression "iVar2 = strncasecmp("load",s,__n)" identifier = (call_expression "strncasecmp("load",s,__n)" identifier (argument_list "("load",s,__n)" ( (string_literal ""load"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",s,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",s,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",s,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",s,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        local_30 = local_30 | 2;\n      }" { (expression_statement "local_30 = local_30 | 2;" (assignment_expression "local_30 = local_30 | 2" identifier = (binary_expression "local_30 | 2" identifier | number_literal)) ;) }) (else_clause "else {\n        iVar2 = strncasecmp("noload",s,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",s,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",s,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",s,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" else (compound_statement "{\n        iVar2 = strncasecmp("noload",s,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",s,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",s,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",s,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" { (expression_statement "iVar2 = strncasecmp("noload",s,__n);" (assignment_expression "iVar2 = strncasecmp("noload",s,__n)" identifier = (call_expression "strncasecmp("noload",s,__n)" identifier (argument_list "("noload",s,__n)" ( (string_literal ""noload"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",s,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",s,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",s,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n          local_30 = local_30 | 0x200;\n        }" { (expression_statement "local_30 = local_30 | 0x200;" (assignment_expression "local_30 = local_30 | 0x200" identifier = (binary_expression "local_30 | 0x200" identifier | number_literal)) ;) }) (else_clause "else {\n          iVar2 = strncasecmp("readonly",s,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",s,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",s,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }" else (compound_statement "{\n          iVar2 = strncasecmp("readonly",s,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",s,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",s,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }" { (expression_statement "iVar2 = strncasecmp("readonly",s,__n);" (assignment_expression "iVar2 = strncasecmp("readonly",s,__n)" identifier = (call_expression "strncasecmp("readonly",s,__n)" identifier (argument_list "("readonly",s,__n)" ( (string_literal ""readonly"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",s,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",s,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n            local_30 = local_30 | 8;\n          }" { (expression_statement "local_30 = local_30 | 8;" (assignment_expression "local_30 = local_30 | 8" identifier = (binary_expression "local_30 | 8" identifier | number_literal)) ;) }) (else_clause "else {\n            iVar2 = strncasecmp("debug",s,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",s,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }" else (compound_statement "{\n            iVar2 = strncasecmp("debug",s,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",s,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }" { (expression_statement "iVar2 = strncasecmp("debug",s,__n);" (assignment_expression "iVar2 = strncasecmp("debug",s,__n)" identifier = (call_expression "strncasecmp("debug",s,__n)" identifier (argument_list "("debug",s,__n)" ( (string_literal ""debug"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",s,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n              local_30 = local_30 | 0x2000;\n            }" { (expression_statement "local_30 = local_30 | 0x2000;" (assignment_expression "local_30 = local_30 | 0x2000" identifier = (binary_expression "local_30 | 0x2000" identifier | number_literal)) ;) }) (else_clause "else {\n              iVar2 = strncasecmp("code",s,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }" else (compound_statement "{\n              iVar2 = strncasecmp("code",s,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }" { (expression_statement "iVar2 = strncasecmp("code",s,__n);" (assignment_expression "iVar2 = strncasecmp("code",s,__n)" identifier = (call_expression "strncasecmp("code",s,__n)" identifier (argument_list "("code",s,__n)" ( (string_literal ""code"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                local_30 = local_30 | 0x10;\n              }" { (expression_statement "local_30 = local_30 | 0x10;" (assignment_expression "local_30 = local_30 | 0x10" identifier = (binary_expression "local_30 | 0x10" identifier | number_literal)) ;) }) (else_clause "else {\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" else (compound_statement "{\n                iVar2 = strncasecmp("data",s,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" { (expression_statement "iVar2 = strncasecmp("data",s,__n);" (assignment_expression "iVar2 = strncasecmp("data",s,__n)" identifier = (call_expression "strncasecmp("data",s,__n)" identifier (argument_list "("data",s,__n)" ( (string_literal ""data"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                  local_30 = local_30 | 0x20;\n                }" { (expression_statement "local_30 = local_30 | 0x20;" (assignment_expression "local_30 = local_30 | 0x20" identifier = (binary_expression "local_30 | 0x20" identifier | number_literal)) ;) }) (else_clause "else {\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }" else (compound_statement "{\n                  iVar2 = strncasecmp("rom",s,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }" { (expression_statement "iVar2 = strncasecmp("rom",s,__n);" (assignment_expression "iVar2 = strncasecmp("rom",s,__n)" identifier = (call_expression "strncasecmp("rom",s,__n)" identifier (argument_list "("rom",s,__n)" ( (string_literal ""rom"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                    local_30 = local_30 | 0x40;\n                  }" { (expression_statement "local_30 = local_30 | 0x40;" (assignment_expression "local_30 = local_30 | 0x40" identifier = (binary_expression "local_30 | 0x40" identifier | number_literal)) ;) }) (else_clause "else {\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }" else (compound_statement "{\n                    iVar2 = strncasecmp("share",s,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }" { (expression_statement "iVar2 = strncasecmp("share",s,__n);" (assignment_expression "iVar2 = strncasecmp("share",s,__n)" identifier = (call_expression "strncasecmp("share",s,__n)" identifier (argument_list "("share",s,__n)" ( (string_literal ""share"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                      local_30 = local_30 | 0x8000000;\n                    }" { (expression_statement "local_30 = local_30 | 0x8000000;" (assignment_expression "local_30 = local_30 | 0x8000000" identifier = (binary_expression "local_30 | 0x8000000" identifier | number_literal)) ;) }) (else_clause "else {\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }" else (compound_statement "{\n                      iVar2 = strncasecmp("contents",s,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }" { (expression_statement "iVar2 = strncasecmp("contents",s,__n);" (assignment_expression "iVar2 = strncasecmp("contents",s,__n)" identifier = (call_expression "strncasecmp("contents",s,__n)" identifier (argument_list "("contents",s,__n)" ( (string_literal ""contents"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                        local_30 = local_30 | 0x100;\n                      }" { (expression_statement "local_30 = local_30 | 0x100;" (assignment_expression "local_30 = local_30 | 0x100" identifier = (binary_expression "local_30 | 0x100" identifier | number_literal)) ;) }) (else_clause "else {\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }" else (compound_statement "{\n                        iVar2 = strncasecmp("merge",s,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }" { (expression_statement "iVar2 = strncasecmp("merge",s,__n);" (assignment_expression "iVar2 = strncasecmp("merge",s,__n)" identifier = (call_expression "strncasecmp("merge",s,__n)" identifier (argument_list "("merge",s,__n)" ( (string_literal ""merge"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                          local_30 = local_30 | 0x800000;\n                        }" { (expression_statement "local_30 = local_30 | 0x800000;" (assignment_expression "local_30 = local_30 | 0x800000" identifier = (binary_expression "local_30 | 0x800000" identifier | number_literal)) ;) }) (else_clause "else {\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }" else (compound_statement "{\n                          iVar2 = strncasecmp("strings",s,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }" { (expression_statement "iVar2 = strncasecmp("strings",s,__n);" (assignment_expression "iVar2 = strncasecmp("strings",s,__n)" identifier = (call_expression "strncasecmp("strings",s,__n)" identifier (argument_list "("strings",s,__n)" ( (string_literal ""strings"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,s,__n);\n                            pcVar1[__n] = '\0';\n                            format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);\n                            non_fatal(format,pcVar1);\n                            pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);\n                    /* WARNING: Subroutine does not return */\n                            fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );\n                          }" { (expression_statement "pcVar1 = (char *)xmalloc(__n + 1);" (assignment_expression "pcVar1 = (char *)xmalloc(__n + 1)" identifier = (cast_expression "(char *)xmalloc(__n + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(__n + 1)" identifier (argument_list "(__n + 1)" ( (binary_expression "__n + 1" identifier + number_literal) ))))) ;) (expression_statement "strncpy(pcVar1,s,__n);" (call_expression "strncpy(pcVar1,s,__n)" identifier (argument_list "(pcVar1,s,__n)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar1[__n] = '\0';" (assignment_expression "pcVar1[__n] = '\0'" (subscript_expression "pcVar1[__n]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5);" (assignment_expression "format = (char *)dcgettext(0,"unrecognized section flag `%s\'",5)" identifier = (cast_expression "(char *)dcgettext(0,"unrecognized section flag `%s\'",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"unrecognized section flag `%s\'",5)" identifier (argument_list "(0,"unrecognized section flag `%s\'",5)" ( number_literal , (string_literal ""unrecognized section flag `%s\'"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "non_fatal(format,pcVar1);" (call_expression "non_fatal(format,pcVar1)" identifier (argument_list "(format,pcVar1)" ( identifier , identifier ))) ;) (expression_statement "pcVar1 = (char *)dcgettext(0,"supported flags: %s",5);" (assignment_expression "pcVar1 = (char *)dcgettext(0,"supported flags: %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"supported flags: %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"supported flags: %s",5)" identifier (argument_list "(0,"supported flags: %s",5)" ( number_literal , (string_literal ""supported flags: %s"" " string_content ") , number_literal ))))) ;) comment (expression_statement "fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 );" (call_expression "fatal(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 )" identifier (argument_list "(pcVar1,\n                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                 )" ( identifier , (string_literal ""alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"" " string_content ") ))) ;) })) (expression_statement "local_30 = local_30 | 0x1000000;" (assignment_expression "local_30 = local_30 | 0x1000000" identifier = (binary_expression "local_30 | 0x1000000" identifier | number_literal)) ;) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) (expression_statement "s = pcVar1;" (assignment_expression "s = pcVar1" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar1 != (char *)0x0)" ( (binary_expression "pcVar1 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (return_statement "return local_30;" return identifier ;) })))
(translation_unit "uint __regparm3 FUN_00017210(char *param_1)\n\n{\n  char *pcVar1;\n  size_t __n;\n  int iVar2;\n  undefined4 uVar3;\n  uint local_30;\n  \n  local_30 = 0;\n  do {\n    pcVar1 = strchr(param_1,0x2c);\n    if (pcVar1 == (char *)0x0) {\n      __n = strlen(param_1);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }\n    iVar2 = strncasecmp("alloc",param_1,__n);\n    if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    param_1 = pcVar1;\n  } while (pcVar1 != (char *)0x0);\n  return local_30;\n}\n\n" (function_definition "uint __regparm3 FUN_00017210(char *param_1)\n\n{\n  char *pcVar1;\n  size_t __n;\n  int iVar2;\n  undefined4 uVar3;\n  uint local_30;\n  \n  local_30 = 0;\n  do {\n    pcVar1 = strchr(param_1,0x2c);\n    if (pcVar1 == (char *)0x0) {\n      __n = strlen(param_1);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }\n    iVar2 = strncasecmp("alloc",param_1,__n);\n    if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    param_1 = pcVar1;\n  } while (pcVar1 != (char *)0x0);\n  return local_30;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00017210(char *param_1)" identifier (parameter_list "(char *param_1)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  char *pcVar1;\n  size_t __n;\n  int iVar2;\n  undefined4 uVar3;\n  uint local_30;\n  \n  local_30 = 0;\n  do {\n    pcVar1 = strchr(param_1,0x2c);\n    if (pcVar1 == (char *)0x0) {\n      __n = strlen(param_1);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }\n    iVar2 = strncasecmp("alloc",param_1,__n);\n    if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    param_1 = pcVar1;\n  } while (pcVar1 != (char *)0x0);\n  return local_30;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "uint local_30;" type_identifier identifier ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (do_statement "do {\n    pcVar1 = strchr(param_1,0x2c);\n    if (pcVar1 == (char *)0x0) {\n      __n = strlen(param_1);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }\n    iVar2 = strncasecmp("alloc",param_1,__n);\n    if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    param_1 = pcVar1;\n  } while (pcVar1 != (char *)0x0);" do (compound_statement "{\n    pcVar1 = strchr(param_1,0x2c);\n    if (pcVar1 == (char *)0x0) {\n      __n = strlen(param_1);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }\n    iVar2 = strncasecmp("alloc",param_1,__n);\n    if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    param_1 = pcVar1;\n  }" { (expression_statement "pcVar1 = strchr(param_1,0x2c);" (assignment_expression "pcVar1 = strchr(param_1,0x2c)" identifier = (call_expression "strchr(param_1,0x2c)" identifier (argument_list "(param_1,0x2c)" ( identifier , number_literal )))) ;) (if_statement "if (pcVar1 == (char *)0x0) {\n      __n = strlen(param_1);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }" if (parenthesized_expression "(pcVar1 == (char *)0x0)" ( (binary_expression "pcVar1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      __n = strlen(param_1);\n      pcVar1 = (char *)0x0;\n    }" { (expression_statement "__n = strlen(param_1);" (assignment_expression "__n = strlen(param_1)" identifier = (call_expression "strlen(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar1 = (char *)0x0;" (assignment_expression "pcVar1 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }" else (compound_statement "{\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }" { (expression_statement "__n = (int)pcVar1 - (int)param_1;" (assignment_expression "__n = (int)pcVar1 - (int)param_1" identifier = (binary_expression "(int)pcVar1 - (int)param_1" (cast_expression "(int)pcVar1" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar1 = pcVar1 + 1;" (assignment_expression "pcVar1 = pcVar1 + 1" identifier = (binary_expression "pcVar1 + 1" identifier + number_literal)) ;) }))) (expression_statement "iVar2 = strncasecmp("alloc",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("alloc",param_1,__n)" identifier = (call_expression "strncasecmp("alloc",param_1,__n)" identifier (argument_list "("alloc",param_1,__n)" ( (string_literal ""alloc"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      local_30 = local_30 | 1;\n    }" { (expression_statement "local_30 = local_30 | 1;" (assignment_expression "local_30 = local_30 | 1" identifier = (binary_expression "local_30 | 1" identifier | number_literal)) ;) }) (else_clause "else {\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }" else (compound_statement "{\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }" { (expression_statement "iVar2 = strncasecmp("load",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("load",param_1,__n)" identifier = (call_expression "strncasecmp("load",param_1,__n)" identifier (argument_list "("load",param_1,__n)" ( (string_literal ""load"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        local_30 = local_30 | 2;\n      }" { (expression_statement "local_30 = local_30 | 2;" (assignment_expression "local_30 = local_30 | 2" identifier = (binary_expression "local_30 | 2" identifier | number_literal)) ;) }) (else_clause "else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" else (compound_statement "{\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" { (expression_statement "iVar2 = strncasecmp("noload",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("noload",param_1,__n)" identifier = (call_expression "strncasecmp("noload",param_1,__n)" identifier (argument_list "("noload",param_1,__n)" ( (string_literal ""noload"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n          local_30 = local_30 | 0x200;\n        }" { (expression_statement "local_30 = local_30 | 0x200;" (assignment_expression "local_30 = local_30 | 0x200" identifier = (binary_expression "local_30 | 0x200" identifier | number_literal)) ;) }) (else_clause "else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }" else (compound_statement "{\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }" { (expression_statement "iVar2 = strncasecmp("readonly",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("readonly",param_1,__n)" identifier = (call_expression "strncasecmp("readonly",param_1,__n)" identifier (argument_list "("readonly",param_1,__n)" ( (string_literal ""readonly"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n            local_30 = local_30 | 8;\n          }" { (expression_statement "local_30 = local_30 | 8;" (assignment_expression "local_30 = local_30 | 8" identifier = (binary_expression "local_30 | 8" identifier | number_literal)) ;) }) (else_clause "else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }" else (compound_statement "{\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }" { (expression_statement "iVar2 = strncasecmp("debug",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("debug",param_1,__n)" identifier = (call_expression "strncasecmp("debug",param_1,__n)" identifier (argument_list "("debug",param_1,__n)" ( (string_literal ""debug"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n              local_30 = local_30 | 0x2000;\n            }" { (expression_statement "local_30 = local_30 | 0x2000;" (assignment_expression "local_30 = local_30 | 0x2000" identifier = (binary_expression "local_30 | 0x2000" identifier | number_literal)) ;) }) (else_clause "else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }" else (compound_statement "{\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }" { (expression_statement "iVar2 = strncasecmp("code",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("code",param_1,__n)" identifier = (call_expression "strncasecmp("code",param_1,__n)" identifier (argument_list "("code",param_1,__n)" ( (string_literal ""code"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                local_30 = local_30 | 0x10;\n              }" { (expression_statement "local_30 = local_30 | 0x10;" (assignment_expression "local_30 = local_30 | 0x10" identifier = (binary_expression "local_30 | 0x10" identifier | number_literal)) ;) }) (else_clause "else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" else (compound_statement "{\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" { (expression_statement "iVar2 = strncasecmp("data",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("data",param_1,__n)" identifier = (call_expression "strncasecmp("data",param_1,__n)" identifier (argument_list "("data",param_1,__n)" ( (string_literal ""data"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                  local_30 = local_30 | 0x20;\n                }" { (expression_statement "local_30 = local_30 | 0x20;" (assignment_expression "local_30 = local_30 | 0x20" identifier = (binary_expression "local_30 | 0x20" identifier | number_literal)) ;) }) (else_clause "else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }" else (compound_statement "{\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }" { (expression_statement "iVar2 = strncasecmp("rom",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("rom",param_1,__n)" identifier = (call_expression "strncasecmp("rom",param_1,__n)" identifier (argument_list "("rom",param_1,__n)" ( (string_literal ""rom"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                    local_30 = local_30 | 0x40;\n                  }" { (expression_statement "local_30 = local_30 | 0x40;" (assignment_expression "local_30 = local_30 | 0x40" identifier = (binary_expression "local_30 | 0x40" identifier | number_literal)) ;) }) (else_clause "else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }" else (compound_statement "{\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }" { (expression_statement "iVar2 = strncasecmp("share",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("share",param_1,__n)" identifier = (call_expression "strncasecmp("share",param_1,__n)" identifier (argument_list "("share",param_1,__n)" ( (string_literal ""share"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                      local_30 = local_30 | 0x8000000;\n                    }" { (expression_statement "local_30 = local_30 | 0x8000000;" (assignment_expression "local_30 = local_30 | 0x8000000" identifier = (binary_expression "local_30 | 0x8000000" identifier | number_literal)) ;) }) (else_clause "else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }" else (compound_statement "{\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }" { (expression_statement "iVar2 = strncasecmp("contents",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("contents",param_1,__n)" identifier = (call_expression "strncasecmp("contents",param_1,__n)" identifier (argument_list "("contents",param_1,__n)" ( (string_literal ""contents"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                        local_30 = local_30 | 0x100;\n                      }" { (expression_statement "local_30 = local_30 | 0x100;" (assignment_expression "local_30 = local_30 | 0x100" identifier = (binary_expression "local_30 | 0x100" identifier | number_literal)) ;) }) (else_clause "else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }" else (compound_statement "{\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }" { (expression_statement "iVar2 = strncasecmp("merge",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("merge",param_1,__n)" identifier = (call_expression "strncasecmp("merge",param_1,__n)" identifier (argument_list "("merge",param_1,__n)" ( (string_literal ""merge"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                          local_30 = local_30 | 0x800000;\n                        }" { (expression_statement "local_30 = local_30 | 0x800000;" (assignment_expression "local_30 = local_30 | 0x800000" identifier = (binary_expression "local_30 | 0x800000" identifier | number_literal)) ;) }) (else_clause "else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }" else (compound_statement "{\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }" { (expression_statement "iVar2 = strncasecmp("strings",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("strings",param_1,__n)" identifier = (call_expression "strncasecmp("strings",param_1,__n)" identifier (argument_list "("strings",param_1,__n)" ( (string_literal ""strings"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }" { (expression_statement "pcVar1 = (char *)xmalloc(__n + 1);" (assignment_expression "pcVar1 = (char *)xmalloc(__n + 1)" identifier = (cast_expression "(char *)xmalloc(__n + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(__n + 1)" identifier (argument_list "(__n + 1)" ( (binary_expression "__n + 1" identifier + number_literal) ))))) ;) (expression_statement "strncpy(pcVar1,param_1,__n);" (call_expression "strncpy(pcVar1,param_1,__n)" identifier (argument_list "(pcVar1,param_1,__n)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar1[__n] = '\0';" (assignment_expression "pcVar1[__n] = '\0'" (subscript_expression "pcVar1[__n]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);" (assignment_expression "uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5)" identifier = (call_expression "dcgettext(0,"unrecognized section flag `%s\'",5)" identifier (argument_list "(0,"unrecognized section flag `%s\'",5)" ( number_literal , (string_literal ""unrecognized section flag `%s\'"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0002c910(uVar3,pcVar1);" (call_expression "FUN_0002c910(uVar3,pcVar1)" identifier (argument_list "(uVar3,pcVar1)" ( identifier , identifier ))) ;) (expression_statement "uVar3 = dcgettext(0,"supported flags: %s",5);" (assignment_expression "uVar3 = dcgettext(0,"supported flags: %s",5)" identifier = (call_expression "dcgettext(0,"supported flags: %s",5)" identifier (argument_list "(0,"supported flags: %s",5)" ( number_literal , (string_literal ""supported flags: %s"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );" (call_expression "FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        )" identifier (argument_list "(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        )" ( identifier , (string_literal ""alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"" " string_content ") ))) ;) })) (expression_statement "local_30 = local_30 | 0x1000000;" (assignment_expression "local_30 = local_30 | 0x1000000" identifier = (binary_expression "local_30 | 0x1000000" identifier | number_literal)) ;) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) (expression_statement "param_1 = pcVar1;" (assignment_expression "param_1 = pcVar1" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar1 != (char *)0x0)" ( (binary_expression "pcVar1 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (return_statement "return local_30;" return identifier ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (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 { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (return_statement return IDENT ;) })))
(function_definition "uint __regparm3 FUN_00017210(char *param_1)\n\n{\n  char *pcVar1;\n  size_t __n;\n  int iVar2;\n  undefined4 uVar3;\n  uint local_30;\n  \n  local_30 = 0;\n  do {\n    pcVar1 = strchr(param_1,0x2c);\n    if (pcVar1 == (char *)0x0) {\n      __n = strlen(param_1);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }\n    iVar2 = strncasecmp("alloc",param_1,__n);\n    if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    param_1 = pcVar1;\n  } while (pcVar1 != (char *)0x0);\n  return local_30;\n}" (type_identifier "uint") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00017210(char *param_1)" (identifier "FUN_00017210") (parameter_list "(char *param_1)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  char *pcVar1;\n  size_t __n;\n  int iVar2;\n  undefined4 uVar3;\n  uint local_30;\n  \n  local_30 = 0;\n  do {\n    pcVar1 = strchr(param_1,0x2c);\n    if (pcVar1 == (char *)0x0) {\n      __n = strlen(param_1);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }\n    iVar2 = strncasecmp("alloc",param_1,__n);\n    if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    param_1 = pcVar1;\n  } while (pcVar1 != (char *)0x0);\n  return local_30;\n}" ({ "{") (declaration "char *pcVar1;" (primitive_type "char") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (declaration "size_t __n;" (primitive_type "size_t") (identifier "__n") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "uint local_30;" (type_identifier "uint") (identifier "local_30") (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n    pcVar1 = strchr(param_1,0x2c);\n    if (pcVar1 == (char *)0x0) {\n      __n = strlen(param_1);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }\n    iVar2 = strncasecmp("alloc",param_1,__n);\n    if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    param_1 = pcVar1;\n  } while (pcVar1 != (char *)0x0);" (do "do") (compound_statement "{\n    pcVar1 = strchr(param_1,0x2c);\n    if (pcVar1 == (char *)0x0) {\n      __n = strlen(param_1);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }\n    iVar2 = strncasecmp("alloc",param_1,__n);\n    if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    param_1 = pcVar1;\n  }" ({ "{") (expression_statement "pcVar1 = strchr(param_1,0x2c);" (assignment_expression "pcVar1 = strchr(param_1,0x2c)" (identifier "pcVar1") (= "=") (call_expression "strchr(param_1,0x2c)" (identifier "strchr") (argument_list "(param_1,0x2c)" (( "(") (identifier "param_1") (, ",") (number_literal "0x2c") () ")")))) (; ";")) (if_statement "if (pcVar1 == (char *)0x0) {\n      __n = strlen(param_1);\n      pcVar1 = (char *)0x0;\n    }\n    else {\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }" (if "if") (parenthesized_expression "(pcVar1 == (char *)0x0)" (( "(") (binary_expression "pcVar1 == (char *)0x0" (identifier "pcVar1") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      __n = strlen(param_1);\n      pcVar1 = (char *)0x0;\n    }" ({ "{") (expression_statement "__n = strlen(param_1);" (assignment_expression "__n = strlen(param_1)" (identifier "__n") (= "=") (call_expression "strlen(param_1)" (identifier "strlen") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "pcVar1 = (char *)0x0;" (assignment_expression "pcVar1 = (char *)0x0" (identifier "pcVar1") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }" (else "else") (compound_statement "{\n      __n = (int)pcVar1 - (int)param_1;\n      pcVar1 = pcVar1 + 1;\n    }" ({ "{") (expression_statement "__n = (int)pcVar1 - (int)param_1;" (assignment_expression "__n = (int)pcVar1 - (int)param_1" (identifier "__n") (= "=") (binary_expression "(int)pcVar1 - (int)param_1" (cast_expression "(int)pcVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar1")) (- "-") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")))) (; ";")) (expression_statement "pcVar1 = pcVar1 + 1;" (assignment_expression "pcVar1 = pcVar1 + 1" (identifier "pcVar1") (= "=") (binary_expression "pcVar1 + 1" (identifier "pcVar1") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "iVar2 = strncasecmp("alloc",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("alloc",param_1,__n)" (identifier "iVar2") (= "=") (call_expression "strncasecmp("alloc",param_1,__n)" (identifier "strncasecmp") (argument_list "("alloc",param_1,__n)" (( "(") (string_literal ""alloc"" (" """) (string_content "alloc") (" """)) (, ",") (identifier "param_1") (, ",") (identifier "__n") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n      local_30 = local_30 | 1;\n    }\n    else {\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_30 = local_30 | 1;\n    }" ({ "{") (expression_statement "local_30 = local_30 | 1;" (assignment_expression "local_30 = local_30 | 1" (identifier "local_30") (= "=") (binary_expression "local_30 | 1" (identifier "local_30") (| "|") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }" (else "else") (compound_statement "{\n      iVar2 = strncasecmp("load",param_1,__n);\n      if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }" ({ "{") (expression_statement "iVar2 = strncasecmp("load",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("load",param_1,__n)" (identifier "iVar2") (= "=") (call_expression "strncasecmp("load",param_1,__n)" (identifier "strncasecmp") (argument_list "("load",param_1,__n)" (( "(") (string_literal ""load"" (" """) (string_content "load") (" """)) (, ",") (identifier "param_1") (, ",") (identifier "__n") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n        local_30 = local_30 | 2;\n      }\n      else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        local_30 = local_30 | 2;\n      }" ({ "{") (expression_statement "local_30 = local_30 | 2;" (assignment_expression "local_30 = local_30 | 2" (identifier "local_30") (= "=") (binary_expression "local_30 | 2" (identifier "local_30") (| "|") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" (else "else") (compound_statement "{\n        iVar2 = strncasecmp("noload",param_1,__n);\n        if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" ({ "{") (expression_statement "iVar2 = strncasecmp("noload",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("noload",param_1,__n)" (identifier "iVar2") (= "=") (call_expression "strncasecmp("noload",param_1,__n)" (identifier "strncasecmp") (argument_list "("noload",param_1,__n)" (( "(") (string_literal ""noload"" (" """) (string_content "noload") (" """)) (, ",") (identifier "param_1") (, ",") (identifier "__n") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n          local_30 = local_30 | 0x200;\n        }\n        else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_30 = local_30 | 0x200;\n        }" ({ "{") (expression_statement "local_30 = local_30 | 0x200;" (assignment_expression "local_30 = local_30 | 0x200" (identifier "local_30") (= "=") (binary_expression "local_30 | 0x200" (identifier "local_30") (| "|") (number_literal "0x200"))) (; ";")) (} "}")) (else_clause "else {\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }" (else "else") (compound_statement "{\n          iVar2 = strncasecmp("readonly",param_1,__n);\n          if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }" ({ "{") (expression_statement "iVar2 = strncasecmp("readonly",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("readonly",param_1,__n)" (identifier "iVar2") (= "=") (call_expression "strncasecmp("readonly",param_1,__n)" (identifier "strncasecmp") (argument_list "("readonly",param_1,__n)" (( "(") (string_literal ""readonly"" (" """) (string_content "readonly") (" """)) (, ",") (identifier "param_1") (, ",") (identifier "__n") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n            local_30 = local_30 | 8;\n          }\n          else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_30 = local_30 | 8;\n          }" ({ "{") (expression_statement "local_30 = local_30 | 8;" (assignment_expression "local_30 = local_30 | 8" (identifier "local_30") (= "=") (binary_expression "local_30 | 8" (identifier "local_30") (| "|") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else {\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }" (else "else") (compound_statement "{\n            iVar2 = strncasecmp("debug",param_1,__n);\n            if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }" ({ "{") (expression_statement "iVar2 = strncasecmp("debug",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("debug",param_1,__n)" (identifier "iVar2") (= "=") (call_expression "strncasecmp("debug",param_1,__n)" (identifier "strncasecmp") (argument_list "("debug",param_1,__n)" (( "(") (string_literal ""debug"" (" """) (string_content "debug") (" """)) (, ",") (identifier "param_1") (, ",") (identifier "__n") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n              local_30 = local_30 | 0x2000;\n            }\n            else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              local_30 = local_30 | 0x2000;\n            }" ({ "{") (expression_statement "local_30 = local_30 | 0x2000;" (assignment_expression "local_30 = local_30 | 0x2000" (identifier "local_30") (= "=") (binary_expression "local_30 | 0x2000" (identifier "local_30") (| "|") (number_literal "0x2000"))) (; ";")) (} "}")) (else_clause "else {\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }" (else "else") (compound_statement "{\n              iVar2 = strncasecmp("code",param_1,__n);\n              if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }" ({ "{") (expression_statement "iVar2 = strncasecmp("code",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("code",param_1,__n)" (identifier "iVar2") (= "=") (call_expression "strncasecmp("code",param_1,__n)" (identifier "strncasecmp") (argument_list "("code",param_1,__n)" (( "(") (string_literal ""code"" (" """) (string_content "code") (" """)) (, ",") (identifier "param_1") (, ",") (identifier "__n") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n                local_30 = local_30 | 0x10;\n              }\n              else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                local_30 = local_30 | 0x10;\n              }" ({ "{") (expression_statement "local_30 = local_30 | 0x10;" (assignment_expression "local_30 = local_30 | 0x10" (identifier "local_30") (= "=") (binary_expression "local_30 | 0x10" (identifier "local_30") (| "|") (number_literal "0x10"))) (; ";")) (} "}")) (else_clause "else {\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" (else "else") (compound_statement "{\n                iVar2 = strncasecmp("data",param_1,__n);\n                if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" ({ "{") (expression_statement "iVar2 = strncasecmp("data",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("data",param_1,__n)" (identifier "iVar2") (= "=") (call_expression "strncasecmp("data",param_1,__n)" (identifier "strncasecmp") (argument_list "("data",param_1,__n)" (( "(") (string_literal ""data"" (" """) (string_content "data") (" """)) (, ",") (identifier "param_1") (, ",") (identifier "__n") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n                  local_30 = local_30 | 0x20;\n                }\n                else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  local_30 = local_30 | 0x20;\n                }" ({ "{") (expression_statement "local_30 = local_30 | 0x20;" (assignment_expression "local_30 = local_30 | 0x20" (identifier "local_30") (= "=") (binary_expression "local_30 | 0x20" (identifier "local_30") (| "|") (number_literal "0x20"))) (; ";")) (} "}")) (else_clause "else {\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }" (else "else") (compound_statement "{\n                  iVar2 = strncasecmp("rom",param_1,__n);\n                  if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }\n                }" ({ "{") (expression_statement "iVar2 = strncasecmp("rom",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("rom",param_1,__n)" (identifier "iVar2") (= "=") (call_expression "strncasecmp("rom",param_1,__n)" (identifier "strncasecmp") (argument_list "("rom",param_1,__n)" (( "(") (string_literal ""rom"" (" """) (string_content "rom") (" """)) (, ",") (identifier "param_1") (, ",") (identifier "__n") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n                    local_30 = local_30 | 0x40;\n                  }\n                  else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    local_30 = local_30 | 0x40;\n                  }" ({ "{") (expression_statement "local_30 = local_30 | 0x40;" (assignment_expression "local_30 = local_30 | 0x40" (identifier "local_30") (= "=") (binary_expression "local_30 | 0x40" (identifier "local_30") (| "|") (number_literal "0x40"))) (; ";")) (} "}")) (else_clause "else {\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }" (else "else") (compound_statement "{\n                    iVar2 = strncasecmp("share",param_1,__n);\n                    if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }\n                  }" ({ "{") (expression_statement "iVar2 = strncasecmp("share",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("share",param_1,__n)" (identifier "iVar2") (= "=") (call_expression "strncasecmp("share",param_1,__n)" (identifier "strncasecmp") (argument_list "("share",param_1,__n)" (( "(") (string_literal ""share"" (" """) (string_content "share") (" """)) (, ",") (identifier "param_1") (, ",") (identifier "__n") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n                      local_30 = local_30 | 0x8000000;\n                    }\n                    else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      local_30 = local_30 | 0x8000000;\n                    }" ({ "{") (expression_statement "local_30 = local_30 | 0x8000000;" (assignment_expression "local_30 = local_30 | 0x8000000" (identifier "local_30") (= "=") (binary_expression "local_30 | 0x8000000" (identifier "local_30") (| "|") (number_literal "0x8000000"))) (; ";")) (} "}")) (else_clause "else {\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }" (else "else") (compound_statement "{\n                      iVar2 = strncasecmp("contents",param_1,__n);\n                      if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }\n                    }" ({ "{") (expression_statement "iVar2 = strncasecmp("contents",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("contents",param_1,__n)" (identifier "iVar2") (= "=") (call_expression "strncasecmp("contents",param_1,__n)" (identifier "strncasecmp") (argument_list "("contents",param_1,__n)" (( "(") (string_literal ""contents"" (" """) (string_content "contents") (" """)) (, ",") (identifier "param_1") (, ",") (identifier "__n") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n                        local_30 = local_30 | 0x100;\n                      }\n                      else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                        local_30 = local_30 | 0x100;\n                      }" ({ "{") (expression_statement "local_30 = local_30 | 0x100;" (assignment_expression "local_30 = local_30 | 0x100" (identifier "local_30") (= "=") (binary_expression "local_30 | 0x100" (identifier "local_30") (| "|") (number_literal "0x100"))) (; ";")) (} "}")) (else_clause "else {\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }" (else "else") (compound_statement "{\n                        iVar2 = strncasecmp("merge",param_1,__n);\n                        if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }\n                      }" ({ "{") (expression_statement "iVar2 = strncasecmp("merge",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("merge",param_1,__n)" (identifier "iVar2") (= "=") (call_expression "strncasecmp("merge",param_1,__n)" (identifier "strncasecmp") (argument_list "("merge",param_1,__n)" (( "(") (string_literal ""merge"" (" """) (string_content "merge") (" """)) (, ",") (identifier "param_1") (, ",") (identifier "__n") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n                          local_30 = local_30 | 0x800000;\n                        }\n                        else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                          local_30 = local_30 | 0x800000;\n                        }" ({ "{") (expression_statement "local_30 = local_30 | 0x800000;" (assignment_expression "local_30 = local_30 | 0x800000" (identifier "local_30") (= "=") (binary_expression "local_30 | 0x800000" (identifier "local_30") (| "|") (number_literal "0x800000"))) (; ";")) (} "}")) (else_clause "else {\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }" (else "else") (compound_statement "{\n                          iVar2 = strncasecmp("strings",param_1,__n);\n                          if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }\n                          local_30 = local_30 | 0x1000000;\n                        }" ({ "{") (expression_statement "iVar2 = strncasecmp("strings",param_1,__n);" (assignment_expression "iVar2 = strncasecmp("strings",param_1,__n)" (identifier "iVar2") (= "=") (call_expression "strncasecmp("strings",param_1,__n)" (identifier "strncasecmp") (argument_list "("strings",param_1,__n)" (( "(") (string_literal ""strings"" (" """) (string_content "strings") (" """)) (, ",") (identifier "param_1") (, ",") (identifier "__n") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                            pcVar1 = (char *)xmalloc(__n + 1);\n                            strncpy(pcVar1,param_1,__n);\n                            pcVar1[__n] = '\0';\n                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);\n                            FUN_0002c910(uVar3,pcVar1);\n                            uVar3 = dcgettext(0,"supported flags: %s",5);\n                    \n                            FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );\n                          }" ({ "{") (expression_statement "pcVar1 = (char *)xmalloc(__n + 1);" (assignment_expression "pcVar1 = (char *)xmalloc(__n + 1)" (identifier "pcVar1") (= "=") (cast_expression "(char *)xmalloc(__n + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(__n + 1)" (identifier "xmalloc") (argument_list "(__n + 1)" (( "(") (binary_expression "__n + 1" (identifier "__n") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "strncpy(pcVar1,param_1,__n);" (call_expression "strncpy(pcVar1,param_1,__n)" (identifier "strncpy") (argument_list "(pcVar1,param_1,__n)" (( "(") (identifier "pcVar1") (, ",") (identifier "param_1") (, ",") (identifier "__n") () ")"))) (; ";")) (expression_statement "pcVar1[__n] = '\0';" (assignment_expression "pcVar1[__n] = '\0'" (subscript_expression "pcVar1[__n]" (identifier "pcVar1") ([ "[") (identifier "__n") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);" (assignment_expression "uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"unrecognized section flag `%s\'",5)" (identifier "dcgettext") (argument_list "(0,"unrecognized section flag `%s\'",5)" (( "(") (number_literal "0") (, ",") (string_literal ""unrecognized section flag `%s\'"" (" """) (string_content "unrecognized section flag `%s") (escape_sequence "\'") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002c910(uVar3,pcVar1);" (call_expression "FUN_0002c910(uVar3,pcVar1)" (identifier "FUN_0002c910") (argument_list "(uVar3,pcVar1)" (( "(") (identifier "uVar3") (, ",") (identifier "pcVar1") () ")"))) (; ";")) (expression_statement "uVar3 = dcgettext(0,"supported flags: %s",5);" (assignment_expression "uVar3 = dcgettext(0,"supported flags: %s",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"supported flags: %s",5)" (identifier "dcgettext") (argument_list "(0,"supported flags: %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""supported flags: %s"" (" """) (string_content "supported flags: %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        );" (call_expression "FUN_0002c8e0(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        )" (identifier "FUN_0002c8e0") (argument_list "(uVar3,\n                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"\n                                        )" (( "(") (identifier "uVar3") (, ",") (string_literal ""alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"" (" """) (string_content "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "local_30 = local_30 | 0x1000000;" (assignment_expression "local_30 = local_30 | 0x1000000" (identifier "local_30") (= "=") (binary_expression "local_30 | 0x1000000" (identifier "local_30") (| "|") (number_literal "0x1000000"))) (; ";")) (} "}")))) (} "}")))) (} "}")))) (} "}")))) (} "}")))) (} "}")))) (} "}")))) (} "}")))) (} "}")))) (} "}")))) (} "}")))) (expression_statement "param_1 = pcVar1;" (assignment_expression "param_1 = pcVar1" (identifier "param_1") (= "=") (identifier "pcVar1")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar1 != (char *)0x0)" (( "(") (binary_expression "pcVar1 != (char *)0x0" (identifier "pcVar1") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (return_statement "return local_30;" (return "return") (identifier "local_30") (; ";")) (} "}")))

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

type_1 __regparm3 function_1(char *s)

{
  char *var_2;
  size_t var_8;
  int var_5;
  char *format;
  type_2 var_6;
  
  var_6 = 0;
  do {
    var_2 = var_1(s,0x2c);
    if (var_2 == (char *)0x0) {
      var_8 = var_3(s);
      var_2 = (char *)0x0;
    }
    else {
      var_8 = (int)var_2 - (int)s;
      var_2 = var_2 + 1;
    }
    var_5 = var_4("alloc",s,var_8);
    if (var_5 == 0) {
      var_6 = var_6 | 1;
    }
    else {
      var_5 = var_4("load",s,var_8);
      if (var_5 == 0) {
        var_6 = var_6 | 2;
      }
      else {
        var_5 = var_4("noload",s,var_8);
        if (var_5 == 0) {
          var_6 = var_6 | 0x200;
        }
        else {
          var_5 = var_4("readonly",s,var_8);
          if (var_5 == 0) {
            var_6 = var_6 | 8;
          }
          else {
            var_5 = var_4("debug",s,var_8);
            if (var_5 == 0) {
              var_6 = var_6 | 0x2000;
            }
            else {
              var_5 = var_4("code",s,var_8);
              if (var_5 == 0) {
                var_6 = var_6 | 0x10;
              }
              else {
                var_5 = var_4("data",s,var_8);
                if (var_5 == 0) {
                  var_6 = var_6 | 0x20;
                }
                else {
                  var_5 = var_4("rom",s,var_8);
                  if (var_5 == 0) {
                    var_6 = var_6 | 0x40;
                  }
                  else {
                    var_5 = var_4("share",s,var_8);
                    if (var_5 == 0) {
                      var_6 = var_6 | 0x8000000;
                    }
                    else {
                      var_5 = var_4("contents",s,var_8);
                      if (var_5 == 0) {
                        var_6 = var_6 | 0x100;
                      }
                      else {
                        var_5 = var_4("merge",s,var_8);
                        if (var_5 == 0) {
                          var_6 = var_6 | 0x800000;
                        }
                        else {
                          var_5 = var_4("strings",s,var_8);
                          if (var_5 != 0) {
                            var_2 = (char *)var_7(var_8 + 1);
                            var_9(var_2,s,var_8);
                            var_2[var_8] = '\0';
                            format = (char *)var_10(0,"unrecognized section flag `%s\'",5);
                            var_11(format,var_2);
                            var_2 = (char *)var_10(0,"supported flags: %s",5);
                    /* WARNING: Subroutine does not return */
                            var_12(var_2,
                                  "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"
                                 );
                          }
                          var_6 = var_6 | 0x1000000;
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
    s = var_2;
  } while (var_2 != (char *)0x0);
  return var_6;
}


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

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

uint __regparm3 MASKED(char *param_1)

{
  char *pcVar1;
  size_t __n;
  int iVar2;
  undefined4 uVar3;
  uint local_30;
  
  local_30 = 0;
  do {
    pcVar1 = strchr(param_1,0x2c);
    if (pcVar1 == (char *)0x0) {
      __n = strlen(param_1);
      pcVar1 = (char *)0x0;
    }
    else {
      __n = (int)pcVar1 - (int)param_1;
      pcVar1 = pcVar1 + 1;
    }
    iVar2 = strncasecmp("alloc",param_1,__n);
    if (iVar2 == 0) {
      local_30 = local_30 | 1;
    }
    else {
      iVar2 = strncasecmp("load",param_1,__n);
      if (iVar2 == 0) {
        local_30 = local_30 | 2;
      }
      else {
        iVar2 = strncasecmp("noload",param_1,__n);
        if (iVar2 == 0) {
          local_30 = local_30 | 0x200;
        }
        else {
          iVar2 = strncasecmp("readonly",param_1,__n);
          if (iVar2 == 0) {
            local_30 = local_30 | 8;
          }
          else {
            iVar2 = strncasecmp("debug",param_1,__n);
            if (iVar2 == 0) {
              local_30 = local_30 | 0x2000;
            }
            else {
              iVar2 = strncasecmp("code",param_1,__n);
              if (iVar2 == 0) {
                local_30 = local_30 | 0x10;
              }
              else {
                iVar2 = strncasecmp("data",param_1,__n);
                if (iVar2 == 0) {
                  local_30 = local_30 | 0x20;
                }
                else {
                  iVar2 = strncasecmp("rom",param_1,__n);
                  if (iVar2 == 0) {
                    local_30 = local_30 | 0x40;
                  }
                  else {
                    iVar2 = strncasecmp("share",param_1,__n);
                    if (iVar2 == 0) {
                      local_30 = local_30 | 0x8000000;
                    }
                    else {
                      iVar2 = strncasecmp("contents",param_1,__n);
                      if (iVar2 == 0) {
                        local_30 = local_30 | 0x100;
                      }
                      else {
                        iVar2 = strncasecmp("merge",param_1,__n);
                        if (iVar2 == 0) {
                          local_30 = local_30 | 0x800000;
                        }
                        else {
                          iVar2 = strncasecmp("strings",param_1,__n);
                          if (iVar2 != 0) {
                            pcVar1 = (char *)xmalloc(__n + 1);
                            strncpy(pcVar1,param_1,__n);
                            pcVar1[__n] = '\0';
                            uVar3 = dcgettext(0,"unrecognized section flag `%s\'",5);
                            FUN_0002c910(uVar3,pcVar1);
                            uVar3 = dcgettext(0,"supported flags: %s",5);
                    /* WARNING: Subroutine does not return */
                            FUN_0002c8e0(uVar3,
                                         "alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings"
                                        );
                          }
                          local_30 = local_30 | 0x1000000;
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
    param_1 = pcVar1;
  } while (pcVar1 != (char *)0x0);
  return local_30;
}

