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

void dot_savemem(int psprel)

{
  int iVar1;
  char *pcVar2;
  unw_rec_list *puVar3;
  code *pcVar4;
  code *pcVar5;
  undefined4 uVar6;
  char *directive;
  expressionS e1;
  expressionS e2;
  
  directive = "savepsp";
  if (psprel == 0) {
    directive = "savesp";
  }
  iVar1 = in_prologue(directive);
  if (iVar1 == 0) {
    return;
  }
  iVar1 = parse_operand(&e1,0x2c);
  resolve_expression(&e1);
  if (iVar1 == 0x2c) {
    iVar1 = parse_operand(&e2,0x2c);
    resolve_expression(&e2);
    uVar6 = (undefined4)e2.X_add_number;
    if (e1._16_1_ != '\x05') goto LAB_00049fdb;
    if (e2._16_1_ != '\x02') goto LAB_0004a00a;
LAB_0004a033:
    if ((int)e1.X_add_number == 0x128) {
      puVar3 = alloc_record(fpsr_when);
      add_unwind_entry(puVar3,iVar1);
      pcVar5 = output_fpsr_sprel;
      pcVar4 = output_fpsr_psprel;
      goto LAB_0004a08e;
    }
    if ((int)e1.X_add_number < 0x129) {
      if ((int)e1.X_add_number == 0x112) {
        puVar3 = alloc_record(bspstore_when);
        add_unwind_entry(puVar3,iVar1);
        pcVar4 = output_bspstore_psprel;
        pcVar5 = output_bspstore_sprel;
      }
      else if ((int)e1.X_add_number < 0x113) {
        if ((int)e1.X_add_number != 0x111) {
LAB_0004a280:
          pcVar2 = (char *)dcgettext(0,"First operand to .%s not a valid register",5);
          as_bad(pcVar2,directive);
          add_unwind_entry((unw_rec_list *)0x0,iVar1);
          return;
        }
        puVar3 = alloc_record(bsp_when);
        add_unwind_entry(puVar3,iVar1);
        pcVar4 = output_bsp_psprel;
        pcVar5 = output_bsp_sprel;
      }
      else if ((int)e1.X_add_number == 0x113) {
        puVar3 = alloc_record(rnat_when);
        add_unwind_entry(puVar3,iVar1);
        pcVar5 = output_rnat_sprel;
        pcVar4 = output_rnat_psprel;
      }
      else {
        if ((int)e1.X_add_number != 0x124) goto LAB_0004a280;
        puVar3 = alloc_record(unat_when);
        add_unwind_entry(puVar3,iVar1);
        pcVar5 = output_unat_sprel;
        pcVar4 = output_unat_psprel;
      }
      goto LAB_0004a08e;
    }
    if ((int)e1.X_add_number == 0x248) {
      puVar3 = alloc_record(rp_when);
      add_unwind_entry(puVar3,iVar1);
      pcVar5 = output_rp_sprel;
      pcVar4 = output_rp_psprel;
      goto LAB_0004a08e;
    }
    if ((int)e1.X_add_number < 0x249) {
      if ((int)e1.X_add_number == 0x140) {
        puVar3 = alloc_record(pfs_when);
        add_unwind_entry(puVar3,iVar1);
        pcVar5 = output_pfs_sprel;
        pcVar4 = output_pfs_psprel;
      }
      else {
        if ((int)e1.X_add_number != 0x141) goto LAB_0004a280;
        puVar3 = alloc_record(lc_when);
        add_unwind_entry(puVar3,iVar1);
        pcVar5 = output_lc_sprel;
        pcVar4 = output_lc_psprel;
      }
      goto LAB_0004a08e;
    }
    if ((int)e1.X_add_number != 0x252) {
      if ((int)e1.X_add_number != 0x263) goto LAB_0004a280;
      puVar3 = alloc_record(priunat_when_mem);
      add_unwind_entry(puVar3,iVar1);
      pcVar4 = output_priunat_psprel;
      pcVar5 = output_priunat_sprel;
      goto LAB_0004a08e;
    }
  }
  else {
    e2._16_1_ = 1;
    uVar6 = (undefined4)e2.X_add_number;
    if (e1._16_1_ == '\x05') {
LAB_0004a00a:
      pcVar2 = (char *)dcgettext(0,"Second operand to .%s not a constant",5);
      as_bad(pcVar2,directive);
      uVar6 = 0;
      goto LAB_0004a033;
    }
LAB_00049fdb:
    pcVar2 = (char *)dcgettext(0,"First operand to .%s not a register",5);
    as_bad(pcVar2,directive);
    e1.X_add_number._0_4_ = 0x252;
    if (e2._16_1_ != '\x02') goto LAB_0004a00a;
  }
  puVar3 = alloc_record(preds_when);
  add_unwind_entry(puVar3,iVar1);
  pcVar4 = output_preds_psprel;
  pcVar5 = output_preds_sprel;
LAB_0004a08e:
  if (psprel == 0) {
    pcVar4 = pcVar5;
  }
  puVar3 = (unw_rec_list *)(*pcVar4)(uVar6);
  add_unwind_entry(puVar3,0x100);
  return;
}



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

void FUN_00049f60(int param_1)

{
  int iVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  code *pcVar4;
  code *pcVar5;
  char *pcVar6;
  undefined1 local_44 [8];
  int local_3c;
  char local_34;
  undefined1 local_30 [8];
  undefined4 local_28;
  char local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x49f69;
  pcVar6 = "savepsp";
  if (param_1 == 0) {
    pcVar6 = "savesp";
  }
  iVar1 = FUN_00049f00();
  if (iVar1 == 0) {
    return;
  }
  iVar1 = FUN_00040d30();
  FUN_0001eec0(local_44);
  if (iVar1 == 0x2c) {
    FUN_00040d30();
    FUN_0001eec0(local_30);
    uVar3 = local_28;
    if (local_34 != '\x05') goto LAB_00049fdb;
    if (local_20 != '\x02') goto LAB_0004a00a;
LAB_0004a033:
    if (local_3c == 0x128) {
      FUN_00041760();
      FUN_00041030();
      pcVar5 = FUN_00041900;
      pcVar4 = FUN_00041920;
      goto LAB_0004a08e;
    }
    if (local_3c < 0x129) {
      if (local_3c == 0x112) {
        FUN_00041760();
        FUN_00041030();
        pcVar4 = FUN_000419e0;
        pcVar5 = FUN_000419c0;
      }
      else if (local_3c < 0x113) {
        if (local_3c != 0x111) {
LAB_0004a280:
          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);
          FUN_00029550(uVar3,pcVar6);
          FUN_00041030();
          return;
        }
        FUN_00041760();
        FUN_00041030();
        pcVar4 = FUN_00041a20;
        pcVar5 = FUN_00041a00;
      }
      else if (local_3c == 0x113) {
        FUN_00041760();
        FUN_00041030();
        pcVar5 = FUN_00041980;
        pcVar4 = FUN_000419a0;
      }
      else {
        if (local_3c != 0x124) goto LAB_0004a280;
        FUN_00041760();
        FUN_00041030();
        pcVar5 = FUN_00041940;
        pcVar4 = FUN_00041960;
      }
      goto LAB_0004a08e;
    }
    if (local_3c == 0x248) {
      FUN_00041760();
      FUN_00041030();
      pcVar5 = FUN_00041840;
      pcVar4 = FUN_00041860;
      goto LAB_0004a08e;
    }
    if (local_3c < 0x249) {
      if (local_3c == 0x140) {
        FUN_00041760();
        FUN_00041030();
        pcVar5 = FUN_000418c0;
        pcVar4 = FUN_000418e0;
      }
      else {
        if (local_3c != 0x141) goto LAB_0004a280;
        FUN_00041760();
        FUN_00041030();
        pcVar5 = FUN_00041880;
        pcVar4 = FUN_000418a0;
      }
      goto LAB_0004a08e;
    }
    if (local_3c != 0x252) {
      if (local_3c != 0x263) goto LAB_0004a280;
      FUN_00041760();
      FUN_00041030();
      pcVar4 = FUN_000417e0;
      pcVar5 = FUN_000417c0;
      goto LAB_0004a08e;
    }
  }
  else {
    local_20 = '\x01';
    uVar3 = local_28;
    if (local_34 == '\x05') {
LAB_0004a00a:
      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);
      FUN_00029550(uVar3,pcVar6);
      uVar3 = 0;
      goto LAB_0004a033;
    }
LAB_00049fdb:
    uVar2 = dcgettext(0,"First operand to .%s not a register",5);
    FUN_00029550(uVar2,pcVar6);
    local_3c = 0x252;
    if (local_20 != '\x02') goto LAB_0004a00a;
  }
  FUN_00041760();
  FUN_00041030();
  pcVar4 = FUN_00041820;
  pcVar5 = FUN_00041800;
LAB_0004a08e:
  if (param_1 == 0) {
    pcVar4 = pcVar5;
  }
  (*pcVar4)(uVar3);
  FUN_00041030();
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016030
ADD EBX,0x34097
SUB ESP,0x4c
MOV ECX,dword ptr [ESP + 0x60]
TEST ECX,ECX
LEA EAX,[EBX + 0xfffe58a4]
LEA ESI,[EBX + 0xfffe589c]
CMOVZ ESI,EAX
MOV EAX,ESI
CALL 0x00049f00
TEST EAX,EAX
JNZ 0x00049fa0
ADD ESP,0x4c
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EBP,[ESP + 0x18]
MOV EDX,0x2c
MOV EAX,EBP
CALL 0x00040d30
SUB ESP,0xc
PUSH EBP
MOV EDI,EAX
CALL 0x0001eec0
ADD ESP,0x10
CMP EDI,0x2c
JZ 0x0004a180
CMP byte ptr [ESP + 0x28],0x5
MOV EBP,dword ptr [ESP + 0x34]
MOV byte ptr [ESP + 0x3c],0x1
MOV EDX,dword ptr [ESP + 0x20]
JZ 0x0004a00a
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe3fe4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141b0
POP ECX
POP EDX
PUSH ESI
PUSH EAX
CALL 0x00029550
ADD ESP,0x10
MOV EDX,0x252
CMP byte ptr [ESP + 0x3c],0x2
JZ 0x0004a1c8
MOV dword ptr [ESP + 0xc],EDX
LEA EAX,[EBX + 0xfffe4008]
SUB ESP,0x4
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141b0
POP EBP
POP EDX
PUSH ESI
PUSH EAX
XOR EBP,EBP
CALL 0x00029550
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
CMP EDX,0x128
JZ 0x0004a1f0
JG 0x0004a0e8
CMP EDX,0x112
JZ 0x0004a220
JLE 0x0004a0b0
CMP EDX,0x113
JZ 0x0004a250
CMP EDX,0x124
JNZ 0x0004a280
MOV EAX,0x1c
CALL 0x00041760
MOV EDX,EDI
CALL 0x00041030
MOV EAX,dword ptr [ESP + 0x60]
LEA EDX,[EBX + 0xfffc3940]
TEST EAX,EAX
LEA EAX,[EBX + 0xfffc3960]
CMOVZ EAX,EDX
SUB ESP,0xc
PUSH EBP
CALL EAX
MOV EDX,0x100
CALL 0x00041030
ADD ESP,0x10
ADD ESP,0x4c
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP EDX,0x111
JNZ 0x0004a280
MOV EAX,0x2d
CALL 0x00041760
MOV EDX,EDI
CALL 0x00041030
MOV ECX,dword ptr [ESP + 0x60]
LEA EAX,[EBX + 0xfffc3a20]
LEA EDX,[EBX + 0xfffc3a00]
TEST ECX,ECX
JMP 0x0004a08e
CMP EDX,0x248
JZ 0x0004a2b0
JG 0x0004a140
CMP EDX,0x140
JZ 0x0004a2e0
CMP EDX,0x141
JNZ 0x0004a280
MOV EAX,0x20
CALL 0x00041760
MOV EDX,EDI
CALL 0x00041030
MOV EAX,dword ptr [ESP + 0x60]
LEA EDX,[EBX + 0xfffc3880]
TEST EAX,EAX
LEA EAX,[EBX + 0xfffc38a0]
JMP 0x0004a08e
CMP EDX,0x252
JZ 0x0004a1c8
CMP EDX,0x263
JNZ 0x0004a280
MOV EAX,0x29
CALL 0x00041760
MOV EDX,EDI
CALL 0x00041030
MOV ESI,dword ptr [ESP + 0x60]
LEA EAX,[EBX + 0xfffc37e0]
LEA EDX,[EBX + 0xfffc37c0]
TEST ESI,ESI
JMP 0x0004a08e
LEA EBP,[ESP + 0x2c]
MOV EDX,0x2c
MOV EAX,EBP
CALL 0x00040d30
SUB ESP,0xc
PUSH EBP
MOV EDI,EAX
CALL 0x0001eec0
MOV EDX,dword ptr [ESP + 0x30]
MOV EBP,dword ptr [ESP + 0x44]
ADD ESP,0x10
CMP byte ptr [ESP + 0x28],0x5
JNZ 0x00049fdb
CMP byte ptr [ESP + 0x3c],0x2
JZ 0x0004a033
JMP 0x0004a00a
MOV EAX,0x10
CALL 0x00041760
MOV EDX,EDI
CALL 0x00041030
MOV EDI,dword ptr [ESP + 0x60]
LEA EAX,[EBX + 0xfffc3820]
LEA EDX,[EBX + 0xfffc3800]
TEST EDI,EDI
JMP 0x0004a08e
MOV EAX,0x24
CALL 0x00041760
MOV EDX,EDI
CALL 0x00041030
MOV EAX,dword ptr [ESP + 0x60]
LEA EDX,[EBX + 0xfffc3900]
TEST EAX,EAX
LEA EAX,[EBX + 0xfffc3920]
JMP 0x0004a08e
MOV EAX,0x31
CALL 0x00041760
MOV EDX,EDI
CALL 0x00041030
MOV EDX,dword ptr [ESP + 0x60]
LEA EAX,[EBX + 0xfffc39e0]
TEST EDX,EDX
LEA EDX,[EBX + 0xfffc39c0]
JMP 0x0004a08e
MOV EAX,0x35
CALL 0x00041760
MOV EDX,EDI
CALL 0x00041030
MOV EAX,dword ptr [ESP + 0x60]
LEA EDX,[EBX + 0xfffc3980]
TEST EAX,EAX
LEA EAX,[EBX + 0xfffc39a0]
JMP 0x0004a08e
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe4030]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141b0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00029550
MOV EDX,EDI
XOR EAX,EAX
CALL 0x00041030
ADD ESP,0x10
JMP 0x00049f92
MOV EAX,0x7
CALL 0x00041760
MOV EDX,EDI
CALL 0x00041030
MOV EAX,dword ptr [ESP + 0x60]
LEA EDX,[EBX + 0xfffc3840]
TEST EAX,EAX
LEA EAX,[EBX + 0xfffc3860]
JMP 0x0004a08e
MOV EAX,0xc
CALL 0x00041760
MOV EDX,EDI
CALL 0x00041030
MOV EAX,dword ptr [ESP + 0x60]
LEA EDX,[EBX + 0xfffc38c0]
TEST EAX,EAX
LEA EAX,[EBX + 0xfffc38e0]
JMP 0x0004a08e
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00049f60(int param_1)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  code *pcVar4;\n  code *pcVar5;\n  char *pcVar6;\n  undefined1 local_44 [8];\n  int local_3c;\n  char local_34;\n  undefined1 local_30 [8];\n  undefined4 local_28;\n  char local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x49f69;\n  pcVar6 = "savepsp";\n  if (param_1 == 0) {\n    pcVar6 = "savesp";\n  }\n  iVar1 = FUN_00049f00();\n  if (iVar1 == 0) {\n    return;\n  }\n  iVar1 = FUN_00040d30();\n  FUN_0001eec0(local_44);\n  if (iVar1 == 0x2c) {\n    FUN_00040d30();\n    FUN_0001eec0(local_30);\n    uVar3 = local_28;\n    if (local_34 != '\x05') goto LAB_00049fdb;\n    if (local_20 != '\x02') goto LAB_0004a00a;\nLAB_0004a033:\n    if (local_3c == 0x128) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x129) {\n      if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c == 0x248) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041840;\n      pcVar4 = FUN_00041860;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x249) {\n      if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c != 0x252) {\n      if (local_3c != 0x263) goto LAB_0004a280;\n      FUN_00041760();\n      FUN_00041030();\n      pcVar4 = FUN_000417e0;\n      pcVar5 = FUN_000417c0;\n      goto LAB_0004a08e;\n    }\n  }\n  else {\n    local_20 = '\x01';\n    uVar3 = local_28;\n    if (local_34 == '\x05') {\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    uVar2 = dcgettext(0,"First operand to .%s not a register",5);\n    FUN_00029550(uVar2,pcVar6);\n    local_3c = 0x252;\n    if (local_20 != '\x02') goto LAB_0004a00a;\n  }\n  FUN_00041760();\n  FUN_00041030();\n  pcVar4 = FUN_00041820;\n  pcVar5 = FUN_00041800;\nLAB_0004a08e:\n  if (param_1 == 0) {\n    pcVar4 = pcVar5;\n  }\n  (*pcVar4)(uVar3);\n  FUN_00041030();\n  return;\n}\n\n" comment (function_definition "void FUN_00049f60(int param_1)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  code *pcVar4;\n  code *pcVar5;\n  char *pcVar6;\n  undefined1 local_44 [8];\n  int local_3c;\n  char local_34;\n  undefined1 local_30 [8];\n  undefined4 local_28;\n  char local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x49f69;\n  pcVar6 = "savepsp";\n  if (param_1 == 0) {\n    pcVar6 = "savesp";\n  }\n  iVar1 = FUN_00049f00();\n  if (iVar1 == 0) {\n    return;\n  }\n  iVar1 = FUN_00040d30();\n  FUN_0001eec0(local_44);\n  if (iVar1 == 0x2c) {\n    FUN_00040d30();\n    FUN_0001eec0(local_30);\n    uVar3 = local_28;\n    if (local_34 != '\x05') goto LAB_00049fdb;\n    if (local_20 != '\x02') goto LAB_0004a00a;\nLAB_0004a033:\n    if (local_3c == 0x128) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x129) {\n      if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c == 0x248) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041840;\n      pcVar4 = FUN_00041860;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x249) {\n      if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c != 0x252) {\n      if (local_3c != 0x263) goto LAB_0004a280;\n      FUN_00041760();\n      FUN_00041030();\n      pcVar4 = FUN_000417e0;\n      pcVar5 = FUN_000417c0;\n      goto LAB_0004a08e;\n    }\n  }\n  else {\n    local_20 = '\x01';\n    uVar3 = local_28;\n    if (local_34 == '\x05') {\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    uVar2 = dcgettext(0,"First operand to .%s not a register",5);\n    FUN_00029550(uVar2,pcVar6);\n    local_3c = 0x252;\n    if (local_20 != '\x02') goto LAB_0004a00a;\n  }\n  FUN_00041760();\n  FUN_00041030();\n  pcVar4 = FUN_00041820;\n  pcVar5 = FUN_00041800;\nLAB_0004a08e:\n  if (param_1 == 0) {\n    pcVar4 = pcVar5;\n  }\n  (*pcVar4)(uVar3);\n  FUN_00041030();\n  return;\n}" primitive_type (function_declarator "FUN_00049f60(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  code *pcVar4;\n  code *pcVar5;\n  char *pcVar6;\n  undefined1 local_44 [8];\n  int local_3c;\n  char local_34;\n  undefined1 local_30 [8];\n  undefined4 local_28;\n  char local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x49f69;\n  pcVar6 = "savepsp";\n  if (param_1 == 0) {\n    pcVar6 = "savesp";\n  }\n  iVar1 = FUN_00049f00();\n  if (iVar1 == 0) {\n    return;\n  }\n  iVar1 = FUN_00040d30();\n  FUN_0001eec0(local_44);\n  if (iVar1 == 0x2c) {\n    FUN_00040d30();\n    FUN_0001eec0(local_30);\n    uVar3 = local_28;\n    if (local_34 != '\x05') goto LAB_00049fdb;\n    if (local_20 != '\x02') goto LAB_0004a00a;\nLAB_0004a033:\n    if (local_3c == 0x128) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x129) {\n      if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c == 0x248) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041840;\n      pcVar4 = FUN_00041860;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x249) {\n      if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c != 0x252) {\n      if (local_3c != 0x263) goto LAB_0004a280;\n      FUN_00041760();\n      FUN_00041030();\n      pcVar4 = FUN_000417e0;\n      pcVar5 = FUN_000417c0;\n      goto LAB_0004a08e;\n    }\n  }\n  else {\n    local_20 = '\x01';\n    uVar3 = local_28;\n    if (local_34 == '\x05') {\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    uVar2 = dcgettext(0,"First operand to .%s not a register",5);\n    FUN_00029550(uVar2,pcVar6);\n    local_3c = 0x252;\n    if (local_20 != '\x02') goto LAB_0004a00a;\n  }\n  FUN_00041760();\n  FUN_00041030();\n  pcVar4 = FUN_00041820;\n  pcVar5 = FUN_00041800;\nLAB_0004a08e:\n  if (param_1 == 0) {\n    pcVar4 = pcVar5;\n  }\n  (*pcVar4)(uVar3);\n  FUN_00041030();\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "code *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "undefined1 local_44 [8];" type_identifier (array_declarator "local_44 [8]" identifier [ number_literal ]) ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "char local_34;" primitive_type identifier ;) (declaration "undefined1 local_30 [8];" type_identifier (array_declarator "local_30 [8]" identifier [ number_literal ]) ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "char local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x49f69;" (assignment_expression "uStack_14 = 0x49f69" identifier = number_literal) ;) (expression_statement "pcVar6 = "savepsp";" (assignment_expression "pcVar6 = "savepsp"" identifier = (string_literal ""savepsp"" " string_content ")) ;) (if_statement "if (param_1 == 0) {\n    pcVar6 = "savesp";\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar6 = "savesp";\n  }" { (expression_statement "pcVar6 = "savesp";" (assignment_expression "pcVar6 = "savesp"" identifier = (string_literal ""savesp"" " string_content ")) ;) })) (expression_statement "iVar1 = FUN_00049f00();" (assignment_expression "iVar1 = FUN_00049f00()" identifier = (call_expression "FUN_00049f00()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar1 == 0) {\n    return;\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "iVar1 = FUN_00040d30();" (assignment_expression "iVar1 = FUN_00040d30()" identifier = (call_expression "FUN_00040d30()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0001eec0(local_44);" (call_expression "FUN_0001eec0(local_44)" identifier (argument_list "(local_44)" ( identifier ))) ;) (if_statement "if (iVar1 == 0x2c) {\n    FUN_00040d30();\n    FUN_0001eec0(local_30);\n    uVar3 = local_28;\n    if (local_34 != '\x05') goto LAB_00049fdb;\n    if (local_20 != '\x02') goto LAB_0004a00a;\nLAB_0004a033:\n    if (local_3c == 0x128) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x129) {\n      if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c == 0x248) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041840;\n      pcVar4 = FUN_00041860;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x249) {\n      if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c != 0x252) {\n      if (local_3c != 0x263) goto LAB_0004a280;\n      FUN_00041760();\n      FUN_00041030();\n      pcVar4 = FUN_000417e0;\n      pcVar5 = FUN_000417c0;\n      goto LAB_0004a08e;\n    }\n  }\n  else {\n    local_20 = '\x01';\n    uVar3 = local_28;\n    if (local_34 == '\x05') {\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    uVar2 = dcgettext(0,"First operand to .%s not a register",5);\n    FUN_00029550(uVar2,pcVar6);\n    local_3c = 0x252;\n    if (local_20 != '\x02') goto LAB_0004a00a;\n  }" if (parenthesized_expression "(iVar1 == 0x2c)" ( (binary_expression "iVar1 == 0x2c" identifier == number_literal) )) (compound_statement "{\n    FUN_00040d30();\n    FUN_0001eec0(local_30);\n    uVar3 = local_28;\n    if (local_34 != '\x05') goto LAB_00049fdb;\n    if (local_20 != '\x02') goto LAB_0004a00a;\nLAB_0004a033:\n    if (local_3c == 0x128) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x129) {\n      if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c == 0x248) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041840;\n      pcVar4 = FUN_00041860;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x249) {\n      if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c != 0x252) {\n      if (local_3c != 0x263) goto LAB_0004a280;\n      FUN_00041760();\n      FUN_00041030();\n      pcVar4 = FUN_000417e0;\n      pcVar5 = FUN_000417c0;\n      goto LAB_0004a08e;\n    }\n  }" { (expression_statement "FUN_00040d30();" (call_expression "FUN_00040d30()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001eec0(local_30);" (call_expression "FUN_0001eec0(local_30)" identifier (argument_list "(local_30)" ( identifier ))) ;) (expression_statement "uVar3 = local_28;" (assignment_expression "uVar3 = local_28" identifier = identifier) ;) (if_statement "if (local_34 != '\x05') goto LAB_00049fdb;" if (parenthesized_expression "(local_34 != '\x05')" ( (binary_expression "local_34 != '\x05'" identifier != (char_literal "'\x05'" ' escape_sequence ')) )) (goto_statement "goto LAB_00049fdb;" goto statement_identifier ;)) (if_statement "if (local_20 != '\x02') goto LAB_0004a00a;" if (parenthesized_expression "(local_20 != '\x02')" ( (binary_expression "local_20 != '\x02'" identifier != (char_literal "'\x02'" ' escape_sequence ')) )) (goto_statement "goto LAB_0004a00a;" goto statement_identifier ;)) (labeled_statement "LAB_0004a033:\n    if (local_3c == 0x128) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }" statement_identifier : (if_statement "if (local_3c == 0x128) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }" if (parenthesized_expression "(local_3c == 0x128)" ( (binary_expression "local_3c == 0x128" identifier == number_literal) )) (compound_statement "{\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }" { (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar5 = FUN_00041900;" (assignment_expression "pcVar5 = FUN_00041900" identifier = identifier) ;) (expression_statement "pcVar4 = FUN_00041920;" (assignment_expression "pcVar4 = FUN_00041920" identifier = identifier) ;) (goto_statement "goto LAB_0004a08e;" goto statement_identifier ;) }))) (if_statement "if (local_3c < 0x129) {\n      if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }\n      goto LAB_0004a08e;\n    }" if (parenthesized_expression "(local_3c < 0x129)" ( (binary_expression "local_3c < 0x129" identifier < number_literal) )) (compound_statement "{\n      if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }\n      goto LAB_0004a08e;\n    }" { (if_statement "if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }" if (parenthesized_expression "(local_3c == 0x112)" ( (binary_expression "local_3c == 0x112" identifier == number_literal) )) (compound_statement "{\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }" { (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar4 = FUN_000419e0;" (assignment_expression "pcVar4 = FUN_000419e0" identifier = identifier) ;) (expression_statement "pcVar5 = FUN_000419c0;" (assignment_expression "pcVar5 = FUN_000419c0" identifier = identifier) ;) }) (else_clause "else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }" else (if_statement "if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }" if (parenthesized_expression "(local_3c < 0x113)" ( (binary_expression "local_3c < 0x113" identifier < number_literal) )) (compound_statement "{\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }" { (if_statement "if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }" if (parenthesized_expression "(local_3c != 0x111)" ( (binary_expression "local_3c != 0x111" identifier != number_literal) )) (compound_statement "{\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }" { (labeled_statement "LAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);" statement_identifier : (expression_statement "uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);" (assignment_expression "uVar3 = dcgettext(0,"First operand to .%s not a valid register",5)" identifier = (call_expression "dcgettext(0,"First operand to .%s not a valid register",5)" identifier (argument_list "(0,"First operand to .%s not a valid register",5)" ( number_literal , (string_literal ""First operand to .%s not a valid register"" " string_content ") , number_literal )))) ;)) (expression_statement "FUN_00029550(uVar3,pcVar6);" (call_expression "FUN_00029550(uVar3,pcVar6)" identifier (argument_list "(uVar3,pcVar6)" ( identifier , identifier ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar4 = FUN_00041a20;" (assignment_expression "pcVar4 = FUN_00041a20" identifier = identifier) ;) (expression_statement "pcVar5 = FUN_00041a00;" (assignment_expression "pcVar5 = FUN_00041a00" identifier = identifier) ;) }) (else_clause "else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }" else (if_statement "if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }" if (parenthesized_expression "(local_3c == 0x113)" ( (binary_expression "local_3c == 0x113" identifier == number_literal) )) (compound_statement "{\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }" { (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar5 = FUN_00041980;" (assignment_expression "pcVar5 = FUN_00041980" identifier = identifier) ;) (expression_statement "pcVar4 = FUN_000419a0;" (assignment_expression "pcVar4 = FUN_000419a0" identifier = identifier) ;) }) (else_clause "else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }" else (compound_statement "{\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }" { (if_statement "if (local_3c != 0x124) goto LAB_0004a280;" if (parenthesized_expression "(local_3c != 0x124)" ( (binary_expression "local_3c != 0x124" identifier != number_literal) )) (goto_statement "goto LAB_0004a280;" goto statement_identifier ;)) (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar5 = FUN_00041940;" (assignment_expression "pcVar5 = FUN_00041940" identifier = identifier) ;) (expression_statement "pcVar4 = FUN_00041960;" (assignment_expression "pcVar4 = FUN_00041960" identifier = identifier) ;) }))))))) (goto_statement "goto LAB_0004a08e;" goto statement_identifier ;) })) (if_statement "if (local_3c == 0x248) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041840;\n      pcVar4 = FUN_00041860;\n      goto LAB_0004a08e;\n    }" if (parenthesized_expression "(local_3c == 0x248)" ( (binary_expression "local_3c == 0x248" identifier == number_literal) )) (compound_statement "{\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041840;\n      pcVar4 = FUN_00041860;\n      goto LAB_0004a08e;\n    }" { (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar5 = FUN_00041840;" (assignment_expression "pcVar5 = FUN_00041840" identifier = identifier) ;) (expression_statement "pcVar4 = FUN_00041860;" (assignment_expression "pcVar4 = FUN_00041860" identifier = identifier) ;) (goto_statement "goto LAB_0004a08e;" goto statement_identifier ;) })) (if_statement "if (local_3c < 0x249) {\n      if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }\n      goto LAB_0004a08e;\n    }" if (parenthesized_expression "(local_3c < 0x249)" ( (binary_expression "local_3c < 0x249" identifier < number_literal) )) (compound_statement "{\n      if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }\n      goto LAB_0004a08e;\n    }" { (if_statement "if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }" if (parenthesized_expression "(local_3c == 0x140)" ( (binary_expression "local_3c == 0x140" identifier == number_literal) )) (compound_statement "{\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }" { (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar5 = FUN_000418c0;" (assignment_expression "pcVar5 = FUN_000418c0" identifier = identifier) ;) (expression_statement "pcVar4 = FUN_000418e0;" (assignment_expression "pcVar4 = FUN_000418e0" identifier = identifier) ;) }) (else_clause "else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }" else (compound_statement "{\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }" { (if_statement "if (local_3c != 0x141) goto LAB_0004a280;" if (parenthesized_expression "(local_3c != 0x141)" ( (binary_expression "local_3c != 0x141" identifier != number_literal) )) (goto_statement "goto LAB_0004a280;" goto statement_identifier ;)) (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar5 = FUN_00041880;" (assignment_expression "pcVar5 = FUN_00041880" identifier = identifier) ;) (expression_statement "pcVar4 = FUN_000418a0;" (assignment_expression "pcVar4 = FUN_000418a0" identifier = identifier) ;) }))) (goto_statement "goto LAB_0004a08e;" goto statement_identifier ;) })) (if_statement "if (local_3c != 0x252) {\n      if (local_3c != 0x263) goto LAB_0004a280;\n      FUN_00041760();\n      FUN_00041030();\n      pcVar4 = FUN_000417e0;\n      pcVar5 = FUN_000417c0;\n      goto LAB_0004a08e;\n    }" if (parenthesized_expression "(local_3c != 0x252)" ( (binary_expression "local_3c != 0x252" identifier != number_literal) )) (compound_statement "{\n      if (local_3c != 0x263) goto LAB_0004a280;\n      FUN_00041760();\n      FUN_00041030();\n      pcVar4 = FUN_000417e0;\n      pcVar5 = FUN_000417c0;\n      goto LAB_0004a08e;\n    }" { (if_statement "if (local_3c != 0x263) goto LAB_0004a280;" if (parenthesized_expression "(local_3c != 0x263)" ( (binary_expression "local_3c != 0x263" identifier != number_literal) )) (goto_statement "goto LAB_0004a280;" goto statement_identifier ;)) (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar4 = FUN_000417e0;" (assignment_expression "pcVar4 = FUN_000417e0" identifier = identifier) ;) (expression_statement "pcVar5 = FUN_000417c0;" (assignment_expression "pcVar5 = FUN_000417c0" identifier = identifier) ;) (goto_statement "goto LAB_0004a08e;" goto statement_identifier ;) })) }) (else_clause "else {\n    local_20 = '\x01';\n    uVar3 = local_28;\n    if (local_34 == '\x05') {\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    uVar2 = dcgettext(0,"First operand to .%s not a register",5);\n    FUN_00029550(uVar2,pcVar6);\n    local_3c = 0x252;\n    if (local_20 != '\x02') goto LAB_0004a00a;\n  }" else (compound_statement "{\n    local_20 = '\x01';\n    uVar3 = local_28;\n    if (local_34 == '\x05') {\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    uVar2 = dcgettext(0,"First operand to .%s not a register",5);\n    FUN_00029550(uVar2,pcVar6);\n    local_3c = 0x252;\n    if (local_20 != '\x02') goto LAB_0004a00a;\n  }" { (expression_statement "local_20 = '\x01';" (assignment_expression "local_20 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "uVar3 = local_28;" (assignment_expression "uVar3 = local_28" identifier = identifier) ;) (if_statement "if (local_34 == '\x05') {\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }" if (parenthesized_expression "(local_34 == '\x05')" ( (binary_expression "local_34 == '\x05'" identifier == (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }" { (labeled_statement "LAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);" statement_identifier : (expression_statement "uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);" (assignment_expression "uVar3 = dcgettext(0,"Second operand to .%s not a constant",5)" identifier = (call_expression "dcgettext(0,"Second operand to .%s not a constant",5)" identifier (argument_list "(0,"Second operand to .%s not a constant",5)" ( number_literal , (string_literal ""Second operand to .%s not a constant"" " string_content ") , number_literal )))) ;)) (expression_statement "FUN_00029550(uVar3,pcVar6);" (call_expression "FUN_00029550(uVar3,pcVar6)" identifier (argument_list "(uVar3,pcVar6)" ( identifier , identifier ))) ;) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0004a033;" goto statement_identifier ;) })) (labeled_statement "LAB_00049fdb:\n    uVar2 = dcgettext(0,"First operand to .%s not a register",5);" statement_identifier : (expression_statement "uVar2 = dcgettext(0,"First operand to .%s not a register",5);" (assignment_expression "uVar2 = dcgettext(0,"First operand to .%s not a register",5)" identifier = (call_expression "dcgettext(0,"First operand to .%s not a register",5)" identifier (argument_list "(0,"First operand to .%s not a register",5)" ( number_literal , (string_literal ""First operand to .%s not a register"" " string_content ") , number_literal )))) ;)) (expression_statement "FUN_00029550(uVar2,pcVar6);" (call_expression "FUN_00029550(uVar2,pcVar6)" identifier (argument_list "(uVar2,pcVar6)" ( identifier , identifier ))) ;) (expression_statement "local_3c = 0x252;" (assignment_expression "local_3c = 0x252" identifier = number_literal) ;) (if_statement "if (local_20 != '\x02') goto LAB_0004a00a;" if (parenthesized_expression "(local_20 != '\x02')" ( (binary_expression "local_20 != '\x02'" identifier != (char_literal "'\x02'" ' escape_sequence ')) )) (goto_statement "goto LAB_0004a00a;" goto statement_identifier ;)) }))) (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar4 = FUN_00041820;" (assignment_expression "pcVar4 = FUN_00041820" identifier = identifier) ;) (expression_statement "pcVar5 = FUN_00041800;" (assignment_expression "pcVar5 = FUN_00041800" identifier = identifier) ;) (labeled_statement "LAB_0004a08e:\n  if (param_1 == 0) {\n    pcVar4 = pcVar5;\n  }" statement_identifier : (if_statement "if (param_1 == 0) {\n    pcVar4 = pcVar5;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar4 = pcVar5;\n  }" { (expression_statement "pcVar4 = pcVar5;" (assignment_expression "pcVar4 = pcVar5" identifier = identifier) ;) }))) (expression_statement "(*pcVar4)(uVar3);" (call_expression "(*pcVar4)(uVar3)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nvoid dot_savemem(int psprel)\n\n{\n  int iVar1;\n  char *pcVar2;\n  unw_rec_list *puVar3;\n  code *pcVar4;\n  code *pcVar5;\n  undefined4 uVar6;\n  char *directive;\n  expressionS e1;\n  expressionS e2;\n  \n  directive = "savepsp";\n  if (psprel == 0) {\n    directive = "savesp";\n  }\n  iVar1 = in_prologue(directive);\n  if (iVar1 == 0) {\n    return;\n  }\n  iVar1 = parse_operand(&e1,0x2c);\n  resolve_expression(&e1);\n  if (iVar1 == 0x2c) {\n    iVar1 = parse_operand(&e2,0x2c);\n    resolve_expression(&e2);\n    uVar6 = (undefined4)e2.X_add_number;\n    if (e1._16_1_ != '\x05') goto LAB_00049fdb;\n    if (e2._16_1_ != '\x02') goto LAB_0004a00a;\nLAB_0004a033:\n    if ((int)e1.X_add_number == 0x128) {\n      puVar3 = alloc_record(fpsr_when);\n      add_unwind_entry(puVar3,iVar1);\n      pcVar5 = output_fpsr_sprel;\n      pcVar4 = output_fpsr_psprel;\n      goto LAB_0004a08e;\n    }\n    if ((int)e1.X_add_number < 0x129) {\n      if ((int)e1.X_add_number == 0x112) {\n        puVar3 = alloc_record(bspstore_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar4 = output_bspstore_psprel;\n        pcVar5 = output_bspstore_sprel;\n      }\n      else if ((int)e1.X_add_number < 0x113) {\n        if ((int)e1.X_add_number != 0x111) {\nLAB_0004a280:\n          pcVar2 = (char *)dcgettext(0,"First operand to .%s not a valid register",5);\n          as_bad(pcVar2,directive);\n          add_unwind_entry((unw_rec_list *)0x0,iVar1);\n          return;\n        }\n        puVar3 = alloc_record(bsp_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar4 = output_bsp_psprel;\n        pcVar5 = output_bsp_sprel;\n      }\n      else if ((int)e1.X_add_number == 0x113) {\n        puVar3 = alloc_record(rnat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_rnat_sprel;\n        pcVar4 = output_rnat_psprel;\n      }\n      else {\n        if ((int)e1.X_add_number != 0x124) goto LAB_0004a280;\n        puVar3 = alloc_record(unat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_unat_sprel;\n        pcVar4 = output_unat_psprel;\n      }\n      goto LAB_0004a08e;\n    }\n    if ((int)e1.X_add_number == 0x248) {\n      puVar3 = alloc_record(rp_when);\n      add_unwind_entry(puVar3,iVar1);\n      pcVar5 = output_rp_sprel;\n      pcVar4 = output_rp_psprel;\n      goto LAB_0004a08e;\n    }\n    if ((int)e1.X_add_number < 0x249) {\n      if ((int)e1.X_add_number == 0x140) {\n        puVar3 = alloc_record(pfs_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_pfs_sprel;\n        pcVar4 = output_pfs_psprel;\n      }\n      else {\n        if ((int)e1.X_add_number != 0x141) goto LAB_0004a280;\n        puVar3 = alloc_record(lc_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_lc_sprel;\n        pcVar4 = output_lc_psprel;\n      }\n      goto LAB_0004a08e;\n    }\n    if ((int)e1.X_add_number != 0x252) {\n      if ((int)e1.X_add_number != 0x263) goto LAB_0004a280;\n      puVar3 = alloc_record(priunat_when_mem);\n      add_unwind_entry(puVar3,iVar1);\n      pcVar4 = output_priunat_psprel;\n      pcVar5 = output_priunat_sprel;\n      goto LAB_0004a08e;\n    }\n  }\n  else {\n    e2._16_1_ = 1;\n    uVar6 = (undefined4)e2.X_add_number;\n    if (e1._16_1_ == '\x05') {\nLAB_0004a00a:\n      pcVar2 = (char *)dcgettext(0,"Second operand to .%s not a constant",5);\n      as_bad(pcVar2,directive);\n      uVar6 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    pcVar2 = (char *)dcgettext(0,"First operand to .%s not a register",5);\n    as_bad(pcVar2,directive);\n    e1.X_add_number._0_4_ = 0x252;\n    if (e2._16_1_ != '\x02') goto LAB_0004a00a;\n  }\n  puVar3 = alloc_record(preds_when);\n  add_unwind_entry(puVar3,iVar1);\n  pcVar4 = output_preds_psprel;\n  pcVar5 = output_preds_sprel;\nLAB_0004a08e:\n  if (psprel == 0) {\n    pcVar4 = pcVar5;\n  }\n  puVar3 = (unw_rec_list *)(*pcVar4)(uVar6);\n  add_unwind_entry(puVar3,0x100);\n  return;\n}\n\n" comment comment (function_definition "void dot_savemem(int psprel)\n\n{\n  int iVar1;\n  char *pcVar2;\n  unw_rec_list *puVar3;\n  code *pcVar4;\n  code *pcVar5;\n  undefined4 uVar6;\n  char *directive;\n  expressionS e1;\n  expressionS e2;\n  \n  directive = "savepsp";\n  if (psprel == 0) {\n    directive = "savesp";\n  }\n  iVar1 = in_prologue(directive);\n  if (iVar1 == 0) {\n    return;\n  }\n  iVar1 = parse_operand(&e1,0x2c);\n  resolve_expression(&e1);\n  if (iVar1 == 0x2c) {\n    iVar1 = parse_operand(&e2,0x2c);\n    resolve_expression(&e2);\n    uVar6 = (undefined4)e2.X_add_number;\n    if (e1._16_1_ != '\x05') goto LAB_00049fdb;\n    if (e2._16_1_ != '\x02') goto LAB_0004a00a;\nLAB_0004a033:\n    if ((int)e1.X_add_number == 0x128) {\n      puVar3 = alloc_record(fpsr_when);\n      add_unwind_entry(puVar3,iVar1);\n      pcVar5 = output_fpsr_sprel;\n      pcVar4 = output_fpsr_psprel;\n      goto LAB_0004a08e;\n    }\n    if ((int)e1.X_add_number < 0x129) {\n      if ((int)e1.X_add_number == 0x112) {\n        puVar3 = alloc_record(bspstore_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar4 = output_bspstore_psprel;\n        pcVar5 = output_bspstore_sprel;\n      }\n      else if ((int)e1.X_add_number < 0x113) {\n        if ((int)e1.X_add_number != 0x111) {\nLAB_0004a280:\n          pcVar2 = (char *)dcgettext(0,"First operand to .%s not a valid register",5);\n          as_bad(pcVar2,directive);\n          add_unwind_entry((unw_rec_list *)0x0,iVar1);\n          return;\n        }\n        puVar3 = alloc_record(bsp_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar4 = output_bsp_psprel;\n        pcVar5 = output_bsp_sprel;\n      }\n      else if ((int)e1.X_add_number == 0x113) {\n        puVar3 = alloc_record(rnat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_rnat_sprel;\n        pcVar4 = output_rnat_psprel;\n      }\n      else {\n        if ((int)e1.X_add_number != 0x124) goto LAB_0004a280;\n        puVar3 = alloc_record(unat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_unat_sprel;\n        pcVar4 = output_unat_psprel;\n      }\n      goto LAB_0004a08e;\n    }\n    if ((int)e1.X_add_number == 0x248) {\n      puVar3 = alloc_record(rp_when);\n      add_unwind_entry(puVar3,iVar1);\n      pcVar5 = output_rp_sprel;\n      pcVar4 = output_rp_psprel;\n      goto LAB_0004a08e;\n    }\n    if ((int)e1.X_add_number < 0x249) {\n      if ((int)e1.X_add_number == 0x140) {\n        puVar3 = alloc_record(pfs_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_pfs_sprel;\n        pcVar4 = output_pfs_psprel;\n      }\n      else {\n        if ((int)e1.X_add_number != 0x141) goto LAB_0004a280;\n        puVar3 = alloc_record(lc_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_lc_sprel;\n        pcVar4 = output_lc_psprel;\n      }\n      goto LAB_0004a08e;\n    }\n    if ((int)e1.X_add_number != 0x252) {\n      if ((int)e1.X_add_number != 0x263) goto LAB_0004a280;\n      puVar3 = alloc_record(priunat_when_mem);\n      add_unwind_entry(puVar3,iVar1);\n      pcVar4 = output_priunat_psprel;\n      pcVar5 = output_priunat_sprel;\n      goto LAB_0004a08e;\n    }\n  }\n  else {\n    e2._16_1_ = 1;\n    uVar6 = (undefined4)e2.X_add_number;\n    if (e1._16_1_ == '\x05') {\nLAB_0004a00a:\n      pcVar2 = (char *)dcgettext(0,"Second operand to .%s not a constant",5);\n      as_bad(pcVar2,directive);\n      uVar6 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    pcVar2 = (char *)dcgettext(0,"First operand to .%s not a register",5);\n    as_bad(pcVar2,directive);\n    e1.X_add_number._0_4_ = 0x252;\n    if (e2._16_1_ != '\x02') goto LAB_0004a00a;\n  }\n  puVar3 = alloc_record(preds_when);\n  add_unwind_entry(puVar3,iVar1);\n  pcVar4 = output_preds_psprel;\n  pcVar5 = output_preds_sprel;\nLAB_0004a08e:\n  if (psprel == 0) {\n    pcVar4 = pcVar5;\n  }\n  puVar3 = (unw_rec_list *)(*pcVar4)(uVar6);\n  add_unwind_entry(puVar3,0x100);\n  return;\n}" primitive_type (function_declarator "dot_savemem(int psprel)" identifier (parameter_list "(int psprel)" ( (parameter_declaration "int psprel" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  char *pcVar2;\n  unw_rec_list *puVar3;\n  code *pcVar4;\n  code *pcVar5;\n  undefined4 uVar6;\n  char *directive;\n  expressionS e1;\n  expressionS e2;\n  \n  directive = "savepsp";\n  if (psprel == 0) {\n    directive = "savesp";\n  }\n  iVar1 = in_prologue(directive);\n  if (iVar1 == 0) {\n    return;\n  }\n  iVar1 = parse_operand(&e1,0x2c);\n  resolve_expression(&e1);\n  if (iVar1 == 0x2c) {\n    iVar1 = parse_operand(&e2,0x2c);\n    resolve_expression(&e2);\n    uVar6 = (undefined4)e2.X_add_number;\n    if (e1._16_1_ != '\x05') goto LAB_00049fdb;\n    if (e2._16_1_ != '\x02') goto LAB_0004a00a;\nLAB_0004a033:\n    if ((int)e1.X_add_number == 0x128) {\n      puVar3 = alloc_record(fpsr_when);\n      add_unwind_entry(puVar3,iVar1);\n      pcVar5 = output_fpsr_sprel;\n      pcVar4 = output_fpsr_psprel;\n      goto LAB_0004a08e;\n    }\n    if ((int)e1.X_add_number < 0x129) {\n      if ((int)e1.X_add_number == 0x112) {\n        puVar3 = alloc_record(bspstore_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar4 = output_bspstore_psprel;\n        pcVar5 = output_bspstore_sprel;\n      }\n      else if ((int)e1.X_add_number < 0x113) {\n        if ((int)e1.X_add_number != 0x111) {\nLAB_0004a280:\n          pcVar2 = (char *)dcgettext(0,"First operand to .%s not a valid register",5);\n          as_bad(pcVar2,directive);\n          add_unwind_entry((unw_rec_list *)0x0,iVar1);\n          return;\n        }\n        puVar3 = alloc_record(bsp_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar4 = output_bsp_psprel;\n        pcVar5 = output_bsp_sprel;\n      }\n      else if ((int)e1.X_add_number == 0x113) {\n        puVar3 = alloc_record(rnat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_rnat_sprel;\n        pcVar4 = output_rnat_psprel;\n      }\n      else {\n        if ((int)e1.X_add_number != 0x124) goto LAB_0004a280;\n        puVar3 = alloc_record(unat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_unat_sprel;\n        pcVar4 = output_unat_psprel;\n      }\n      goto LAB_0004a08e;\n    }\n    if ((int)e1.X_add_number == 0x248) {\n      puVar3 = alloc_record(rp_when);\n      add_unwind_entry(puVar3,iVar1);\n      pcVar5 = output_rp_sprel;\n      pcVar4 = output_rp_psprel;\n      goto LAB_0004a08e;\n    }\n    if ((int)e1.X_add_number < 0x249) {\n      if ((int)e1.X_add_number == 0x140) {\n        puVar3 = alloc_record(pfs_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_pfs_sprel;\n        pcVar4 = output_pfs_psprel;\n      }\n      else {\n        if ((int)e1.X_add_number != 0x141) goto LAB_0004a280;\n        puVar3 = alloc_record(lc_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_lc_sprel;\n        pcVar4 = output_lc_psprel;\n      }\n      goto LAB_0004a08e;\n    }\n    if ((int)e1.X_add_number != 0x252) {\n      if ((int)e1.X_add_number != 0x263) goto LAB_0004a280;\n      puVar3 = alloc_record(priunat_when_mem);\n      add_unwind_entry(puVar3,iVar1);\n      pcVar4 = output_priunat_psprel;\n      pcVar5 = output_priunat_sprel;\n      goto LAB_0004a08e;\n    }\n  }\n  else {\n    e2._16_1_ = 1;\n    uVar6 = (undefined4)e2.X_add_number;\n    if (e1._16_1_ == '\x05') {\nLAB_0004a00a:\n      pcVar2 = (char *)dcgettext(0,"Second operand to .%s not a constant",5);\n      as_bad(pcVar2,directive);\n      uVar6 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    pcVar2 = (char *)dcgettext(0,"First operand to .%s not a register",5);\n    as_bad(pcVar2,directive);\n    e1.X_add_number._0_4_ = 0x252;\n    if (e2._16_1_ != '\x02') goto LAB_0004a00a;\n  }\n  puVar3 = alloc_record(preds_when);\n  add_unwind_entry(puVar3,iVar1);\n  pcVar4 = output_preds_psprel;\n  pcVar5 = output_preds_sprel;\nLAB_0004a08e:\n  if (psprel == 0) {\n    pcVar4 = pcVar5;\n  }\n  puVar3 = (unw_rec_list *)(*pcVar4)(uVar6);\n  add_unwind_entry(puVar3,0x100);\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "unw_rec_list *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "code *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "char *directive;" primitive_type (pointer_declarator "*directive" * identifier) ;) (declaration "expressionS e1;" type_identifier identifier ;) (declaration "expressionS e2;" type_identifier identifier ;) (expression_statement "directive = "savepsp";" (assignment_expression "directive = "savepsp"" identifier = (string_literal ""savepsp"" " string_content ")) ;) (if_statement "if (psprel == 0) {\n    directive = "savesp";\n  }" if (parenthesized_expression "(psprel == 0)" ( (binary_expression "psprel == 0" identifier == number_literal) )) (compound_statement "{\n    directive = "savesp";\n  }" { (expression_statement "directive = "savesp";" (assignment_expression "directive = "savesp"" identifier = (string_literal ""savesp"" " string_content ")) ;) })) (expression_statement "iVar1 = in_prologue(directive);" (assignment_expression "iVar1 = in_prologue(directive)" identifier = (call_expression "in_prologue(directive)" identifier (argument_list "(directive)" ( identifier )))) ;) (if_statement "if (iVar1 == 0) {\n    return;\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "iVar1 = parse_operand(&e1,0x2c);" (assignment_expression "iVar1 = parse_operand(&e1,0x2c)" identifier = (call_expression "parse_operand(&e1,0x2c)" identifier (argument_list "(&e1,0x2c)" ( (pointer_expression "&e1" & identifier) , number_literal )))) ;) (expression_statement "resolve_expression(&e1);" (call_expression "resolve_expression(&e1)" identifier (argument_list "(&e1)" ( (pointer_expression "&e1" & identifier) ))) ;) (if_statement "if (iVar1 == 0x2c) {\n    iVar1 = parse_operand(&e2,0x2c);\n    resolve_expression(&e2);\n    uVar6 = (undefined4)e2.X_add_number;\n    if (e1._16_1_ != '\x05') goto LAB_00049fdb;\n    if (e2._16_1_ != '\x02') goto LAB_0004a00a;\nLAB_0004a033:\n    if ((int)e1.X_add_number == 0x128) {\n      puVar3 = alloc_record(fpsr_when);\n      add_unwind_entry(puVar3,iVar1);\n      pcVar5 = output_fpsr_sprel;\n      pcVar4 = output_fpsr_psprel;\n      goto LAB_0004a08e;\n    }\n    if ((int)e1.X_add_number < 0x129) {\n      if ((int)e1.X_add_number == 0x112) {\n        puVar3 = alloc_record(bspstore_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar4 = output_bspstore_psprel;\n        pcVar5 = output_bspstore_sprel;\n      }\n      else if ((int)e1.X_add_number < 0x113) {\n        if ((int)e1.X_add_number != 0x111) {\nLAB_0004a280:\n          pcVar2 = (char *)dcgettext(0,"First operand to .%s not a valid register",5);\n          as_bad(pcVar2,directive);\n          add_unwind_entry((unw_rec_list *)0x0,iVar1);\n          return;\n        }\n        puVar3 = alloc_record(bsp_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar4 = output_bsp_psprel;\n        pcVar5 = output_bsp_sprel;\n      }\n      else if ((int)e1.X_add_number == 0x113) {\n        puVar3 = alloc_record(rnat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_rnat_sprel;\n        pcVar4 = output_rnat_psprel;\n      }\n      else {\n        if ((int)e1.X_add_number != 0x124) goto LAB_0004a280;\n        puVar3 = alloc_record(unat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_unat_sprel;\n        pcVar4 = output_unat_psprel;\n      }\n      goto LAB_0004a08e;\n    }\n    if ((int)e1.X_add_number == 0x248) {\n      puVar3 = alloc_record(rp_when);\n      add_unwind_entry(puVar3,iVar1);\n      pcVar5 = output_rp_sprel;\n      pcVar4 = output_rp_psprel;\n      goto LAB_0004a08e;\n    }\n    if ((int)e1.X_add_number < 0x249) {\n      if ((int)e1.X_add_number == 0x140) {\n        puVar3 = alloc_record(pfs_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_pfs_sprel;\n        pcVar4 = output_pfs_psprel;\n      }\n      else {\n        if ((int)e1.X_add_number != 0x141) goto LAB_0004a280;\n        puVar3 = alloc_record(lc_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_lc_sprel;\n        pcVar4 = output_lc_psprel;\n      }\n      goto LAB_0004a08e;\n    }\n    if ((int)e1.X_add_number != 0x252) {\n      if ((int)e1.X_add_number != 0x263) goto LAB_0004a280;\n      puVar3 = alloc_record(priunat_when_mem);\n      add_unwind_entry(puVar3,iVar1);\n      pcVar4 = output_priunat_psprel;\n      pcVar5 = output_priunat_sprel;\n      goto LAB_0004a08e;\n    }\n  }\n  else {\n    e2._16_1_ = 1;\n    uVar6 = (undefined4)e2.X_add_number;\n    if (e1._16_1_ == '\x05') {\nLAB_0004a00a:\n      pcVar2 = (char *)dcgettext(0,"Second operand to .%s not a constant",5);\n      as_bad(pcVar2,directive);\n      uVar6 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    pcVar2 = (char *)dcgettext(0,"First operand to .%s not a register",5);\n    as_bad(pcVar2,directive);\n    e1.X_add_number._0_4_ = 0x252;\n    if (e2._16_1_ != '\x02') goto LAB_0004a00a;\n  }" if (parenthesized_expression "(iVar1 == 0x2c)" ( (binary_expression "iVar1 == 0x2c" identifier == number_literal) )) (compound_statement "{\n    iVar1 = parse_operand(&e2,0x2c);\n    resolve_expression(&e2);\n    uVar6 = (undefined4)e2.X_add_number;\n    if (e1._16_1_ != '\x05') goto LAB_00049fdb;\n    if (e2._16_1_ != '\x02') goto LAB_0004a00a;\nLAB_0004a033:\n    if ((int)e1.X_add_number == 0x128) {\n      puVar3 = alloc_record(fpsr_when);\n      add_unwind_entry(puVar3,iVar1);\n      pcVar5 = output_fpsr_sprel;\n      pcVar4 = output_fpsr_psprel;\n      goto LAB_0004a08e;\n    }\n    if ((int)e1.X_add_number < 0x129) {\n      if ((int)e1.X_add_number == 0x112) {\n        puVar3 = alloc_record(bspstore_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar4 = output_bspstore_psprel;\n        pcVar5 = output_bspstore_sprel;\n      }\n      else if ((int)e1.X_add_number < 0x113) {\n        if ((int)e1.X_add_number != 0x111) {\nLAB_0004a280:\n          pcVar2 = (char *)dcgettext(0,"First operand to .%s not a valid register",5);\n          as_bad(pcVar2,directive);\n          add_unwind_entry((unw_rec_list *)0x0,iVar1);\n          return;\n        }\n        puVar3 = alloc_record(bsp_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar4 = output_bsp_psprel;\n        pcVar5 = output_bsp_sprel;\n      }\n      else if ((int)e1.X_add_number == 0x113) {\n        puVar3 = alloc_record(rnat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_rnat_sprel;\n        pcVar4 = output_rnat_psprel;\n      }\n      else {\n        if ((int)e1.X_add_number != 0x124) goto LAB_0004a280;\n        puVar3 = alloc_record(unat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_unat_sprel;\n        pcVar4 = output_unat_psprel;\n      }\n      goto LAB_0004a08e;\n    }\n    if ((int)e1.X_add_number == 0x248) {\n      puVar3 = alloc_record(rp_when);\n      add_unwind_entry(puVar3,iVar1);\n      pcVar5 = output_rp_sprel;\n      pcVar4 = output_rp_psprel;\n      goto LAB_0004a08e;\n    }\n    if ((int)e1.X_add_number < 0x249) {\n      if ((int)e1.X_add_number == 0x140) {\n        puVar3 = alloc_record(pfs_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_pfs_sprel;\n        pcVar4 = output_pfs_psprel;\n      }\n      else {\n        if ((int)e1.X_add_number != 0x141) goto LAB_0004a280;\n        puVar3 = alloc_record(lc_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_lc_sprel;\n        pcVar4 = output_lc_psprel;\n      }\n      goto LAB_0004a08e;\n    }\n    if ((int)e1.X_add_number != 0x252) {\n      if ((int)e1.X_add_number != 0x263) goto LAB_0004a280;\n      puVar3 = alloc_record(priunat_when_mem);\n      add_unwind_entry(puVar3,iVar1);\n      pcVar4 = output_priunat_psprel;\n      pcVar5 = output_priunat_sprel;\n      goto LAB_0004a08e;\n    }\n  }" { (expression_statement "iVar1 = parse_operand(&e2,0x2c);" (assignment_expression "iVar1 = parse_operand(&e2,0x2c)" identifier = (call_expression "parse_operand(&e2,0x2c)" identifier (argument_list "(&e2,0x2c)" ( (pointer_expression "&e2" & identifier) , number_literal )))) ;) (expression_statement "resolve_expression(&e2);" (call_expression "resolve_expression(&e2)" identifier (argument_list "(&e2)" ( (pointer_expression "&e2" & identifier) ))) ;) (expression_statement "uVar6 = (undefined4)e2.X_add_number;" (assignment_expression "uVar6 = (undefined4)e2.X_add_number" identifier = (cast_expression "(undefined4)e2.X_add_number" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "e2.X_add_number" identifier . field_identifier))) ;) (if_statement "if (e1._16_1_ != '\x05') goto LAB_00049fdb;" if (parenthesized_expression "(e1._16_1_ != '\x05')" ( (binary_expression "e1._16_1_ != '\x05'" (field_expression "e1._16_1_" identifier . field_identifier) != (char_literal "'\x05'" ' escape_sequence ')) )) (goto_statement "goto LAB_00049fdb;" goto statement_identifier ;)) (if_statement "if (e2._16_1_ != '\x02') goto LAB_0004a00a;" if (parenthesized_expression "(e2._16_1_ != '\x02')" ( (binary_expression "e2._16_1_ != '\x02'" (field_expression "e2._16_1_" identifier . field_identifier) != (char_literal "'\x02'" ' escape_sequence ')) )) (goto_statement "goto LAB_0004a00a;" goto statement_identifier ;)) (labeled_statement "LAB_0004a033:\n    if ((int)e1.X_add_number == 0x128) {\n      puVar3 = alloc_record(fpsr_when);\n      add_unwind_entry(puVar3,iVar1);\n      pcVar5 = output_fpsr_sprel;\n      pcVar4 = output_fpsr_psprel;\n      goto LAB_0004a08e;\n    }" statement_identifier : (if_statement "if ((int)e1.X_add_number == 0x128) {\n      puVar3 = alloc_record(fpsr_when);\n      add_unwind_entry(puVar3,iVar1);\n      pcVar5 = output_fpsr_sprel;\n      pcVar4 = output_fpsr_psprel;\n      goto LAB_0004a08e;\n    }" if (parenthesized_expression "((int)e1.X_add_number == 0x128)" ( (binary_expression "(int)e1.X_add_number == 0x128" (cast_expression "(int)e1.X_add_number" ( (type_descriptor "int" primitive_type) ) (field_expression "e1.X_add_number" identifier . field_identifier)) == number_literal) )) (compound_statement "{\n      puVar3 = alloc_record(fpsr_when);\n      add_unwind_entry(puVar3,iVar1);\n      pcVar5 = output_fpsr_sprel;\n      pcVar4 = output_fpsr_psprel;\n      goto LAB_0004a08e;\n    }" { (expression_statement "puVar3 = alloc_record(fpsr_when);" (assignment_expression "puVar3 = alloc_record(fpsr_when)" identifier = (call_expression "alloc_record(fpsr_when)" identifier (argument_list "(fpsr_when)" ( identifier )))) ;) (expression_statement "add_unwind_entry(puVar3,iVar1);" (call_expression "add_unwind_entry(puVar3,iVar1)" identifier (argument_list "(puVar3,iVar1)" ( identifier , identifier ))) ;) (expression_statement "pcVar5 = output_fpsr_sprel;" (assignment_expression "pcVar5 = output_fpsr_sprel" identifier = identifier) ;) (expression_statement "pcVar4 = output_fpsr_psprel;" (assignment_expression "pcVar4 = output_fpsr_psprel" identifier = identifier) ;) (goto_statement "goto LAB_0004a08e;" goto statement_identifier ;) }))) (if_statement "if ((int)e1.X_add_number < 0x129) {\n      if ((int)e1.X_add_number == 0x112) {\n        puVar3 = alloc_record(bspstore_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar4 = output_bspstore_psprel;\n        pcVar5 = output_bspstore_sprel;\n      }\n      else if ((int)e1.X_add_number < 0x113) {\n        if ((int)e1.X_add_number != 0x111) {\nLAB_0004a280:\n          pcVar2 = (char *)dcgettext(0,"First operand to .%s not a valid register",5);\n          as_bad(pcVar2,directive);\n          add_unwind_entry((unw_rec_list *)0x0,iVar1);\n          return;\n        }\n        puVar3 = alloc_record(bsp_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar4 = output_bsp_psprel;\n        pcVar5 = output_bsp_sprel;\n      }\n      else if ((int)e1.X_add_number == 0x113) {\n        puVar3 = alloc_record(rnat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_rnat_sprel;\n        pcVar4 = output_rnat_psprel;\n      }\n      else {\n        if ((int)e1.X_add_number != 0x124) goto LAB_0004a280;\n        puVar3 = alloc_record(unat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_unat_sprel;\n        pcVar4 = output_unat_psprel;\n      }\n      goto LAB_0004a08e;\n    }" if (parenthesized_expression "((int)e1.X_add_number < 0x129)" ( (binary_expression "(int)e1.X_add_number < 0x129" (cast_expression "(int)e1.X_add_number" ( (type_descriptor "int" primitive_type) ) (field_expression "e1.X_add_number" identifier . field_identifier)) < number_literal) )) (compound_statement "{\n      if ((int)e1.X_add_number == 0x112) {\n        puVar3 = alloc_record(bspstore_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar4 = output_bspstore_psprel;\n        pcVar5 = output_bspstore_sprel;\n      }\n      else if ((int)e1.X_add_number < 0x113) {\n        if ((int)e1.X_add_number != 0x111) {\nLAB_0004a280:\n          pcVar2 = (char *)dcgettext(0,"First operand to .%s not a valid register",5);\n          as_bad(pcVar2,directive);\n          add_unwind_entry((unw_rec_list *)0x0,iVar1);\n          return;\n        }\n        puVar3 = alloc_record(bsp_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar4 = output_bsp_psprel;\n        pcVar5 = output_bsp_sprel;\n      }\n      else if ((int)e1.X_add_number == 0x113) {\n        puVar3 = alloc_record(rnat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_rnat_sprel;\n        pcVar4 = output_rnat_psprel;\n      }\n      else {\n        if ((int)e1.X_add_number != 0x124) goto LAB_0004a280;\n        puVar3 = alloc_record(unat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_unat_sprel;\n        pcVar4 = output_unat_psprel;\n      }\n      goto LAB_0004a08e;\n    }" { (if_statement "if ((int)e1.X_add_number == 0x112) {\n        puVar3 = alloc_record(bspstore_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar4 = output_bspstore_psprel;\n        pcVar5 = output_bspstore_sprel;\n      }\n      else if ((int)e1.X_add_number < 0x113) {\n        if ((int)e1.X_add_number != 0x111) {\nLAB_0004a280:\n          pcVar2 = (char *)dcgettext(0,"First operand to .%s not a valid register",5);\n          as_bad(pcVar2,directive);\n          add_unwind_entry((unw_rec_list *)0x0,iVar1);\n          return;\n        }\n        puVar3 = alloc_record(bsp_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar4 = output_bsp_psprel;\n        pcVar5 = output_bsp_sprel;\n      }\n      else if ((int)e1.X_add_number == 0x113) {\n        puVar3 = alloc_record(rnat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_rnat_sprel;\n        pcVar4 = output_rnat_psprel;\n      }\n      else {\n        if ((int)e1.X_add_number != 0x124) goto LAB_0004a280;\n        puVar3 = alloc_record(unat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_unat_sprel;\n        pcVar4 = output_unat_psprel;\n      }" if (parenthesized_expression "((int)e1.X_add_number == 0x112)" ( (binary_expression "(int)e1.X_add_number == 0x112" (cast_expression "(int)e1.X_add_number" ( (type_descriptor "int" primitive_type) ) (field_expression "e1.X_add_number" identifier . field_identifier)) == number_literal) )) (compound_statement "{\n        puVar3 = alloc_record(bspstore_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar4 = output_bspstore_psprel;\n        pcVar5 = output_bspstore_sprel;\n      }" { (expression_statement "puVar3 = alloc_record(bspstore_when);" (assignment_expression "puVar3 = alloc_record(bspstore_when)" identifier = (call_expression "alloc_record(bspstore_when)" identifier (argument_list "(bspstore_when)" ( identifier )))) ;) (expression_statement "add_unwind_entry(puVar3,iVar1);" (call_expression "add_unwind_entry(puVar3,iVar1)" identifier (argument_list "(puVar3,iVar1)" ( identifier , identifier ))) ;) (expression_statement "pcVar4 = output_bspstore_psprel;" (assignment_expression "pcVar4 = output_bspstore_psprel" identifier = identifier) ;) (expression_statement "pcVar5 = output_bspstore_sprel;" (assignment_expression "pcVar5 = output_bspstore_sprel" identifier = identifier) ;) }) (else_clause "else if ((int)e1.X_add_number < 0x113) {\n        if ((int)e1.X_add_number != 0x111) {\nLAB_0004a280:\n          pcVar2 = (char *)dcgettext(0,"First operand to .%s not a valid register",5);\n          as_bad(pcVar2,directive);\n          add_unwind_entry((unw_rec_list *)0x0,iVar1);\n          return;\n        }\n        puVar3 = alloc_record(bsp_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar4 = output_bsp_psprel;\n        pcVar5 = output_bsp_sprel;\n      }\n      else if ((int)e1.X_add_number == 0x113) {\n        puVar3 = alloc_record(rnat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_rnat_sprel;\n        pcVar4 = output_rnat_psprel;\n      }\n      else {\n        if ((int)e1.X_add_number != 0x124) goto LAB_0004a280;\n        puVar3 = alloc_record(unat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_unat_sprel;\n        pcVar4 = output_unat_psprel;\n      }" else (if_statement "if ((int)e1.X_add_number < 0x113) {\n        if ((int)e1.X_add_number != 0x111) {\nLAB_0004a280:\n          pcVar2 = (char *)dcgettext(0,"First operand to .%s not a valid register",5);\n          as_bad(pcVar2,directive);\n          add_unwind_entry((unw_rec_list *)0x0,iVar1);\n          return;\n        }\n        puVar3 = alloc_record(bsp_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar4 = output_bsp_psprel;\n        pcVar5 = output_bsp_sprel;\n      }\n      else if ((int)e1.X_add_number == 0x113) {\n        puVar3 = alloc_record(rnat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_rnat_sprel;\n        pcVar4 = output_rnat_psprel;\n      }\n      else {\n        if ((int)e1.X_add_number != 0x124) goto LAB_0004a280;\n        puVar3 = alloc_record(unat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_unat_sprel;\n        pcVar4 = output_unat_psprel;\n      }" if (parenthesized_expression "((int)e1.X_add_number < 0x113)" ( (binary_expression "(int)e1.X_add_number < 0x113" (cast_expression "(int)e1.X_add_number" ( (type_descriptor "int" primitive_type) ) (field_expression "e1.X_add_number" identifier . field_identifier)) < number_literal) )) (compound_statement "{\n        if ((int)e1.X_add_number != 0x111) {\nLAB_0004a280:\n          pcVar2 = (char *)dcgettext(0,"First operand to .%s not a valid register",5);\n          as_bad(pcVar2,directive);\n          add_unwind_entry((unw_rec_list *)0x0,iVar1);\n          return;\n        }\n        puVar3 = alloc_record(bsp_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar4 = output_bsp_psprel;\n        pcVar5 = output_bsp_sprel;\n      }" { (if_statement "if ((int)e1.X_add_number != 0x111) {\nLAB_0004a280:\n          pcVar2 = (char *)dcgettext(0,"First operand to .%s not a valid register",5);\n          as_bad(pcVar2,directive);\n          add_unwind_entry((unw_rec_list *)0x0,iVar1);\n          return;\n        }" if (parenthesized_expression "((int)e1.X_add_number != 0x111)" ( (binary_expression "(int)e1.X_add_number != 0x111" (cast_expression "(int)e1.X_add_number" ( (type_descriptor "int" primitive_type) ) (field_expression "e1.X_add_number" identifier . field_identifier)) != number_literal) )) (compound_statement "{\nLAB_0004a280:\n          pcVar2 = (char *)dcgettext(0,"First operand to .%s not a valid register",5);\n          as_bad(pcVar2,directive);\n          add_unwind_entry((unw_rec_list *)0x0,iVar1);\n          return;\n        }" { (labeled_statement "LAB_0004a280:\n          pcVar2 = (char *)dcgettext(0,"First operand to .%s not a valid register",5);" statement_identifier : (expression_statement "pcVar2 = (char *)dcgettext(0,"First operand to .%s not a valid register",5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,"First operand to .%s not a valid register",5)" identifier = (cast_expression "(char *)dcgettext(0,"First operand to .%s not a valid register",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"First operand to .%s not a valid register",5)" identifier (argument_list "(0,"First operand to .%s not a valid register",5)" ( number_literal , (string_literal ""First operand to .%s not a valid register"" " string_content ") , number_literal ))))) ;)) (expression_statement "as_bad(pcVar2,directive);" (call_expression "as_bad(pcVar2,directive)" identifier (argument_list "(pcVar2,directive)" ( identifier , identifier ))) ;) (expression_statement "add_unwind_entry((unw_rec_list *)0x0,iVar1);" (call_expression "add_unwind_entry((unw_rec_list *)0x0,iVar1)" identifier (argument_list "((unw_rec_list *)0x0,iVar1)" ( (cast_expression "(unw_rec_list *)0x0" ( (type_descriptor "unw_rec_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "puVar3 = alloc_record(bsp_when);" (assignment_expression "puVar3 = alloc_record(bsp_when)" identifier = (call_expression "alloc_record(bsp_when)" identifier (argument_list "(bsp_when)" ( identifier )))) ;) (expression_statement "add_unwind_entry(puVar3,iVar1);" (call_expression "add_unwind_entry(puVar3,iVar1)" identifier (argument_list "(puVar3,iVar1)" ( identifier , identifier ))) ;) (expression_statement "pcVar4 = output_bsp_psprel;" (assignment_expression "pcVar4 = output_bsp_psprel" identifier = identifier) ;) (expression_statement "pcVar5 = output_bsp_sprel;" (assignment_expression "pcVar5 = output_bsp_sprel" identifier = identifier) ;) }) (else_clause "else if ((int)e1.X_add_number == 0x113) {\n        puVar3 = alloc_record(rnat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_rnat_sprel;\n        pcVar4 = output_rnat_psprel;\n      }\n      else {\n        if ((int)e1.X_add_number != 0x124) goto LAB_0004a280;\n        puVar3 = alloc_record(unat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_unat_sprel;\n        pcVar4 = output_unat_psprel;\n      }" else (if_statement "if ((int)e1.X_add_number == 0x113) {\n        puVar3 = alloc_record(rnat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_rnat_sprel;\n        pcVar4 = output_rnat_psprel;\n      }\n      else {\n        if ((int)e1.X_add_number != 0x124) goto LAB_0004a280;\n        puVar3 = alloc_record(unat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_unat_sprel;\n        pcVar4 = output_unat_psprel;\n      }" if (parenthesized_expression "((int)e1.X_add_number == 0x113)" ( (binary_expression "(int)e1.X_add_number == 0x113" (cast_expression "(int)e1.X_add_number" ( (type_descriptor "int" primitive_type) ) (field_expression "e1.X_add_number" identifier . field_identifier)) == number_literal) )) (compound_statement "{\n        puVar3 = alloc_record(rnat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_rnat_sprel;\n        pcVar4 = output_rnat_psprel;\n      }" { (expression_statement "puVar3 = alloc_record(rnat_when);" (assignment_expression "puVar3 = alloc_record(rnat_when)" identifier = (call_expression "alloc_record(rnat_when)" identifier (argument_list "(rnat_when)" ( identifier )))) ;) (expression_statement "add_unwind_entry(puVar3,iVar1);" (call_expression "add_unwind_entry(puVar3,iVar1)" identifier (argument_list "(puVar3,iVar1)" ( identifier , identifier ))) ;) (expression_statement "pcVar5 = output_rnat_sprel;" (assignment_expression "pcVar5 = output_rnat_sprel" identifier = identifier) ;) (expression_statement "pcVar4 = output_rnat_psprel;" (assignment_expression "pcVar4 = output_rnat_psprel" identifier = identifier) ;) }) (else_clause "else {\n        if ((int)e1.X_add_number != 0x124) goto LAB_0004a280;\n        puVar3 = alloc_record(unat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_unat_sprel;\n        pcVar4 = output_unat_psprel;\n      }" else (compound_statement "{\n        if ((int)e1.X_add_number != 0x124) goto LAB_0004a280;\n        puVar3 = alloc_record(unat_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_unat_sprel;\n        pcVar4 = output_unat_psprel;\n      }" { (if_statement "if ((int)e1.X_add_number != 0x124) goto LAB_0004a280;" if (parenthesized_expression "((int)e1.X_add_number != 0x124)" ( (binary_expression "(int)e1.X_add_number != 0x124" (cast_expression "(int)e1.X_add_number" ( (type_descriptor "int" primitive_type) ) (field_expression "e1.X_add_number" identifier . field_identifier)) != number_literal) )) (goto_statement "goto LAB_0004a280;" goto statement_identifier ;)) (expression_statement "puVar3 = alloc_record(unat_when);" (assignment_expression "puVar3 = alloc_record(unat_when)" identifier = (call_expression "alloc_record(unat_when)" identifier (argument_list "(unat_when)" ( identifier )))) ;) (expression_statement "add_unwind_entry(puVar3,iVar1);" (call_expression "add_unwind_entry(puVar3,iVar1)" identifier (argument_list "(puVar3,iVar1)" ( identifier , identifier ))) ;) (expression_statement "pcVar5 = output_unat_sprel;" (assignment_expression "pcVar5 = output_unat_sprel" identifier = identifier) ;) (expression_statement "pcVar4 = output_unat_psprel;" (assignment_expression "pcVar4 = output_unat_psprel" identifier = identifier) ;) }))))))) (goto_statement "goto LAB_0004a08e;" goto statement_identifier ;) })) (if_statement "if ((int)e1.X_add_number == 0x248) {\n      puVar3 = alloc_record(rp_when);\n      add_unwind_entry(puVar3,iVar1);\n      pcVar5 = output_rp_sprel;\n      pcVar4 = output_rp_psprel;\n      goto LAB_0004a08e;\n    }" if (parenthesized_expression "((int)e1.X_add_number == 0x248)" ( (binary_expression "(int)e1.X_add_number == 0x248" (cast_expression "(int)e1.X_add_number" ( (type_descriptor "int" primitive_type) ) (field_expression "e1.X_add_number" identifier . field_identifier)) == number_literal) )) (compound_statement "{\n      puVar3 = alloc_record(rp_when);\n      add_unwind_entry(puVar3,iVar1);\n      pcVar5 = output_rp_sprel;\n      pcVar4 = output_rp_psprel;\n      goto LAB_0004a08e;\n    }" { (expression_statement "puVar3 = alloc_record(rp_when);" (assignment_expression "puVar3 = alloc_record(rp_when)" identifier = (call_expression "alloc_record(rp_when)" identifier (argument_list "(rp_when)" ( identifier )))) ;) (expression_statement "add_unwind_entry(puVar3,iVar1);" (call_expression "add_unwind_entry(puVar3,iVar1)" identifier (argument_list "(puVar3,iVar1)" ( identifier , identifier ))) ;) (expression_statement "pcVar5 = output_rp_sprel;" (assignment_expression "pcVar5 = output_rp_sprel" identifier = identifier) ;) (expression_statement "pcVar4 = output_rp_psprel;" (assignment_expression "pcVar4 = output_rp_psprel" identifier = identifier) ;) (goto_statement "goto LAB_0004a08e;" goto statement_identifier ;) })) (if_statement "if ((int)e1.X_add_number < 0x249) {\n      if ((int)e1.X_add_number == 0x140) {\n        puVar3 = alloc_record(pfs_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_pfs_sprel;\n        pcVar4 = output_pfs_psprel;\n      }\n      else {\n        if ((int)e1.X_add_number != 0x141) goto LAB_0004a280;\n        puVar3 = alloc_record(lc_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_lc_sprel;\n        pcVar4 = output_lc_psprel;\n      }\n      goto LAB_0004a08e;\n    }" if (parenthesized_expression "((int)e1.X_add_number < 0x249)" ( (binary_expression "(int)e1.X_add_number < 0x249" (cast_expression "(int)e1.X_add_number" ( (type_descriptor "int" primitive_type) ) (field_expression "e1.X_add_number" identifier . field_identifier)) < number_literal) )) (compound_statement "{\n      if ((int)e1.X_add_number == 0x140) {\n        puVar3 = alloc_record(pfs_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_pfs_sprel;\n        pcVar4 = output_pfs_psprel;\n      }\n      else {\n        if ((int)e1.X_add_number != 0x141) goto LAB_0004a280;\n        puVar3 = alloc_record(lc_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_lc_sprel;\n        pcVar4 = output_lc_psprel;\n      }\n      goto LAB_0004a08e;\n    }" { (if_statement "if ((int)e1.X_add_number == 0x140) {\n        puVar3 = alloc_record(pfs_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_pfs_sprel;\n        pcVar4 = output_pfs_psprel;\n      }\n      else {\n        if ((int)e1.X_add_number != 0x141) goto LAB_0004a280;\n        puVar3 = alloc_record(lc_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_lc_sprel;\n        pcVar4 = output_lc_psprel;\n      }" if (parenthesized_expression "((int)e1.X_add_number == 0x140)" ( (binary_expression "(int)e1.X_add_number == 0x140" (cast_expression "(int)e1.X_add_number" ( (type_descriptor "int" primitive_type) ) (field_expression "e1.X_add_number" identifier . field_identifier)) == number_literal) )) (compound_statement "{\n        puVar3 = alloc_record(pfs_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_pfs_sprel;\n        pcVar4 = output_pfs_psprel;\n      }" { (expression_statement "puVar3 = alloc_record(pfs_when);" (assignment_expression "puVar3 = alloc_record(pfs_when)" identifier = (call_expression "alloc_record(pfs_when)" identifier (argument_list "(pfs_when)" ( identifier )))) ;) (expression_statement "add_unwind_entry(puVar3,iVar1);" (call_expression "add_unwind_entry(puVar3,iVar1)" identifier (argument_list "(puVar3,iVar1)" ( identifier , identifier ))) ;) (expression_statement "pcVar5 = output_pfs_sprel;" (assignment_expression "pcVar5 = output_pfs_sprel" identifier = identifier) ;) (expression_statement "pcVar4 = output_pfs_psprel;" (assignment_expression "pcVar4 = output_pfs_psprel" identifier = identifier) ;) }) (else_clause "else {\n        if ((int)e1.X_add_number != 0x141) goto LAB_0004a280;\n        puVar3 = alloc_record(lc_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_lc_sprel;\n        pcVar4 = output_lc_psprel;\n      }" else (compound_statement "{\n        if ((int)e1.X_add_number != 0x141) goto LAB_0004a280;\n        puVar3 = alloc_record(lc_when);\n        add_unwind_entry(puVar3,iVar1);\n        pcVar5 = output_lc_sprel;\n        pcVar4 = output_lc_psprel;\n      }" { (if_statement "if ((int)e1.X_add_number != 0x141) goto LAB_0004a280;" if (parenthesized_expression "((int)e1.X_add_number != 0x141)" ( (binary_expression "(int)e1.X_add_number != 0x141" (cast_expression "(int)e1.X_add_number" ( (type_descriptor "int" primitive_type) ) (field_expression "e1.X_add_number" identifier . field_identifier)) != number_literal) )) (goto_statement "goto LAB_0004a280;" goto statement_identifier ;)) (expression_statement "puVar3 = alloc_record(lc_when);" (assignment_expression "puVar3 = alloc_record(lc_when)" identifier = (call_expression "alloc_record(lc_when)" identifier (argument_list "(lc_when)" ( identifier )))) ;) (expression_statement "add_unwind_entry(puVar3,iVar1);" (call_expression "add_unwind_entry(puVar3,iVar1)" identifier (argument_list "(puVar3,iVar1)" ( identifier , identifier ))) ;) (expression_statement "pcVar5 = output_lc_sprel;" (assignment_expression "pcVar5 = output_lc_sprel" identifier = identifier) ;) (expression_statement "pcVar4 = output_lc_psprel;" (assignment_expression "pcVar4 = output_lc_psprel" identifier = identifier) ;) }))) (goto_statement "goto LAB_0004a08e;" goto statement_identifier ;) })) (if_statement "if ((int)e1.X_add_number != 0x252) {\n      if ((int)e1.X_add_number != 0x263) goto LAB_0004a280;\n      puVar3 = alloc_record(priunat_when_mem);\n      add_unwind_entry(puVar3,iVar1);\n      pcVar4 = output_priunat_psprel;\n      pcVar5 = output_priunat_sprel;\n      goto LAB_0004a08e;\n    }" if (parenthesized_expression "((int)e1.X_add_number != 0x252)" ( (binary_expression "(int)e1.X_add_number != 0x252" (cast_expression "(int)e1.X_add_number" ( (type_descriptor "int" primitive_type) ) (field_expression "e1.X_add_number" identifier . field_identifier)) != number_literal) )) (compound_statement "{\n      if ((int)e1.X_add_number != 0x263) goto LAB_0004a280;\n      puVar3 = alloc_record(priunat_when_mem);\n      add_unwind_entry(puVar3,iVar1);\n      pcVar4 = output_priunat_psprel;\n      pcVar5 = output_priunat_sprel;\n      goto LAB_0004a08e;\n    }" { (if_statement "if ((int)e1.X_add_number != 0x263) goto LAB_0004a280;" if (parenthesized_expression "((int)e1.X_add_number != 0x263)" ( (binary_expression "(int)e1.X_add_number != 0x263" (cast_expression "(int)e1.X_add_number" ( (type_descriptor "int" primitive_type) ) (field_expression "e1.X_add_number" identifier . field_identifier)) != number_literal) )) (goto_statement "goto LAB_0004a280;" goto statement_identifier ;)) (expression_statement "puVar3 = alloc_record(priunat_when_mem);" (assignment_expression "puVar3 = alloc_record(priunat_when_mem)" identifier = (call_expression "alloc_record(priunat_when_mem)" identifier (argument_list "(priunat_when_mem)" ( identifier )))) ;) (expression_statement "add_unwind_entry(puVar3,iVar1);" (call_expression "add_unwind_entry(puVar3,iVar1)" identifier (argument_list "(puVar3,iVar1)" ( identifier , identifier ))) ;) (expression_statement "pcVar4 = output_priunat_psprel;" (assignment_expression "pcVar4 = output_priunat_psprel" identifier = identifier) ;) (expression_statement "pcVar5 = output_priunat_sprel;" (assignment_expression "pcVar5 = output_priunat_sprel" identifier = identifier) ;) (goto_statement "goto LAB_0004a08e;" goto statement_identifier ;) })) }) (else_clause "else {\n    e2._16_1_ = 1;\n    uVar6 = (undefined4)e2.X_add_number;\n    if (e1._16_1_ == '\x05') {\nLAB_0004a00a:\n      pcVar2 = (char *)dcgettext(0,"Second operand to .%s not a constant",5);\n      as_bad(pcVar2,directive);\n      uVar6 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    pcVar2 = (char *)dcgettext(0,"First operand to .%s not a register",5);\n    as_bad(pcVar2,directive);\n    e1.X_add_number._0_4_ = 0x252;\n    if (e2._16_1_ != '\x02') goto LAB_0004a00a;\n  }" else (compound_statement "{\n    e2._16_1_ = 1;\n    uVar6 = (undefined4)e2.X_add_number;\n    if (e1._16_1_ == '\x05') {\nLAB_0004a00a:\n      pcVar2 = (char *)dcgettext(0,"Second operand to .%s not a constant",5);\n      as_bad(pcVar2,directive);\n      uVar6 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    pcVar2 = (char *)dcgettext(0,"First operand to .%s not a register",5);\n    as_bad(pcVar2,directive);\n    e1.X_add_number._0_4_ = 0x252;\n    if (e2._16_1_ != '\x02') goto LAB_0004a00a;\n  }" { (expression_statement "e2._16_1_ = 1;" (assignment_expression "e2._16_1_ = 1" (field_expression "e2._16_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "uVar6 = (undefined4)e2.X_add_number;" (assignment_expression "uVar6 = (undefined4)e2.X_add_number" identifier = (cast_expression "(undefined4)e2.X_add_number" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "e2.X_add_number" identifier . field_identifier))) ;) (if_statement "if (e1._16_1_ == '\x05') {\nLAB_0004a00a:\n      pcVar2 = (char *)dcgettext(0,"Second operand to .%s not a constant",5);\n      as_bad(pcVar2,directive);\n      uVar6 = 0;\n      goto LAB_0004a033;\n    }" if (parenthesized_expression "(e1._16_1_ == '\x05')" ( (binary_expression "e1._16_1_ == '\x05'" (field_expression "e1._16_1_" identifier . field_identifier) == (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0004a00a:\n      pcVar2 = (char *)dcgettext(0,"Second operand to .%s not a constant",5);\n      as_bad(pcVar2,directive);\n      uVar6 = 0;\n      goto LAB_0004a033;\n    }" { (labeled_statement "LAB_0004a00a:\n      pcVar2 = (char *)dcgettext(0,"Second operand to .%s not a constant",5);" statement_identifier : (expression_statement "pcVar2 = (char *)dcgettext(0,"Second operand to .%s not a constant",5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,"Second operand to .%s not a constant",5)" identifier = (cast_expression "(char *)dcgettext(0,"Second operand to .%s not a constant",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Second operand to .%s not a constant",5)" identifier (argument_list "(0,"Second operand to .%s not a constant",5)" ( number_literal , (string_literal ""Second operand to .%s not a constant"" " string_content ") , number_literal ))))) ;)) (expression_statement "as_bad(pcVar2,directive);" (call_expression "as_bad(pcVar2,directive)" identifier (argument_list "(pcVar2,directive)" ( identifier , identifier ))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0004a033;" goto statement_identifier ;) })) (labeled_statement "LAB_00049fdb:\n    pcVar2 = (char *)dcgettext(0,"First operand to .%s not a register",5);" statement_identifier : (expression_statement "pcVar2 = (char *)dcgettext(0,"First operand to .%s not a register",5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,"First operand to .%s not a register",5)" identifier = (cast_expression "(char *)dcgettext(0,"First operand to .%s not a register",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"First operand to .%s not a register",5)" identifier (argument_list "(0,"First operand to .%s not a register",5)" ( number_literal , (string_literal ""First operand to .%s not a register"" " string_content ") , number_literal ))))) ;)) (expression_statement "as_bad(pcVar2,directive);" (call_expression "as_bad(pcVar2,directive)" identifier (argument_list "(pcVar2,directive)" ( identifier , identifier ))) ;) (expression_statement "e1.X_add_number._0_4_ = 0x252;" (assignment_expression "e1.X_add_number._0_4_ = 0x252" (field_expression "e1.X_add_number._0_4_" (field_expression "e1.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (e2._16_1_ != '\x02') goto LAB_0004a00a;" if (parenthesized_expression "(e2._16_1_ != '\x02')" ( (binary_expression "e2._16_1_ != '\x02'" (field_expression "e2._16_1_" identifier . field_identifier) != (char_literal "'\x02'" ' escape_sequence ')) )) (goto_statement "goto LAB_0004a00a;" goto statement_identifier ;)) }))) (expression_statement "puVar3 = alloc_record(preds_when);" (assignment_expression "puVar3 = alloc_record(preds_when)" identifier = (call_expression "alloc_record(preds_when)" identifier (argument_list "(preds_when)" ( identifier )))) ;) (expression_statement "add_unwind_entry(puVar3,iVar1);" (call_expression "add_unwind_entry(puVar3,iVar1)" identifier (argument_list "(puVar3,iVar1)" ( identifier , identifier ))) ;) (expression_statement "pcVar4 = output_preds_psprel;" (assignment_expression "pcVar4 = output_preds_psprel" identifier = identifier) ;) (expression_statement "pcVar5 = output_preds_sprel;" (assignment_expression "pcVar5 = output_preds_sprel" identifier = identifier) ;) (labeled_statement "LAB_0004a08e:\n  if (psprel == 0) {\n    pcVar4 = pcVar5;\n  }" statement_identifier : (if_statement "if (psprel == 0) {\n    pcVar4 = pcVar5;\n  }" if (parenthesized_expression "(psprel == 0)" ( (binary_expression "psprel == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar4 = pcVar5;\n  }" { (expression_statement "pcVar4 = pcVar5;" (assignment_expression "pcVar4 = pcVar5" identifier = identifier) ;) }))) (expression_statement "puVar3 = (unw_rec_list *)(*pcVar4)(uVar6);" (assignment_expression "puVar3 = (unw_rec_list *)(*pcVar4)(uVar6)" identifier = (cast_expression "(unw_rec_list *)(*pcVar4)(uVar6)" ( (type_descriptor "unw_rec_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar4)(uVar6)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(uVar6)" ( identifier ))))) ;) (expression_statement "add_unwind_entry(puVar3,0x100);" (call_expression "add_unwind_entry(puVar3,0x100)" identifier (argument_list "(puVar3,0x100)" ( identifier , number_literal ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00049f60(int param_1)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  code *pcVar4;\n  code *pcVar5;\n  char *pcVar6;\n  undefined1 local_44 [8];\n  int local_3c;\n  char local_34;\n  undefined1 local_30 [8];\n  undefined4 local_28;\n  char local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x49f69;\n  pcVar6 = "savepsp";\n  if (param_1 == 0) {\n    pcVar6 = "savesp";\n  }\n  iVar1 = FUN_00049f00();\n  if (iVar1 == 0) {\n    return;\n  }\n  iVar1 = FUN_00040d30();\n  FUN_0001eec0(local_44);\n  if (iVar1 == 0x2c) {\n    FUN_00040d30();\n    FUN_0001eec0(local_30);\n    uVar3 = local_28;\n    if (local_34 != '\x05') goto LAB_00049fdb;\n    if (local_20 != '\x02') goto LAB_0004a00a;\nLAB_0004a033:\n    if (local_3c == 0x128) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x129) {\n      if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c == 0x248) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041840;\n      pcVar4 = FUN_00041860;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x249) {\n      if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c != 0x252) {\n      if (local_3c != 0x263) goto LAB_0004a280;\n      FUN_00041760();\n      FUN_00041030();\n      pcVar4 = FUN_000417e0;\n      pcVar5 = FUN_000417c0;\n      goto LAB_0004a08e;\n    }\n  }\n  else {\n    local_20 = '\x01';\n    uVar3 = local_28;\n    if (local_34 == '\x05') {\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    uVar2 = dcgettext(0,"First operand to .%s not a register",5);\n    FUN_00029550(uVar2,pcVar6);\n    local_3c = 0x252;\n    if (local_20 != '\x02') goto LAB_0004a00a;\n  }\n  FUN_00041760();\n  FUN_00041030();\n  pcVar4 = FUN_00041820;\n  pcVar5 = FUN_00041800;\nLAB_0004a08e:\n  if (param_1 == 0) {\n    pcVar4 = pcVar5;\n  }\n  (*pcVar4)(uVar3);\n  FUN_00041030();\n  return;\n}\n\n" (function_definition "void FUN_00049f60(int param_1)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  code *pcVar4;\n  code *pcVar5;\n  char *pcVar6;\n  undefined1 local_44 [8];\n  int local_3c;\n  char local_34;\n  undefined1 local_30 [8];\n  undefined4 local_28;\n  char local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x49f69;\n  pcVar6 = "savepsp";\n  if (param_1 == 0) {\n    pcVar6 = "savesp";\n  }\n  iVar1 = FUN_00049f00();\n  if (iVar1 == 0) {\n    return;\n  }\n  iVar1 = FUN_00040d30();\n  FUN_0001eec0(local_44);\n  if (iVar1 == 0x2c) {\n    FUN_00040d30();\n    FUN_0001eec0(local_30);\n    uVar3 = local_28;\n    if (local_34 != '\x05') goto LAB_00049fdb;\n    if (local_20 != '\x02') goto LAB_0004a00a;\nLAB_0004a033:\n    if (local_3c == 0x128) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x129) {\n      if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c == 0x248) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041840;\n      pcVar4 = FUN_00041860;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x249) {\n      if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c != 0x252) {\n      if (local_3c != 0x263) goto LAB_0004a280;\n      FUN_00041760();\n      FUN_00041030();\n      pcVar4 = FUN_000417e0;\n      pcVar5 = FUN_000417c0;\n      goto LAB_0004a08e;\n    }\n  }\n  else {\n    local_20 = '\x01';\n    uVar3 = local_28;\n    if (local_34 == '\x05') {\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    uVar2 = dcgettext(0,"First operand to .%s not a register",5);\n    FUN_00029550(uVar2,pcVar6);\n    local_3c = 0x252;\n    if (local_20 != '\x02') goto LAB_0004a00a;\n  }\n  FUN_00041760();\n  FUN_00041030();\n  pcVar4 = FUN_00041820;\n  pcVar5 = FUN_00041800;\nLAB_0004a08e:\n  if (param_1 == 0) {\n    pcVar4 = pcVar5;\n  }\n  (*pcVar4)(uVar3);\n  FUN_00041030();\n  return;\n}" primitive_type (function_declarator "FUN_00049f60(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  code *pcVar4;\n  code *pcVar5;\n  char *pcVar6;\n  undefined1 local_44 [8];\n  int local_3c;\n  char local_34;\n  undefined1 local_30 [8];\n  undefined4 local_28;\n  char local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x49f69;\n  pcVar6 = "savepsp";\n  if (param_1 == 0) {\n    pcVar6 = "savesp";\n  }\n  iVar1 = FUN_00049f00();\n  if (iVar1 == 0) {\n    return;\n  }\n  iVar1 = FUN_00040d30();\n  FUN_0001eec0(local_44);\n  if (iVar1 == 0x2c) {\n    FUN_00040d30();\n    FUN_0001eec0(local_30);\n    uVar3 = local_28;\n    if (local_34 != '\x05') goto LAB_00049fdb;\n    if (local_20 != '\x02') goto LAB_0004a00a;\nLAB_0004a033:\n    if (local_3c == 0x128) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x129) {\n      if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c == 0x248) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041840;\n      pcVar4 = FUN_00041860;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x249) {\n      if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c != 0x252) {\n      if (local_3c != 0x263) goto LAB_0004a280;\n      FUN_00041760();\n      FUN_00041030();\n      pcVar4 = FUN_000417e0;\n      pcVar5 = FUN_000417c0;\n      goto LAB_0004a08e;\n    }\n  }\n  else {\n    local_20 = '\x01';\n    uVar3 = local_28;\n    if (local_34 == '\x05') {\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    uVar2 = dcgettext(0,"First operand to .%s not a register",5);\n    FUN_00029550(uVar2,pcVar6);\n    local_3c = 0x252;\n    if (local_20 != '\x02') goto LAB_0004a00a;\n  }\n  FUN_00041760();\n  FUN_00041030();\n  pcVar4 = FUN_00041820;\n  pcVar5 = FUN_00041800;\nLAB_0004a08e:\n  if (param_1 == 0) {\n    pcVar4 = pcVar5;\n  }\n  (*pcVar4)(uVar3);\n  FUN_00041030();\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "code *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "undefined1 local_44 [8];" type_identifier (array_declarator "local_44 [8]" identifier [ number_literal ]) ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "char local_34;" primitive_type identifier ;) (declaration "undefined1 local_30 [8];" type_identifier (array_declarator "local_30 [8]" identifier [ number_literal ]) ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "char local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x49f69;" (assignment_expression "uStack_14 = 0x49f69" identifier = number_literal) ;) (expression_statement "pcVar6 = "savepsp";" (assignment_expression "pcVar6 = "savepsp"" identifier = (string_literal ""savepsp"" " string_content ")) ;) (if_statement "if (param_1 == 0) {\n    pcVar6 = "savesp";\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar6 = "savesp";\n  }" { (expression_statement "pcVar6 = "savesp";" (assignment_expression "pcVar6 = "savesp"" identifier = (string_literal ""savesp"" " string_content ")) ;) })) (expression_statement "iVar1 = FUN_00049f00();" (assignment_expression "iVar1 = FUN_00049f00()" identifier = (call_expression "FUN_00049f00()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar1 == 0) {\n    return;\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "iVar1 = FUN_00040d30();" (assignment_expression "iVar1 = FUN_00040d30()" identifier = (call_expression "FUN_00040d30()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0001eec0(local_44);" (call_expression "FUN_0001eec0(local_44)" identifier (argument_list "(local_44)" ( identifier ))) ;) (if_statement "if (iVar1 == 0x2c) {\n    FUN_00040d30();\n    FUN_0001eec0(local_30);\n    uVar3 = local_28;\n    if (local_34 != '\x05') goto LAB_00049fdb;\n    if (local_20 != '\x02') goto LAB_0004a00a;\nLAB_0004a033:\n    if (local_3c == 0x128) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x129) {\n      if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c == 0x248) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041840;\n      pcVar4 = FUN_00041860;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x249) {\n      if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c != 0x252) {\n      if (local_3c != 0x263) goto LAB_0004a280;\n      FUN_00041760();\n      FUN_00041030();\n      pcVar4 = FUN_000417e0;\n      pcVar5 = FUN_000417c0;\n      goto LAB_0004a08e;\n    }\n  }\n  else {\n    local_20 = '\x01';\n    uVar3 = local_28;\n    if (local_34 == '\x05') {\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    uVar2 = dcgettext(0,"First operand to .%s not a register",5);\n    FUN_00029550(uVar2,pcVar6);\n    local_3c = 0x252;\n    if (local_20 != '\x02') goto LAB_0004a00a;\n  }" if (parenthesized_expression "(iVar1 == 0x2c)" ( (binary_expression "iVar1 == 0x2c" identifier == number_literal) )) (compound_statement "{\n    FUN_00040d30();\n    FUN_0001eec0(local_30);\n    uVar3 = local_28;\n    if (local_34 != '\x05') goto LAB_00049fdb;\n    if (local_20 != '\x02') goto LAB_0004a00a;\nLAB_0004a033:\n    if (local_3c == 0x128) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x129) {\n      if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c == 0x248) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041840;\n      pcVar4 = FUN_00041860;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x249) {\n      if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c != 0x252) {\n      if (local_3c != 0x263) goto LAB_0004a280;\n      FUN_00041760();\n      FUN_00041030();\n      pcVar4 = FUN_000417e0;\n      pcVar5 = FUN_000417c0;\n      goto LAB_0004a08e;\n    }\n  }" { (expression_statement "FUN_00040d30();" (call_expression "FUN_00040d30()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001eec0(local_30);" (call_expression "FUN_0001eec0(local_30)" identifier (argument_list "(local_30)" ( identifier ))) ;) (expression_statement "uVar3 = local_28;" (assignment_expression "uVar3 = local_28" identifier = identifier) ;) (if_statement "if (local_34 != '\x05') goto LAB_00049fdb;" if (parenthesized_expression "(local_34 != '\x05')" ( (binary_expression "local_34 != '\x05'" identifier != (char_literal "'\x05'" ' escape_sequence ')) )) (goto_statement "goto LAB_00049fdb;" goto statement_identifier ;)) (if_statement "if (local_20 != '\x02') goto LAB_0004a00a;" if (parenthesized_expression "(local_20 != '\x02')" ( (binary_expression "local_20 != '\x02'" identifier != (char_literal "'\x02'" ' escape_sequence ')) )) (goto_statement "goto LAB_0004a00a;" goto statement_identifier ;)) (labeled_statement "LAB_0004a033:\n    if (local_3c == 0x128) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }" statement_identifier : (if_statement "if (local_3c == 0x128) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }" if (parenthesized_expression "(local_3c == 0x128)" ( (binary_expression "local_3c == 0x128" identifier == number_literal) )) (compound_statement "{\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }" { (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar5 = FUN_00041900;" (assignment_expression "pcVar5 = FUN_00041900" identifier = identifier) ;) (expression_statement "pcVar4 = FUN_00041920;" (assignment_expression "pcVar4 = FUN_00041920" identifier = identifier) ;) (goto_statement "goto LAB_0004a08e;" goto statement_identifier ;) }))) (if_statement "if (local_3c < 0x129) {\n      if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }\n      goto LAB_0004a08e;\n    }" if (parenthesized_expression "(local_3c < 0x129)" ( (binary_expression "local_3c < 0x129" identifier < number_literal) )) (compound_statement "{\n      if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }\n      goto LAB_0004a08e;\n    }" { (if_statement "if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }" if (parenthesized_expression "(local_3c == 0x112)" ( (binary_expression "local_3c == 0x112" identifier == number_literal) )) (compound_statement "{\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }" { (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar4 = FUN_000419e0;" (assignment_expression "pcVar4 = FUN_000419e0" identifier = identifier) ;) (expression_statement "pcVar5 = FUN_000419c0;" (assignment_expression "pcVar5 = FUN_000419c0" identifier = identifier) ;) }) (else_clause "else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }" else (if_statement "if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }" if (parenthesized_expression "(local_3c < 0x113)" ( (binary_expression "local_3c < 0x113" identifier < number_literal) )) (compound_statement "{\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }" { (if_statement "if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }" if (parenthesized_expression "(local_3c != 0x111)" ( (binary_expression "local_3c != 0x111" identifier != number_literal) )) (compound_statement "{\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }" { (labeled_statement "LAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);" statement_identifier : (expression_statement "uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);" (assignment_expression "uVar3 = dcgettext(0,"First operand to .%s not a valid register",5)" identifier = (call_expression "dcgettext(0,"First operand to .%s not a valid register",5)" identifier (argument_list "(0,"First operand to .%s not a valid register",5)" ( number_literal , (string_literal ""First operand to .%s not a valid register"" " string_content ") , number_literal )))) ;)) (expression_statement "FUN_00029550(uVar3,pcVar6);" (call_expression "FUN_00029550(uVar3,pcVar6)" identifier (argument_list "(uVar3,pcVar6)" ( identifier , identifier ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar4 = FUN_00041a20;" (assignment_expression "pcVar4 = FUN_00041a20" identifier = identifier) ;) (expression_statement "pcVar5 = FUN_00041a00;" (assignment_expression "pcVar5 = FUN_00041a00" identifier = identifier) ;) }) (else_clause "else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }" else (if_statement "if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }" if (parenthesized_expression "(local_3c == 0x113)" ( (binary_expression "local_3c == 0x113" identifier == number_literal) )) (compound_statement "{\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }" { (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar5 = FUN_00041980;" (assignment_expression "pcVar5 = FUN_00041980" identifier = identifier) ;) (expression_statement "pcVar4 = FUN_000419a0;" (assignment_expression "pcVar4 = FUN_000419a0" identifier = identifier) ;) }) (else_clause "else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }" else (compound_statement "{\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }" { (if_statement "if (local_3c != 0x124) goto LAB_0004a280;" if (parenthesized_expression "(local_3c != 0x124)" ( (binary_expression "local_3c != 0x124" identifier != number_literal) )) (goto_statement "goto LAB_0004a280;" goto statement_identifier ;)) (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar5 = FUN_00041940;" (assignment_expression "pcVar5 = FUN_00041940" identifier = identifier) ;) (expression_statement "pcVar4 = FUN_00041960;" (assignment_expression "pcVar4 = FUN_00041960" identifier = identifier) ;) }))))))) (goto_statement "goto LAB_0004a08e;" goto statement_identifier ;) })) (if_statement "if (local_3c == 0x248) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041840;\n      pcVar4 = FUN_00041860;\n      goto LAB_0004a08e;\n    }" if (parenthesized_expression "(local_3c == 0x248)" ( (binary_expression "local_3c == 0x248" identifier == number_literal) )) (compound_statement "{\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041840;\n      pcVar4 = FUN_00041860;\n      goto LAB_0004a08e;\n    }" { (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar5 = FUN_00041840;" (assignment_expression "pcVar5 = FUN_00041840" identifier = identifier) ;) (expression_statement "pcVar4 = FUN_00041860;" (assignment_expression "pcVar4 = FUN_00041860" identifier = identifier) ;) (goto_statement "goto LAB_0004a08e;" goto statement_identifier ;) })) (if_statement "if (local_3c < 0x249) {\n      if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }\n      goto LAB_0004a08e;\n    }" if (parenthesized_expression "(local_3c < 0x249)" ( (binary_expression "local_3c < 0x249" identifier < number_literal) )) (compound_statement "{\n      if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }\n      goto LAB_0004a08e;\n    }" { (if_statement "if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }" if (parenthesized_expression "(local_3c == 0x140)" ( (binary_expression "local_3c == 0x140" identifier == number_literal) )) (compound_statement "{\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }" { (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar5 = FUN_000418c0;" (assignment_expression "pcVar5 = FUN_000418c0" identifier = identifier) ;) (expression_statement "pcVar4 = FUN_000418e0;" (assignment_expression "pcVar4 = FUN_000418e0" identifier = identifier) ;) }) (else_clause "else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }" else (compound_statement "{\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }" { (if_statement "if (local_3c != 0x141) goto LAB_0004a280;" if (parenthesized_expression "(local_3c != 0x141)" ( (binary_expression "local_3c != 0x141" identifier != number_literal) )) (goto_statement "goto LAB_0004a280;" goto statement_identifier ;)) (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar5 = FUN_00041880;" (assignment_expression "pcVar5 = FUN_00041880" identifier = identifier) ;) (expression_statement "pcVar4 = FUN_000418a0;" (assignment_expression "pcVar4 = FUN_000418a0" identifier = identifier) ;) }))) (goto_statement "goto LAB_0004a08e;" goto statement_identifier ;) })) (if_statement "if (local_3c != 0x252) {\n      if (local_3c != 0x263) goto LAB_0004a280;\n      FUN_00041760();\n      FUN_00041030();\n      pcVar4 = FUN_000417e0;\n      pcVar5 = FUN_000417c0;\n      goto LAB_0004a08e;\n    }" if (parenthesized_expression "(local_3c != 0x252)" ( (binary_expression "local_3c != 0x252" identifier != number_literal) )) (compound_statement "{\n      if (local_3c != 0x263) goto LAB_0004a280;\n      FUN_00041760();\n      FUN_00041030();\n      pcVar4 = FUN_000417e0;\n      pcVar5 = FUN_000417c0;\n      goto LAB_0004a08e;\n    }" { (if_statement "if (local_3c != 0x263) goto LAB_0004a280;" if (parenthesized_expression "(local_3c != 0x263)" ( (binary_expression "local_3c != 0x263" identifier != number_literal) )) (goto_statement "goto LAB_0004a280;" goto statement_identifier ;)) (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar4 = FUN_000417e0;" (assignment_expression "pcVar4 = FUN_000417e0" identifier = identifier) ;) (expression_statement "pcVar5 = FUN_000417c0;" (assignment_expression "pcVar5 = FUN_000417c0" identifier = identifier) ;) (goto_statement "goto LAB_0004a08e;" goto statement_identifier ;) })) }) (else_clause "else {\n    local_20 = '\x01';\n    uVar3 = local_28;\n    if (local_34 == '\x05') {\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    uVar2 = dcgettext(0,"First operand to .%s not a register",5);\n    FUN_00029550(uVar2,pcVar6);\n    local_3c = 0x252;\n    if (local_20 != '\x02') goto LAB_0004a00a;\n  }" else (compound_statement "{\n    local_20 = '\x01';\n    uVar3 = local_28;\n    if (local_34 == '\x05') {\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    uVar2 = dcgettext(0,"First operand to .%s not a register",5);\n    FUN_00029550(uVar2,pcVar6);\n    local_3c = 0x252;\n    if (local_20 != '\x02') goto LAB_0004a00a;\n  }" { (expression_statement "local_20 = '\x01';" (assignment_expression "local_20 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "uVar3 = local_28;" (assignment_expression "uVar3 = local_28" identifier = identifier) ;) (if_statement "if (local_34 == '\x05') {\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }" if (parenthesized_expression "(local_34 == '\x05')" ( (binary_expression "local_34 == '\x05'" identifier == (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }" { (labeled_statement "LAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);" statement_identifier : (expression_statement "uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);" (assignment_expression "uVar3 = dcgettext(0,"Second operand to .%s not a constant",5)" identifier = (call_expression "dcgettext(0,"Second operand to .%s not a constant",5)" identifier (argument_list "(0,"Second operand to .%s not a constant",5)" ( number_literal , (string_literal ""Second operand to .%s not a constant"" " string_content ") , number_literal )))) ;)) (expression_statement "FUN_00029550(uVar3,pcVar6);" (call_expression "FUN_00029550(uVar3,pcVar6)" identifier (argument_list "(uVar3,pcVar6)" ( identifier , identifier ))) ;) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0004a033;" goto statement_identifier ;) })) (labeled_statement "LAB_00049fdb:\n    uVar2 = dcgettext(0,"First operand to .%s not a register",5);" statement_identifier : (expression_statement "uVar2 = dcgettext(0,"First operand to .%s not a register",5);" (assignment_expression "uVar2 = dcgettext(0,"First operand to .%s not a register",5)" identifier = (call_expression "dcgettext(0,"First operand to .%s not a register",5)" identifier (argument_list "(0,"First operand to .%s not a register",5)" ( number_literal , (string_literal ""First operand to .%s not a register"" " string_content ") , number_literal )))) ;)) (expression_statement "FUN_00029550(uVar2,pcVar6);" (call_expression "FUN_00029550(uVar2,pcVar6)" identifier (argument_list "(uVar2,pcVar6)" ( identifier , identifier ))) ;) (expression_statement "local_3c = 0x252;" (assignment_expression "local_3c = 0x252" identifier = number_literal) ;) (if_statement "if (local_20 != '\x02') goto LAB_0004a00a;" if (parenthesized_expression "(local_20 != '\x02')" ( (binary_expression "local_20 != '\x02'" identifier != (char_literal "'\x02'" ' escape_sequence ')) )) (goto_statement "goto LAB_0004a00a;" goto statement_identifier ;)) }))) (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar4 = FUN_00041820;" (assignment_expression "pcVar4 = FUN_00041820" identifier = identifier) ;) (expression_statement "pcVar5 = FUN_00041800;" (assignment_expression "pcVar5 = FUN_00041800" identifier = identifier) ;) (labeled_statement "LAB_0004a08e:\n  if (param_1 == 0) {\n    pcVar4 = pcVar5;\n  }" statement_identifier : (if_statement "if (param_1 == 0) {\n    pcVar4 = pcVar5;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar4 = pcVar5;\n  }" { (expression_statement "pcVar4 = pcVar5;" (assignment_expression "pcVar4 = pcVar5" identifier = identifier) ;) }))) (expression_statement "(*pcVar4)(uVar3);" (call_expression "(*pcVar4)(uVar3)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))))))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void FUN_00049f60(int param_1)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  code *pcVar4;\n  code *pcVar5;\n  char *pcVar6;\n  undefined1 local_44 [8];\n  int local_3c;\n  char local_34;\n  undefined1 local_30 [8];\n  undefined4 local_28;\n  char local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x49f69;\n  pcVar6 = "savepsp";\n  if (param_1 == 0) {\n    pcVar6 = "savesp";\n  }\n  iVar1 = FUN_00049f00();\n  if (iVar1 == 0) {\n    return;\n  }\n  iVar1 = FUN_00040d30();\n  FUN_0001eec0(local_44);\n  if (iVar1 == 0x2c) {\n    FUN_00040d30();\n    FUN_0001eec0(local_30);\n    uVar3 = local_28;\n    if (local_34 != '\x05') goto LAB_00049fdb;\n    if (local_20 != '\x02') goto LAB_0004a00a;\nLAB_0004a033:\n    if (local_3c == 0x128) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x129) {\n      if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c == 0x248) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041840;\n      pcVar4 = FUN_00041860;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x249) {\n      if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c != 0x252) {\n      if (local_3c != 0x263) goto LAB_0004a280;\n      FUN_00041760();\n      FUN_00041030();\n      pcVar4 = FUN_000417e0;\n      pcVar5 = FUN_000417c0;\n      goto LAB_0004a08e;\n    }\n  }\n  else {\n    local_20 = '\x01';\n    uVar3 = local_28;\n    if (local_34 == '\x05') {\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    uVar2 = dcgettext(0,"First operand to .%s not a register",5);\n    FUN_00029550(uVar2,pcVar6);\n    local_3c = 0x252;\n    if (local_20 != '\x02') goto LAB_0004a00a;\n  }\n  FUN_00041760();\n  FUN_00041030();\n  pcVar4 = FUN_00041820;\n  pcVar5 = FUN_00041800;\nLAB_0004a08e:\n  if (param_1 == 0) {\n    pcVar4 = pcVar5;\n  }\n  (*pcVar4)(uVar3);\n  FUN_00041030();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00049f60(int param_1)" (identifier "FUN_00049f60") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  code *pcVar4;\n  code *pcVar5;\n  char *pcVar6;\n  undefined1 local_44 [8];\n  int local_3c;\n  char local_34;\n  undefined1 local_30 [8];\n  undefined4 local_28;\n  char local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x49f69;\n  pcVar6 = "savepsp";\n  if (param_1 == 0) {\n    pcVar6 = "savesp";\n  }\n  iVar1 = FUN_00049f00();\n  if (iVar1 == 0) {\n    return;\n  }\n  iVar1 = FUN_00040d30();\n  FUN_0001eec0(local_44);\n  if (iVar1 == 0x2c) {\n    FUN_00040d30();\n    FUN_0001eec0(local_30);\n    uVar3 = local_28;\n    if (local_34 != '\x05') goto LAB_00049fdb;\n    if (local_20 != '\x02') goto LAB_0004a00a;\nLAB_0004a033:\n    if (local_3c == 0x128) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x129) {\n      if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c == 0x248) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041840;\n      pcVar4 = FUN_00041860;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x249) {\n      if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c != 0x252) {\n      if (local_3c != 0x263) goto LAB_0004a280;\n      FUN_00041760();\n      FUN_00041030();\n      pcVar4 = FUN_000417e0;\n      pcVar5 = FUN_000417c0;\n      goto LAB_0004a08e;\n    }\n  }\n  else {\n    local_20 = '\x01';\n    uVar3 = local_28;\n    if (local_34 == '\x05') {\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    uVar2 = dcgettext(0,"First operand to .%s not a register",5);\n    FUN_00029550(uVar2,pcVar6);\n    local_3c = 0x252;\n    if (local_20 != '\x02') goto LAB_0004a00a;\n  }\n  FUN_00041760();\n  FUN_00041030();\n  pcVar4 = FUN_00041820;\n  pcVar5 = FUN_00041800;\nLAB_0004a08e:\n  if (param_1 == 0) {\n    pcVar4 = pcVar5;\n  }\n  (*pcVar4)(uVar3);\n  FUN_00041030();\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "code *pcVar4;" (type_identifier "code") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "code *pcVar5;" (type_identifier "code") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "char *pcVar6;" (primitive_type "char") (pointer_declarator "*pcVar6" (* "*") (identifier "pcVar6")) (; ";")) (declaration "undefined1 local_44 [8];" (type_identifier "undefined1") (array_declarator "local_44 [8]" (identifier "local_44") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (declaration "char local_34;" (primitive_type "char") (identifier "local_34") (; ";")) (declaration "undefined1 local_30 [8];" (type_identifier "undefined1") (array_declarator "local_30 [8]" (identifier "local_30") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (declaration "char local_20;" (primitive_type "char") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x49f69;" (assignment_expression "uStack_14 = 0x49f69" (identifier "uStack_14") (= "=") (number_literal "0x49f69")) (; ";")) (expression_statement "pcVar6 = "savepsp";" (assignment_expression "pcVar6 = "savepsp"" (identifier "pcVar6") (= "=") (string_literal ""savepsp"" (" """) (string_content "savepsp") (" """))) (; ";")) (if_statement "if (param_1 == 0) {\n    pcVar6 = "savesp";\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pcVar6 = "savesp";\n  }" ({ "{") (expression_statement "pcVar6 = "savesp";" (assignment_expression "pcVar6 = "savesp"" (identifier "pcVar6") (= "=") (string_literal ""savesp"" (" """) (string_content "savesp") (" """))) (; ";")) (} "}"))) (expression_statement "iVar1 = FUN_00049f00();" (assignment_expression "iVar1 = FUN_00049f00()" (identifier "iVar1") (= "=") (call_expression "FUN_00049f00()" (identifier "FUN_00049f00") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n    return;\n  }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar1 = FUN_00040d30();" (assignment_expression "iVar1 = FUN_00040d30()" (identifier "iVar1") (= "=") (call_expression "FUN_00040d30()" (identifier "FUN_00040d30") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_0001eec0(local_44);" (call_expression "FUN_0001eec0(local_44)" (identifier "FUN_0001eec0") (argument_list "(local_44)" (( "(") (identifier "local_44") () ")"))) (; ";")) (if_statement "if (iVar1 == 0x2c) {\n    FUN_00040d30();\n    FUN_0001eec0(local_30);\n    uVar3 = local_28;\n    if (local_34 != '\x05') goto LAB_00049fdb;\n    if (local_20 != '\x02') goto LAB_0004a00a;\nLAB_0004a033:\n    if (local_3c == 0x128) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x129) {\n      if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c == 0x248) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041840;\n      pcVar4 = FUN_00041860;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x249) {\n      if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c != 0x252) {\n      if (local_3c != 0x263) goto LAB_0004a280;\n      FUN_00041760();\n      FUN_00041030();\n      pcVar4 = FUN_000417e0;\n      pcVar5 = FUN_000417c0;\n      goto LAB_0004a08e;\n    }\n  }\n  else {\n    local_20 = '\x01';\n    uVar3 = local_28;\n    if (local_34 == '\x05') {\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    uVar2 = dcgettext(0,"First operand to .%s not a register",5);\n    FUN_00029550(uVar2,pcVar6);\n    local_3c = 0x252;\n    if (local_20 != '\x02') goto LAB_0004a00a;\n  }" (if "if") (parenthesized_expression "(iVar1 == 0x2c)" (( "(") (binary_expression "iVar1 == 0x2c" (identifier "iVar1") (== "==") (number_literal "0x2c")) () ")")) (compound_statement "{\n    FUN_00040d30();\n    FUN_0001eec0(local_30);\n    uVar3 = local_28;\n    if (local_34 != '\x05') goto LAB_00049fdb;\n    if (local_20 != '\x02') goto LAB_0004a00a;\nLAB_0004a033:\n    if (local_3c == 0x128) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x129) {\n      if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c == 0x248) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041840;\n      pcVar4 = FUN_00041860;\n      goto LAB_0004a08e;\n    }\n    if (local_3c < 0x249) {\n      if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }\n      goto LAB_0004a08e;\n    }\n    if (local_3c != 0x252) {\n      if (local_3c != 0x263) goto LAB_0004a280;\n      FUN_00041760();\n      FUN_00041030();\n      pcVar4 = FUN_000417e0;\n      pcVar5 = FUN_000417c0;\n      goto LAB_0004a08e;\n    }\n  }" ({ "{") (expression_statement "FUN_00040d30();" (call_expression "FUN_00040d30()" (identifier "FUN_00040d30") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001eec0(local_30);" (call_expression "FUN_0001eec0(local_30)" (identifier "FUN_0001eec0") (argument_list "(local_30)" (( "(") (identifier "local_30") () ")"))) (; ";")) (expression_statement "uVar3 = local_28;" (assignment_expression "uVar3 = local_28" (identifier "uVar3") (= "=") (identifier "local_28")) (; ";")) (if_statement "if (local_34 != '\x05') goto LAB_00049fdb;" (if "if") (parenthesized_expression "(local_34 != '\x05')" (( "(") (binary_expression "local_34 != '\x05'" (identifier "local_34") (!= "!=") (char_literal "'\x05'" (' "'") (escape_sequence "\x05") (' "'"))) () ")")) (goto_statement "goto LAB_00049fdb;" (goto "goto") (statement_identifier "LAB_00049fdb") (; ";"))) (if_statement "if (local_20 != '\x02') goto LAB_0004a00a;" (if "if") (parenthesized_expression "(local_20 != '\x02')" (( "(") (binary_expression "local_20 != '\x02'" (identifier "local_20") (!= "!=") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (goto_statement "goto LAB_0004a00a;" (goto "goto") (statement_identifier "LAB_0004a00a") (; ";"))) (labeled_statement "LAB_0004a033:\n    if (local_3c == 0x128) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }" (statement_identifier "LAB_0004a033") (: ":") (if_statement "if (local_3c == 0x128) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }" (if "if") (parenthesized_expression "(local_3c == 0x128)" (( "(") (binary_expression "local_3c == 0x128" (identifier "local_3c") (== "==") (number_literal "0x128")) () ")")) (compound_statement "{\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041900;\n      pcVar4 = FUN_00041920;\n      goto LAB_0004a08e;\n    }" ({ "{") (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" (identifier "FUN_00041760") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" (identifier "FUN_00041030") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar5 = FUN_00041900;" (assignment_expression "pcVar5 = FUN_00041900" (identifier "pcVar5") (= "=") (identifier "FUN_00041900")) (; ";")) (expression_statement "pcVar4 = FUN_00041920;" (assignment_expression "pcVar4 = FUN_00041920" (identifier "pcVar4") (= "=") (identifier "FUN_00041920")) (; ";")) (goto_statement "goto LAB_0004a08e;" (goto "goto") (statement_identifier "LAB_0004a08e") (; ";")) (} "}")))) (if_statement "if (local_3c < 0x129) {\n      if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }\n      goto LAB_0004a08e;\n    }" (if "if") (parenthesized_expression "(local_3c < 0x129)" (( "(") (binary_expression "local_3c < 0x129" (identifier "local_3c") (< "<") (number_literal "0x129")) () ")")) (compound_statement "{\n      if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }\n      goto LAB_0004a08e;\n    }" ({ "{") (if_statement "if (local_3c == 0x112) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }\n      else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }" (if "if") (parenthesized_expression "(local_3c == 0x112)" (( "(") (binary_expression "local_3c == 0x112" (identifier "local_3c") (== "==") (number_literal "0x112")) () ")")) (compound_statement "{\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_000419e0;\n        pcVar5 = FUN_000419c0;\n      }" ({ "{") (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" (identifier "FUN_00041760") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" (identifier "FUN_00041030") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar4 = FUN_000419e0;" (assignment_expression "pcVar4 = FUN_000419e0" (identifier "pcVar4") (= "=") (identifier "FUN_000419e0")) (; ";")) (expression_statement "pcVar5 = FUN_000419c0;" (assignment_expression "pcVar5 = FUN_000419c0" (identifier "pcVar5") (= "=") (identifier "FUN_000419c0")) (; ";")) (} "}")) (else_clause "else if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }" (else "else") (if_statement "if (local_3c < 0x113) {\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }\n      else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }" (if "if") (parenthesized_expression "(local_3c < 0x113)" (( "(") (binary_expression "local_3c < 0x113" (identifier "local_3c") (< "<") (number_literal "0x113")) () ")")) (compound_statement "{\n        if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }\n        FUN_00041760();\n        FUN_00041030();\n        pcVar4 = FUN_00041a20;\n        pcVar5 = FUN_00041a00;\n      }" ({ "{") (if_statement "if (local_3c != 0x111) {\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }" (if "if") (parenthesized_expression "(local_3c != 0x111)" (( "(") (binary_expression "local_3c != 0x111" (identifier "local_3c") (!= "!=") (number_literal "0x111")) () ")")) (compound_statement "{\nLAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);\n          FUN_00029550(uVar3,pcVar6);\n          FUN_00041030();\n          return;\n        }" ({ "{") (labeled_statement "LAB_0004a280:\n          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);" (statement_identifier "LAB_0004a280") (: ":") (expression_statement "uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);" (assignment_expression "uVar3 = dcgettext(0,"First operand to .%s not a valid register",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"First operand to .%s not a valid register",5)" (identifier "dcgettext") (argument_list "(0,"First operand to .%s not a valid register",5)" (( "(") (number_literal "0") (, ",") (string_literal ""First operand to .%s not a valid register"" (" """) (string_content "First operand to .%s not a valid register") (" """)) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "FUN_00029550(uVar3,pcVar6);" (call_expression "FUN_00029550(uVar3,pcVar6)" (identifier "FUN_00029550") (argument_list "(uVar3,pcVar6)" (( "(") (identifier "uVar3") (, ",") (identifier "pcVar6") () ")"))) (; ";")) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" (identifier "FUN_00041030") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" (identifier "FUN_00041760") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" (identifier "FUN_00041030") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar4 = FUN_00041a20;" (assignment_expression "pcVar4 = FUN_00041a20" (identifier "pcVar4") (= "=") (identifier "FUN_00041a20")) (; ";")) (expression_statement "pcVar5 = FUN_00041a00;" (assignment_expression "pcVar5 = FUN_00041a00" (identifier "pcVar5") (= "=") (identifier "FUN_00041a00")) (; ";")) (} "}")) (else_clause "else if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }" (else "else") (if_statement "if (local_3c == 0x113) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }\n      else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }" (if "if") (parenthesized_expression "(local_3c == 0x113)" (( "(") (binary_expression "local_3c == 0x113" (identifier "local_3c") (== "==") (number_literal "0x113")) () ")")) (compound_statement "{\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041980;\n        pcVar4 = FUN_000419a0;\n      }" ({ "{") (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" (identifier "FUN_00041760") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" (identifier "FUN_00041030") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar5 = FUN_00041980;" (assignment_expression "pcVar5 = FUN_00041980" (identifier "pcVar5") (= "=") (identifier "FUN_00041980")) (; ";")) (expression_statement "pcVar4 = FUN_000419a0;" (assignment_expression "pcVar4 = FUN_000419a0" (identifier "pcVar4") (= "=") (identifier "FUN_000419a0")) (; ";")) (} "}")) (else_clause "else {\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }" (else "else") (compound_statement "{\n        if (local_3c != 0x124) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041940;\n        pcVar4 = FUN_00041960;\n      }" ({ "{") (if_statement "if (local_3c != 0x124) goto LAB_0004a280;" (if "if") (parenthesized_expression "(local_3c != 0x124)" (( "(") (binary_expression "local_3c != 0x124" (identifier "local_3c") (!= "!=") (number_literal "0x124")) () ")")) (goto_statement "goto LAB_0004a280;" (goto "goto") (statement_identifier "LAB_0004a280") (; ";"))) (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" (identifier "FUN_00041760") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" (identifier "FUN_00041030") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar5 = FUN_00041940;" (assignment_expression "pcVar5 = FUN_00041940" (identifier "pcVar5") (= "=") (identifier "FUN_00041940")) (; ";")) (expression_statement "pcVar4 = FUN_00041960;" (assignment_expression "pcVar4 = FUN_00041960" (identifier "pcVar4") (= "=") (identifier "FUN_00041960")) (; ";")) (} "}")))))))) (goto_statement "goto LAB_0004a08e;" (goto "goto") (statement_identifier "LAB_0004a08e") (; ";")) (} "}"))) (if_statement "if (local_3c == 0x248) {\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041840;\n      pcVar4 = FUN_00041860;\n      goto LAB_0004a08e;\n    }" (if "if") (parenthesized_expression "(local_3c == 0x248)" (( "(") (binary_expression "local_3c == 0x248" (identifier "local_3c") (== "==") (number_literal "0x248")) () ")")) (compound_statement "{\n      FUN_00041760();\n      FUN_00041030();\n      pcVar5 = FUN_00041840;\n      pcVar4 = FUN_00041860;\n      goto LAB_0004a08e;\n    }" ({ "{") (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" (identifier "FUN_00041760") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" (identifier "FUN_00041030") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar5 = FUN_00041840;" (assignment_expression "pcVar5 = FUN_00041840" (identifier "pcVar5") (= "=") (identifier "FUN_00041840")) (; ";")) (expression_statement "pcVar4 = FUN_00041860;" (assignment_expression "pcVar4 = FUN_00041860" (identifier "pcVar4") (= "=") (identifier "FUN_00041860")) (; ";")) (goto_statement "goto LAB_0004a08e;" (goto "goto") (statement_identifier "LAB_0004a08e") (; ";")) (} "}"))) (if_statement "if (local_3c < 0x249) {\n      if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }\n      goto LAB_0004a08e;\n    }" (if "if") (parenthesized_expression "(local_3c < 0x249)" (( "(") (binary_expression "local_3c < 0x249" (identifier "local_3c") (< "<") (number_literal "0x249")) () ")")) (compound_statement "{\n      if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }\n      goto LAB_0004a08e;\n    }" ({ "{") (if_statement "if (local_3c == 0x140) {\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }\n      else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }" (if "if") (parenthesized_expression "(local_3c == 0x140)" (( "(") (binary_expression "local_3c == 0x140" (identifier "local_3c") (== "==") (number_literal "0x140")) () ")")) (compound_statement "{\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_000418c0;\n        pcVar4 = FUN_000418e0;\n      }" ({ "{") (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" (identifier "FUN_00041760") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" (identifier "FUN_00041030") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar5 = FUN_000418c0;" (assignment_expression "pcVar5 = FUN_000418c0" (identifier "pcVar5") (= "=") (identifier "FUN_000418c0")) (; ";")) (expression_statement "pcVar4 = FUN_000418e0;" (assignment_expression "pcVar4 = FUN_000418e0" (identifier "pcVar4") (= "=") (identifier "FUN_000418e0")) (; ";")) (} "}")) (else_clause "else {\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }" (else "else") (compound_statement "{\n        if (local_3c != 0x141) goto LAB_0004a280;\n        FUN_00041760();\n        FUN_00041030();\n        pcVar5 = FUN_00041880;\n        pcVar4 = FUN_000418a0;\n      }" ({ "{") (if_statement "if (local_3c != 0x141) goto LAB_0004a280;" (if "if") (parenthesized_expression "(local_3c != 0x141)" (( "(") (binary_expression "local_3c != 0x141" (identifier "local_3c") (!= "!=") (number_literal "0x141")) () ")")) (goto_statement "goto LAB_0004a280;" (goto "goto") (statement_identifier "LAB_0004a280") (; ";"))) (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" (identifier "FUN_00041760") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" (identifier "FUN_00041030") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar5 = FUN_00041880;" (assignment_expression "pcVar5 = FUN_00041880" (identifier "pcVar5") (= "=") (identifier "FUN_00041880")) (; ";")) (expression_statement "pcVar4 = FUN_000418a0;" (assignment_expression "pcVar4 = FUN_000418a0" (identifier "pcVar4") (= "=") (identifier "FUN_000418a0")) (; ";")) (} "}")))) (goto_statement "goto LAB_0004a08e;" (goto "goto") (statement_identifier "LAB_0004a08e") (; ";")) (} "}"))) (if_statement "if (local_3c != 0x252) {\n      if (local_3c != 0x263) goto LAB_0004a280;\n      FUN_00041760();\n      FUN_00041030();\n      pcVar4 = FUN_000417e0;\n      pcVar5 = FUN_000417c0;\n      goto LAB_0004a08e;\n    }" (if "if") (parenthesized_expression "(local_3c != 0x252)" (( "(") (binary_expression "local_3c != 0x252" (identifier "local_3c") (!= "!=") (number_literal "0x252")) () ")")) (compound_statement "{\n      if (local_3c != 0x263) goto LAB_0004a280;\n      FUN_00041760();\n      FUN_00041030();\n      pcVar4 = FUN_000417e0;\n      pcVar5 = FUN_000417c0;\n      goto LAB_0004a08e;\n    }" ({ "{") (if_statement "if (local_3c != 0x263) goto LAB_0004a280;" (if "if") (parenthesized_expression "(local_3c != 0x263)" (( "(") (binary_expression "local_3c != 0x263" (identifier "local_3c") (!= "!=") (number_literal "0x263")) () ")")) (goto_statement "goto LAB_0004a280;" (goto "goto") (statement_identifier "LAB_0004a280") (; ";"))) (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" (identifier "FUN_00041760") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" (identifier "FUN_00041030") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar4 = FUN_000417e0;" (assignment_expression "pcVar4 = FUN_000417e0" (identifier "pcVar4") (= "=") (identifier "FUN_000417e0")) (; ";")) (expression_statement "pcVar5 = FUN_000417c0;" (assignment_expression "pcVar5 = FUN_000417c0" (identifier "pcVar5") (= "=") (identifier "FUN_000417c0")) (; ";")) (goto_statement "goto LAB_0004a08e;" (goto "goto") (statement_identifier "LAB_0004a08e") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    local_20 = '\x01';\n    uVar3 = local_28;\n    if (local_34 == '\x05') {\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    uVar2 = dcgettext(0,"First operand to .%s not a register",5);\n    FUN_00029550(uVar2,pcVar6);\n    local_3c = 0x252;\n    if (local_20 != '\x02') goto LAB_0004a00a;\n  }" (else "else") (compound_statement "{\n    local_20 = '\x01';\n    uVar3 = local_28;\n    if (local_34 == '\x05') {\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }\nLAB_00049fdb:\n    uVar2 = dcgettext(0,"First operand to .%s not a register",5);\n    FUN_00029550(uVar2,pcVar6);\n    local_3c = 0x252;\n    if (local_20 != '\x02') goto LAB_0004a00a;\n  }" ({ "{") (expression_statement "local_20 = '\x01';" (assignment_expression "local_20 = '\x01'" (identifier "local_20") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "uVar3 = local_28;" (assignment_expression "uVar3 = local_28" (identifier "uVar3") (= "=") (identifier "local_28")) (; ";")) (if_statement "if (local_34 == '\x05') {\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }" (if "if") (parenthesized_expression "(local_34 == '\x05')" (( "(") (binary_expression "local_34 == '\x05'" (identifier "local_34") (== "==") (char_literal "'\x05'" (' "'") (escape_sequence "\x05") (' "'"))) () ")")) (compound_statement "{\nLAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);\n      FUN_00029550(uVar3,pcVar6);\n      uVar3 = 0;\n      goto LAB_0004a033;\n    }" ({ "{") (labeled_statement "LAB_0004a00a:\n      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);" (statement_identifier "LAB_0004a00a") (: ":") (expression_statement "uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);" (assignment_expression "uVar3 = dcgettext(0,"Second operand to .%s not a constant",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"Second operand to .%s not a constant",5)" (identifier "dcgettext") (argument_list "(0,"Second operand to .%s not a constant",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Second operand to .%s not a constant"" (" """) (string_content "Second operand to .%s not a constant") (" """)) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "FUN_00029550(uVar3,pcVar6);" (call_expression "FUN_00029550(uVar3,pcVar6)" (identifier "FUN_00029550") (argument_list "(uVar3,pcVar6)" (( "(") (identifier "uVar3") (, ",") (identifier "pcVar6") () ")"))) (; ";")) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" (identifier "uVar3") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0004a033;" (goto "goto") (statement_identifier "LAB_0004a033") (; ";")) (} "}"))) (labeled_statement "LAB_00049fdb:\n    uVar2 = dcgettext(0,"First operand to .%s not a register",5);" (statement_identifier "LAB_00049fdb") (: ":") (expression_statement "uVar2 = dcgettext(0,"First operand to .%s not a register",5);" (assignment_expression "uVar2 = dcgettext(0,"First operand to .%s not a register",5)" (identifier "uVar2") (= "=") (call_expression "dcgettext(0,"First operand to .%s not a register",5)" (identifier "dcgettext") (argument_list "(0,"First operand to .%s not a register",5)" (( "(") (number_literal "0") (, ",") (string_literal ""First operand to .%s not a register"" (" """) (string_content "First operand to .%s not a register") (" """)) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "FUN_00029550(uVar2,pcVar6);" (call_expression "FUN_00029550(uVar2,pcVar6)" (identifier "FUN_00029550") (argument_list "(uVar2,pcVar6)" (( "(") (identifier "uVar2") (, ",") (identifier "pcVar6") () ")"))) (; ";")) (expression_statement "local_3c = 0x252;" (assignment_expression "local_3c = 0x252" (identifier "local_3c") (= "=") (number_literal "0x252")) (; ";")) (if_statement "if (local_20 != '\x02') goto LAB_0004a00a;" (if "if") (parenthesized_expression "(local_20 != '\x02')" (( "(") (binary_expression "local_20 != '\x02'" (identifier "local_20") (!= "!=") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (goto_statement "goto LAB_0004a00a;" (goto "goto") (statement_identifier "LAB_0004a00a") (; ";"))) (} "}")))) (expression_statement "FUN_00041760();" (call_expression "FUN_00041760()" (identifier "FUN_00041760") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" (identifier "FUN_00041030") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar4 = FUN_00041820;" (assignment_expression "pcVar4 = FUN_00041820" (identifier "pcVar4") (= "=") (identifier "FUN_00041820")) (; ";")) (expression_statement "pcVar5 = FUN_00041800;" (assignment_expression "pcVar5 = FUN_00041800" (identifier "pcVar5") (= "=") (identifier "FUN_00041800")) (; ";")) (labeled_statement "LAB_0004a08e:\n  if (param_1 == 0) {\n    pcVar4 = pcVar5;\n  }" (statement_identifier "LAB_0004a08e") (: ":") (if_statement "if (param_1 == 0) {\n    pcVar4 = pcVar5;\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pcVar4 = pcVar5;\n  }" ({ "{") (expression_statement "pcVar4 = pcVar5;" (assignment_expression "pcVar4 = pcVar5" (identifier "pcVar4") (= "=") (identifier "pcVar5")) (; ";")) (} "}")))) (expression_statement "(*pcVar4)(uVar3);" (call_expression "(*pcVar4)(uVar3)" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "FUN_00041030();" (call_expression "FUN_00041030()" (identifier "FUN_00041030") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void function_1(int var_1)

{
  int var_3;
  char *pcVar2;
  type_1 *puVar3;
  type_2 *pcVar4;
  type_2 *pcVar5;
  type_3 uVar6;
  char *directive;
  type_4 e1;
  type_4 e2;
  
  directive = "savepsp";
  if (var_1 == 0) {
    directive = "savesp";
  }
  var_3 = var_2(directive);
  if (var_3 == 0) {
    return;
  }
  var_3 = var_4(&e1,0x2c);
  var_5(&e1);
  if (var_3 == 0x2c) {
    var_3 = var_4(&e2,0x2c);
    var_5(&e2);
    uVar6 = (type_3)e2.X_add_number;
    if (e1._16_1_ != '\x05') goto LAB_00049fdb;
    if (e2._16_1_ != '\x02') goto LAB_0004a00a;
LAB_0004a033:
    if ((int)e1.X_add_number == 0x128) {
      puVar3 = var_6(fpsr_when);
      var_7(puVar3,var_3);
      pcVar5 = output_fpsr_sprel;
      pcVar4 = output_fpsr_psprel;
      goto LAB_0004a08e;
    }
    if ((int)e1.X_add_number < 0x129) {
      if ((int)e1.X_add_number == 0x112) {
        puVar3 = var_6(bspstore_when);
        var_7(puVar3,var_3);
        pcVar4 = output_bspstore_psprel;
        pcVar5 = output_bspstore_sprel;
      }
      else if ((int)e1.X_add_number < 0x113) {
        if ((int)e1.X_add_number != 0x111) {
LAB_0004a280:
          pcVar2 = (char *)var_8(0,"First operand to .%s not a valid register",5);
          var_9(pcVar2,directive);
          var_7((type_1 *)0x0,var_3);
          return;
        }
        puVar3 = var_6(bsp_when);
        var_7(puVar3,var_3);
        pcVar4 = output_bsp_psprel;
        pcVar5 = output_bsp_sprel;
      }
      else if ((int)e1.X_add_number == 0x113) {
        puVar3 = var_6(rnat_when);
        var_7(puVar3,var_3);
        pcVar5 = output_rnat_sprel;
        pcVar4 = output_rnat_psprel;
      }
      else {
        if ((int)e1.X_add_number != 0x124) goto LAB_0004a280;
        puVar3 = var_6(unat_when);
        var_7(puVar3,var_3);
        pcVar5 = output_unat_sprel;
        pcVar4 = output_unat_psprel;
      }
      goto LAB_0004a08e;
    }
    if ((int)e1.X_add_number == 0x248) {
      puVar3 = var_6(rp_when);
      var_7(puVar3,var_3);
      pcVar5 = output_rp_sprel;
      pcVar4 = output_rp_psprel;
      goto LAB_0004a08e;
    }
    if ((int)e1.X_add_number < 0x249) {
      if ((int)e1.X_add_number == 0x140) {
        puVar3 = var_6(pfs_when);
        var_7(puVar3,var_3);
        pcVar5 = output_pfs_sprel;
        pcVar4 = output_pfs_psprel;
      }
      else {
        if ((int)e1.X_add_number != 0x141) goto LAB_0004a280;
        puVar3 = var_6(lc_when);
        var_7(puVar3,var_3);
        pcVar5 = output_lc_sprel;
        pcVar4 = output_lc_psprel;
      }
      goto LAB_0004a08e;
    }
    if ((int)e1.X_add_number != 0x252) {
      if ((int)e1.X_add_number != 0x263) goto LAB_0004a280;
      puVar3 = var_6(priunat_when_mem);
      var_7(puVar3,var_3);
      pcVar4 = output_priunat_psprel;
      pcVar5 = output_priunat_sprel;
      goto LAB_0004a08e;
    }
  }
  else {
    e2._16_1_ = 1;
    uVar6 = (type_3)e2.X_add_number;
    if (e1._16_1_ == '\x05') {
LAB_0004a00a:
      pcVar2 = (char *)var_8(0,"Second operand to .%s not a constant",5);
      var_9(pcVar2,directive);
      uVar6 = 0;
      goto LAB_0004a033;
    }
LAB_00049fdb:
    pcVar2 = (char *)var_8(0,"First operand to .%s not a register",5);
    var_9(pcVar2,directive);
    e1.X_add_number._0_4_ = 0x252;
    if (e2._16_1_ != '\x02') goto LAB_0004a00a;
  }
  puVar3 = var_6(preds_when);
  var_7(puVar3,var_3);
  pcVar4 = output_preds_psprel;
  pcVar5 = output_preds_sprel;
LAB_0004a08e:
  if (var_1 == 0) {
    pcVar4 = pcVar5;
  }
  puVar3 = (type_1 *)(*pcVar4)(uVar6);
  var_7(puVar3,0x100);
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))))

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

void MASKED(int param_1)

{
  int iVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  code *pcVar4;
  code *pcVar5;
  char *pcVar6;
  undefined1 local_44 [8];
  int local_3c;
  char local_34;
  undefined1 local_30 [8];
  undefined4 local_28;
  char local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x49f69;
  pcVar6 = "savepsp";
  if (param_1 == 0) {
    pcVar6 = "savesp";
  }
  iVar1 = FUN_00049f00();
  if (iVar1 == 0) {
    return;
  }
  iVar1 = FUN_00040d30();
  FUN_0001eec0(local_44);
  if (iVar1 == 0x2c) {
    FUN_00040d30();
    FUN_0001eec0(local_30);
    uVar3 = local_28;
    if (local_34 != '\x05') goto LAB_00049fdb;
    if (local_20 != '\x02') goto LAB_0004a00a;
LAB_0004a033:
    if (local_3c == 0x128) {
      FUN_00041760();
      FUN_00041030();
      pcVar5 = FUN_00041900;
      pcVar4 = FUN_00041920;
      goto LAB_0004a08e;
    }
    if (local_3c < 0x129) {
      if (local_3c == 0x112) {
        FUN_00041760();
        FUN_00041030();
        pcVar4 = FUN_000419e0;
        pcVar5 = FUN_000419c0;
      }
      else if (local_3c < 0x113) {
        if (local_3c != 0x111) {
LAB_0004a280:
          uVar3 = dcgettext(0,"First operand to .%s not a valid register",5);
          FUN_00029550(uVar3,pcVar6);
          FUN_00041030();
          return;
        }
        FUN_00041760();
        FUN_00041030();
        pcVar4 = FUN_00041a20;
        pcVar5 = FUN_00041a00;
      }
      else if (local_3c == 0x113) {
        FUN_00041760();
        FUN_00041030();
        pcVar5 = FUN_00041980;
        pcVar4 = FUN_000419a0;
      }
      else {
        if (local_3c != 0x124) goto LAB_0004a280;
        FUN_00041760();
        FUN_00041030();
        pcVar5 = FUN_00041940;
        pcVar4 = FUN_00041960;
      }
      goto LAB_0004a08e;
    }
    if (local_3c == 0x248) {
      FUN_00041760();
      FUN_00041030();
      pcVar5 = FUN_00041840;
      pcVar4 = FUN_00041860;
      goto LAB_0004a08e;
    }
    if (local_3c < 0x249) {
      if (local_3c == 0x140) {
        FUN_00041760();
        FUN_00041030();
        pcVar5 = FUN_000418c0;
        pcVar4 = FUN_000418e0;
      }
      else {
        if (local_3c != 0x141) goto LAB_0004a280;
        FUN_00041760();
        FUN_00041030();
        pcVar5 = FUN_00041880;
        pcVar4 = FUN_000418a0;
      }
      goto LAB_0004a08e;
    }
    if (local_3c != 0x252) {
      if (local_3c != 0x263) goto LAB_0004a280;
      FUN_00041760();
      FUN_00041030();
      pcVar4 = FUN_000417e0;
      pcVar5 = FUN_000417c0;
      goto LAB_0004a08e;
    }
  }
  else {
    local_20 = '\x01';
    uVar3 = local_28;
    if (local_34 == '\x05') {
LAB_0004a00a:
      uVar3 = dcgettext(0,"Second operand to .%s not a constant",5);
      FUN_00029550(uVar3,pcVar6);
      uVar3 = 0;
      goto LAB_0004a033;
    }
LAB_00049fdb:
    uVar2 = dcgettext(0,"First operand to .%s not a register",5);
    FUN_00029550(uVar2,pcVar6);
    local_3c = 0x252;
    if (local_20 != '\x02') goto LAB_0004a00a;
  }
  FUN_00041760();
  FUN_00041030();
  pcVar4 = FUN_00041820;
  pcVar5 = FUN_00041800;
LAB_0004a08e:
  if (param_1 == 0) {
    pcVar4 = pcVar5;
  }
  (*pcVar4)(uVar3);
  FUN_00041030();
  return;
}

