
void emit_loadstore(expressionS *tok,int ntok,void *opname)

{
  long lVar1;
  long lVar2;
  char *format;
  alpha_insn *in_RCX;
  alpha_insn *insn_00;
  int basereg;
  expressionS newtok [3];
  alpha_insn insn;
  
  if (ntok == 2) {
    basereg = 0x1f;
    if (tok[1].field_0x18 != '\x02') {
      basereg = alpha_gp_register;
    }
  }
  else {
    basereg = (int)tok[2].X_add_number;
  }
  if ((tok[1].field_0x18 == '\x02') && ((tok[1].X_add_number >> 0xf) + 1U < 2)) {
    newtok[1].X_add_symbol = tok[1].X_add_symbol;
    newtok[1].X_op_symbol = tok[1].X_op_symbol;
    newtok[0].X_add_symbol = tok->X_add_symbol;
    newtok[0].X_op_symbol = tok->X_op_symbol;
    newtok[1].X_add_number = tok[1].X_add_number;
    newtok[1]._24_2_ = *(undefined2 *)&tok[1].field_0x18;
    newtok[1].X_md = tok[1].X_md;
    newtok[1]._28_4_ = *(undefined4 *)&tok[1].field_0x1c;
    newtok[0].X_add_number = tok->X_add_number;
    newtok[0]._24_2_ = *(undefined2 *)&tok->field_0x18;
    newtok[0].X_md = tok->X_md;
    newtok[0]._28_4_ = *(undefined4 *)&tok->field_0x1c;
    newtok[2].X_add_symbol = (symbolS *)0x0;
    newtok[2].X_op_symbol = (symbolS *)0x0;
    newtok[2]._24_1_ = 0x1e;
    newtok[2].X_add_number = (long)basereg;
    newtok[2]._25_7_ = 0;
    assemble_tokens_to_insn((char *)opname,newtok,(int)&insn,in_RCX);
  }
  else {
    if (alpha_noat_on != 0) {
      format = (char *)dcgettext(0,"macro requires $at register while noat in effect",5);
      as_bad(format);
    }
    insn_00 = (alpha_insn *)(newtok + 1);
    lVar1 = load_expression(0x1c,tok + 1,&basereg,(expressionS *)insn_00,(char *)opname);
    newtok[0].X_add_symbol = tok->X_add_symbol;
    newtok[0].X_op_symbol = tok->X_op_symbol;
    newtok[0].X_add_number = tok->X_add_number;
    newtok[0]._24_2_ = *(undefined2 *)&tok->field_0x18;
    newtok[0].X_md = tok->X_md;
    newtok[0]._28_4_ = *(undefined4 *)&tok->field_0x1c;
    newtok[2].X_add_symbol = (symbolS *)0x0;
    newtok[2].X_op_symbol = (symbolS *)0x0;
    newtok[2]._24_1_ = 0x1e;
    newtok[2].X_add_number = (long)basereg;
    newtok[2]._25_7_ = 0;
    assemble_tokens_to_insn((char *)opname,newtok,(int)&insn,insn_00);
    if (lVar1 != 0) {
      if (1 < insn.nfixups) {
                    /* WARNING: Subroutine does not return */
        as_abort("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");
      }
      lVar2 = (long)insn.nfixups;
      insn.nfixups = insn.nfixups + 1;
      insn.sequence = lVar1;
      insn.fixups[lVar2].reloc = 0x8d0;
      insn.fixups[lVar2].exp.field_0x18 = 1;
    }
  }
  emit_insn(&insn);
  return;
}



void FUN_0013b3c0(undefined8 *param_1,int param_2,undefined8 param_3)

{
  long lVar1;
  long lVar2;
  undefined8 uVar3;
  int local_ec;
  undefined8 local_e8;
  undefined8 uStack_e0;
  undefined8 local_d8;
  undefined8 uStack_d0;
  undefined8 local_c8;
  undefined8 uStack_c0;
  undefined8 local_b8;
  undefined8 uStack_b0;
  undefined1 local_a8 [16];
  undefined1 local_98 [16];
  undefined1 local_88 [4];
  int local_84;
  undefined1 auStack_68 [8];
  undefined4 auStack_60 [12];
  long local_30;
  
  if (param_2 == 2) {
    local_ec = 0x1f;
    if (*(char *)(param_1 + 7) != '\x02') {
      local_ec = DAT_001647a0;
    }
  }
  else {
    local_ec = (int)param_1[10];
  }
  if ((*(char *)(param_1 + 7) == '\x02') && (((long)param_1[6] >> 0xf) + 1U < 2)) {
    local_c8 = param_1[4];
    uStack_c0 = param_1[5];
    local_e8 = *param_1;
    uStack_e0 = param_1[1];
    local_b8 = param_1[6];
    uStack_b0 = param_1[7];
    local_d8 = param_1[2];
    uStack_d0 = param_1[3];
    local_a8 = (undefined1  [16])0x0;
    local_98[8] = 0x1e;
    local_98._0_8_ = (long)local_ec;
    local_98._9_7_ = 0;
    FUN_0013a660(param_3,&local_e8,local_88);
  }
  else {
    if (DAT_0016dd48 != 0) {
      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);
      FUN_00123bd0(uVar3);
    }
    lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3);
    local_e8 = *param_1;
    uStack_e0 = param_1[1];
    local_d8 = param_1[2];
    uStack_d0 = param_1[3];
    local_a8 = (undefined1  [16])0x0;
    local_98[8] = 0x1e;
    local_98._0_8_ = (long)local_ec;
    local_98._9_7_ = 0;
    FUN_0013a660(param_3,&local_e8,local_88);
    if (lVar1 != 0) {
      if (1 < local_84) {
                    /* WARNING: Subroutine does not return */
        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");
      }
      lVar2 = (long)local_84;
      local_84 = local_84 + 1;
      local_30 = lVar1;
      auStack_60[lVar2 * 10] = 0x8d0;
      auStack_68[lVar2 * 0x28] = 1;
    }
  }
  FUN_00138700(local_88);
  return;
}


PUSH R13
PUSH R12
MOV R12,RDX
PUSH RBP
PUSH RBX
MOV RBX,RDI
SUB RSP,0xd8
MOVZX EAX,byte ptr [RDI + 0x38]
CMP ESI,0x2
JZ 0x0013b4c0
MOV RDX,qword ptr [RDI + 0x50]
MOV dword ptr [RSP + 0xc],EDX
CMP AL,0x2
JZ 0x0013b4da
MOV EAX,dword ptr [0x0016dd48]
TEST EAX,EAX
JNZ 0x0013b550
LEA RSI,[RBX + 0x20]
LEA RDX,[RSP + 0xc]
MOV EDI,0x1c
MOV R8,R12
LEA RCX,[RSP + 0x30]
LEA RBP,[RSP + 0x10]
CALL 0x0013a750
MOVDQU XMM1,xmmword ptr [RBX]
PXOR XMM0,XMM0
MOV RSI,RBP
MOV R13,RAX
MOVDQU XMM2,xmmword ptr [RBX + 0x10]
MOVSXD RAX,dword ptr [RSP + 0xc]
MOV RDI,R12
LEA RBX,[RSP + 0x70]
MOVAPS xmmword ptr [RSP + 0x10],XMM1
MOV RDX,RBX
MOVAPS xmmword ptr [RSP + 0x20],XMM2
MOVAPS xmmword ptr [RSP + 0x50],XMM0
MOVAPS xmmword ptr [RBP + 0x50],XMM0
MOV byte ptr [RSP + 0x68],0x1e
MOV qword ptr [RSP + 0x60],RAX
CALL 0x0013a660
TEST R13,R13
JZ 0x0013b4a2
MOV EDX,dword ptr [RSP + 0x74]
CMP EDX,0x1
JG 0x0013b572
MOVSXD RAX,EDX
ADD EDX,0x1
MOV qword ptr [RSP + 0xc8],R13
LEA RCX,[RAX + RAX*0x4]
MOV dword ptr [RSP + 0x74],EDX
SHL RCX,0x3
MOV dword ptr [RSP + RCX*0x1 + 0x98],0x8d0
MOV byte ptr [RSP + RCX*0x1 + 0x90],0x1
MOV RDI,RBX
CALL 0x00138700
ADD RSP,0xd8
POP RBX
POP RBP
POP R12
POP R13
RET
CMP AL,0x2
MOV EDX,0x1f
CMOVNZ EDX,dword ptr [0x001647a0]
MOV dword ptr [RSP + 0xc],EDX
CMP AL,0x2
JNZ 0x0013b3f0
MOV RAX,qword ptr [RBX + 0x30]
SAR RAX,0xf
ADD RAX,0x1
CMP RAX,0x1
JA 0x0013b3f0
MOVDQU XMM3,xmmword ptr [RBX + 0x20]
MOVDQU XMM5,xmmword ptr [RBX]
PXOR XMM0,XMM0
MOV RDI,R12
MOVDQU XMM4,xmmword ptr [RBX + 0x30]
MOVDQU XMM6,xmmword ptr [RBX + 0x10]
LEA RSI,[RSP + 0x10]
LEA RBX,[RSP + 0x70]
MOVSXD RAX,dword ptr [RSP + 0xc]
MOVAPS xmmword ptr [RSP + 0x30],XMM3
MOV RDX,RBX
MOVAPS xmmword ptr [RSP + 0x40],XMM4
MOVAPS xmmword ptr [RSP + 0x10],XMM5
MOVAPS xmmword ptr [RSP + 0x20],XMM6
MOVAPS xmmword ptr [RSP + 0x50],XMM0
MOVAPS xmmword ptr [RSI + 0x50],XMM0
MOV byte ptr [RSP + 0x68],0x1e
MOV qword ptr [RSP + 0x60],RAX
CALL 0x0013a660
JMP 0x0013b4a2
XOR EDI,EDI
MOV EDX,0x5
LEA RSI,[0x14c928]
CALL 0x001091f0
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00123bd0
JMP 0x0013b3fe
LEA RDX,[0x14d200]
MOV ESI,0x8ca
LEA RDI,[0x14c132]
CALL 0x00123e60
(translation_unit "void FUN_0013b3c0(undefined8 *param_1,int param_2,undefined8 param_3)\n\n{\n  long lVar1;\n  long lVar2;\n  undefined8 uVar3;\n  int local_ec;\n  undefined8 local_e8;\n  undefined8 uStack_e0;\n  undefined8 local_d8;\n  undefined8 uStack_d0;\n  undefined8 local_c8;\n  undefined8 uStack_c0;\n  undefined8 local_b8;\n  undefined8 uStack_b0;\n  undefined1 local_a8 [16];\n  undefined1 local_98 [16];\n  undefined1 local_88 [4];\n  int local_84;\n  undefined1 auStack_68 [8];\n  undefined4 auStack_60 [12];\n  long local_30;\n  \n  if (param_2 == 2) {\n    local_ec = 0x1f;\n    if (*(char *)(param_1 + 7) != '\x02') {\n      local_ec = DAT_001647a0;\n    }\n  }\n  else {\n    local_ec = (int)param_1[10];\n  }\n  if ((*(char *)(param_1 + 7) == '\x02') && (((long)param_1[6] >> 0xf) + 1U < 2)) {\n    local_c8 = param_1[4];\n    uStack_c0 = param_1[5];\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_b8 = param_1[6];\n    uStack_b0 = param_1[7];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n  }\n  else {\n    if (DAT_0016dd48 != 0) {\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }\n    lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3);\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n    if (lVar1 != 0) {\n      if (1 < local_84) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }\n  }\n  FUN_00138700(local_88);\n  return;\n}\n\n" (function_definition "void FUN_0013b3c0(undefined8 *param_1,int param_2,undefined8 param_3)\n\n{\n  long lVar1;\n  long lVar2;\n  undefined8 uVar3;\n  int local_ec;\n  undefined8 local_e8;\n  undefined8 uStack_e0;\n  undefined8 local_d8;\n  undefined8 uStack_d0;\n  undefined8 local_c8;\n  undefined8 uStack_c0;\n  undefined8 local_b8;\n  undefined8 uStack_b0;\n  undefined1 local_a8 [16];\n  undefined1 local_98 [16];\n  undefined1 local_88 [4];\n  int local_84;\n  undefined1 auStack_68 [8];\n  undefined4 auStack_60 [12];\n  long local_30;\n  \n  if (param_2 == 2) {\n    local_ec = 0x1f;\n    if (*(char *)(param_1 + 7) != '\x02') {\n      local_ec = DAT_001647a0;\n    }\n  }\n  else {\n    local_ec = (int)param_1[10];\n  }\n  if ((*(char *)(param_1 + 7) == '\x02') && (((long)param_1[6] >> 0xf) + 1U < 2)) {\n    local_c8 = param_1[4];\n    uStack_c0 = param_1[5];\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_b8 = param_1[6];\n    uStack_b0 = param_1[7];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n  }\n  else {\n    if (DAT_0016dd48 != 0) {\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }\n    lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3);\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n    if (lVar1 != 0) {\n      if (1 < local_84) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }\n  }\n  FUN_00138700(local_88);\n  return;\n}" primitive_type (function_declarator "FUN_0013b3c0(undefined8 *param_1,int param_2,undefined8 param_3)" identifier (parameter_list "(undefined8 *param_1,int param_2,undefined8 param_3)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) ))) (compound_statement "{\n  long lVar1;\n  long lVar2;\n  undefined8 uVar3;\n  int local_ec;\n  undefined8 local_e8;\n  undefined8 uStack_e0;\n  undefined8 local_d8;\n  undefined8 uStack_d0;\n  undefined8 local_c8;\n  undefined8 uStack_c0;\n  undefined8 local_b8;\n  undefined8 uStack_b0;\n  undefined1 local_a8 [16];\n  undefined1 local_98 [16];\n  undefined1 local_88 [4];\n  int local_84;\n  undefined1 auStack_68 [8];\n  undefined4 auStack_60 [12];\n  long local_30;\n  \n  if (param_2 == 2) {\n    local_ec = 0x1f;\n    if (*(char *)(param_1 + 7) != '\x02') {\n      local_ec = DAT_001647a0;\n    }\n  }\n  else {\n    local_ec = (int)param_1[10];\n  }\n  if ((*(char *)(param_1 + 7) == '\x02') && (((long)param_1[6] >> 0xf) + 1U < 2)) {\n    local_c8 = param_1[4];\n    uStack_c0 = param_1[5];\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_b8 = param_1[6];\n    uStack_b0 = param_1[7];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n  }\n  else {\n    if (DAT_0016dd48 != 0) {\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }\n    lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3);\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n    if (lVar1 != 0) {\n      if (1 < local_84) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }\n  }\n  FUN_00138700(local_88);\n  return;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "int local_ec;" primitive_type identifier ;) (declaration "undefined8 local_e8;" type_identifier identifier ;) (declaration "undefined8 uStack_e0;" type_identifier identifier ;) (declaration "undefined8 local_d8;" type_identifier identifier ;) (declaration "undefined8 uStack_d0;" type_identifier identifier ;) (declaration "undefined8 local_c8;" type_identifier identifier ;) (declaration "undefined8 uStack_c0;" type_identifier identifier ;) (declaration "undefined8 local_b8;" type_identifier identifier ;) (declaration "undefined8 uStack_b0;" type_identifier identifier ;) (declaration "undefined1 local_a8 [16];" type_identifier (array_declarator "local_a8 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 local_98 [16];" type_identifier (array_declarator "local_98 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 local_88 [4];" type_identifier (array_declarator "local_88 [4]" identifier [ number_literal ]) ;) (declaration "int local_84;" primitive_type identifier ;) (declaration "undefined1 auStack_68 [8];" type_identifier (array_declarator "auStack_68 [8]" identifier [ number_literal ]) ;) (declaration "undefined4 auStack_60 [12];" type_identifier (array_declarator "auStack_60 [12]" identifier [ number_literal ]) ;) (declaration "long local_30;" (sized_type_specifier "long" long) identifier ;) (if_statement "if (param_2 == 2) {\n    local_ec = 0x1f;\n    if (*(char *)(param_1 + 7) != '\x02') {\n      local_ec = DAT_001647a0;\n    }\n  }\n  else {\n    local_ec = (int)param_1[10];\n  }" if (parenthesized_expression "(param_2 == 2)" ( (binary_expression "param_2 == 2" identifier == number_literal) )) (compound_statement "{\n    local_ec = 0x1f;\n    if (*(char *)(param_1 + 7) != '\x02') {\n      local_ec = DAT_001647a0;\n    }\n  }" { (expression_statement "local_ec = 0x1f;" (assignment_expression "local_ec = 0x1f" identifier = number_literal) ;) (if_statement "if (*(char *)(param_1 + 7) != '\x02') {\n      local_ec = DAT_001647a0;\n    }" if (parenthesized_expression "(*(char *)(param_1 + 7) != '\x02')" ( (binary_expression "*(char *)(param_1 + 7) != '\x02'" (pointer_expression "*(char *)(param_1 + 7)" * (cast_expression "(char *)(param_1 + 7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) != (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n      local_ec = DAT_001647a0;\n    }" { (expression_statement "local_ec = DAT_001647a0;" (assignment_expression "local_ec = DAT_001647a0" identifier = identifier) ;) })) }) (else_clause "else {\n    local_ec = (int)param_1[10];\n  }" else (compound_statement "{\n    local_ec = (int)param_1[10];\n  }" { (expression_statement "local_ec = (int)param_1[10];" (assignment_expression "local_ec = (int)param_1[10]" identifier = (cast_expression "(int)param_1[10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[10]" identifier [ number_literal ]))) ;) }))) (if_statement "if ((*(char *)(param_1 + 7) == '\x02') && (((long)param_1[6] >> 0xf) + 1U < 2)) {\n    local_c8 = param_1[4];\n    uStack_c0 = param_1[5];\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_b8 = param_1[6];\n    uStack_b0 = param_1[7];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n  }\n  else {\n    if (DAT_0016dd48 != 0) {\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }\n    lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3);\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n    if (lVar1 != 0) {\n      if (1 < local_84) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }\n  }" if (parenthesized_expression "((*(char *)(param_1 + 7) == '\x02') && (((long)param_1[6] >> 0xf) + 1U < 2))" ( (binary_expression "(*(char *)(param_1 + 7) == '\x02') && (((long)param_1[6] >> 0xf) + 1U < 2)" (parenthesized_expression "(*(char *)(param_1 + 7) == '\x02')" ( (binary_expression "*(char *)(param_1 + 7) == '\x02'" (pointer_expression "*(char *)(param_1 + 7)" * (cast_expression "(char *)(param_1 + 7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) == (char_literal "'\x02'" ' escape_sequence ')) )) && (parenthesized_expression "(((long)param_1[6] >> 0xf) + 1U < 2)" ( (binary_expression "((long)param_1[6] >> 0xf) + 1U < 2" (binary_expression "((long)param_1[6] >> 0xf) + 1U" (parenthesized_expression "((long)param_1[6] >> 0xf)" ( (binary_expression "(long)param_1[6] >> 0xf" (cast_expression "(long)param_1[6]" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (subscript_expression "param_1[6]" identifier [ number_literal ])) >> number_literal) )) + number_literal) < number_literal) ))) )) (compound_statement "{\n    local_c8 = param_1[4];\n    uStack_c0 = param_1[5];\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_b8 = param_1[6];\n    uStack_b0 = param_1[7];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n  }" { (expression_statement "local_c8 = param_1[4];" (assignment_expression "local_c8 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "uStack_c0 = param_1[5];" (assignment_expression "uStack_c0 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "local_e8 = *param_1;" (assignment_expression "local_e8 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uStack_e0 = param_1[1];" (assignment_expression "uStack_e0 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "local_b8 = param_1[6];" (assignment_expression "local_b8 = param_1[6]" identifier = (subscript_expression "param_1[6]" identifier [ number_literal ])) ;) (expression_statement "uStack_b0 = param_1[7];" (assignment_expression "uStack_b0 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "local_d8 = param_1[2];" (assignment_expression "local_d8 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uStack_d0 = param_1[3];" (assignment_expression "uStack_d0 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "local_a8 = (undefined1  [16])0x0;" (assignment_expression "local_a8 = (undefined1  [16])0x0" identifier = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "local_98[8] = 0x1e;" (assignment_expression "local_98[8] = 0x1e" (subscript_expression "local_98[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_98._0_8_ = (long)local_ec;" (assignment_expression "local_98._0_8_ = (long)local_ec" (field_expression "local_98._0_8_" identifier . field_identifier) = (cast_expression "(long)local_ec" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "local_98._9_7_ = 0;" (assignment_expression "local_98._9_7_ = 0" (field_expression "local_98._9_7_" identifier . field_identifier) = number_literal) ;) (expression_statement "FUN_0013a660(param_3,&local_e8,local_88);" (call_expression "FUN_0013a660(param_3,&local_e8,local_88)" identifier (argument_list "(param_3,&local_e8,local_88)" ( identifier , (pointer_expression "&local_e8" & identifier) , identifier ))) ;) }) (else_clause "else {\n    if (DAT_0016dd48 != 0) {\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }\n    lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3);\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n    if (lVar1 != 0) {\n      if (1 < local_84) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }\n  }" else (compound_statement "{\n    if (DAT_0016dd48 != 0) {\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }\n    lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3);\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n    if (lVar1 != 0) {\n      if (1 < local_84) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }\n  }" { (if_statement "if (DAT_0016dd48 != 0) {\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }" if (parenthesized_expression "(DAT_0016dd48 != 0)" ( (binary_expression "DAT_0016dd48 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }" { (expression_statement "uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);" (assignment_expression "uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5)" identifier = (call_expression "dcgettext(0,"macro requires $at register while noat in effect",5)" identifier (argument_list "(0,"macro requires $at register while noat in effect",5)" ( number_literal , (string_literal ""macro requires $at register while noat in effect"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00123bd0(uVar3);" (call_expression "FUN_00123bd0(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) })) (expression_statement "lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3);" (assignment_expression "lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3)" identifier = (call_expression "FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3)" identifier (argument_list "(0x1c,param_1 + 4,&local_ec,&local_c8,param_3)" ( number_literal , (binary_expression "param_1 + 4" identifier + number_literal) , (pointer_expression "&local_ec" & identifier) , (pointer_expression "&local_c8" & identifier) , identifier )))) ;) (expression_statement "local_e8 = *param_1;" (assignment_expression "local_e8 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uStack_e0 = param_1[1];" (assignment_expression "uStack_e0 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "local_d8 = param_1[2];" (assignment_expression "local_d8 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uStack_d0 = param_1[3];" (assignment_expression "uStack_d0 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "local_a8 = (undefined1  [16])0x0;" (assignment_expression "local_a8 = (undefined1  [16])0x0" identifier = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "local_98[8] = 0x1e;" (assignment_expression "local_98[8] = 0x1e" (subscript_expression "local_98[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_98._0_8_ = (long)local_ec;" (assignment_expression "local_98._0_8_ = (long)local_ec" (field_expression "local_98._0_8_" identifier . field_identifier) = (cast_expression "(long)local_ec" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "local_98._9_7_ = 0;" (assignment_expression "local_98._9_7_ = 0" (field_expression "local_98._9_7_" identifier . field_identifier) = number_literal) ;) (expression_statement "FUN_0013a660(param_3,&local_e8,local_88);" (call_expression "FUN_0013a660(param_3,&local_e8,local_88)" identifier (argument_list "(param_3,&local_e8,local_88)" ( identifier , (pointer_expression "&local_e8" & identifier) , identifier ))) ;) (if_statement "if (lVar1 != 0) {\n      if (1 < local_84) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }" if (parenthesized_expression "(lVar1 != 0)" ( (binary_expression "lVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      if (1 < local_84) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }" { (if_statement "if (1 < local_84) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }" if (parenthesized_expression "(1 < local_84)" ( (binary_expression "1 < local_84" number_literal < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }" { comment (expression_statement "FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");" (call_expression "FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore")" identifier (argument_list "("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore")" ( (string_literal ""../../gas/config/tc-alpha.c"" " string_content ") , number_literal , (string_literal ""emit_loadstore"" " string_content ") ))) ;) })) (expression_statement "lVar2 = (long)local_84;" (assignment_expression "lVar2 = (long)local_84" identifier = (cast_expression "(long)local_84" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "local_84 = local_84 + 1;" (assignment_expression "local_84 = local_84 + 1" identifier = (binary_expression "local_84 + 1" identifier + number_literal)) ;) (expression_statement "local_30 = lVar1;" (assignment_expression "local_30 = lVar1" identifier = identifier) ;) (expression_statement "auStack_60[lVar2 * 10] = 0x8d0;" (assignment_expression "auStack_60[lVar2 * 10] = 0x8d0" (subscript_expression "auStack_60[lVar2 * 10]" identifier [ (binary_expression "lVar2 * 10" identifier * number_literal) ]) = number_literal) ;) (expression_statement "auStack_68[lVar2 * 0x28] = 1;" (assignment_expression "auStack_68[lVar2 * 0x28] = 1" (subscript_expression "auStack_68[lVar2 * 0x28]" identifier [ (binary_expression "lVar2 * 0x28" identifier * number_literal) ]) = number_literal) ;) })) }))) (expression_statement "FUN_00138700(local_88);" (call_expression "FUN_00138700(local_88)" identifier (argument_list "(local_88)" ( identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void emit_loadstore(expressionS *tok,int ntok,void *opname)\n\n{\n  long lVar1;\n  long lVar2;\n  char *format;\n  alpha_insn *in_RCX;\n  alpha_insn *insn_00;\n  int basereg;\n  expressionS newtok [3];\n  alpha_insn insn;\n  \n  if (ntok == 2) {\n    basereg = 0x1f;\n    if (tok[1].field_0x18 != '\x02') {\n      basereg = alpha_gp_register;\n    }\n  }\n  else {\n    basereg = (int)tok[2].X_add_number;\n  }\n  if ((tok[1].field_0x18 == '\x02') && ((tok[1].X_add_number >> 0xf) + 1U < 2)) {\n    newtok[1].X_add_symbol = tok[1].X_add_symbol;\n    newtok[1].X_op_symbol = tok[1].X_op_symbol;\n    newtok[0].X_add_symbol = tok->X_add_symbol;\n    newtok[0].X_op_symbol = tok->X_op_symbol;\n    newtok[1].X_add_number = tok[1].X_add_number;\n    newtok[1]._24_2_ = *(undefined2 *)&tok[1].field_0x18;\n    newtok[1].X_md = tok[1].X_md;\n    newtok[1]._28_4_ = *(undefined4 *)&tok[1].field_0x1c;\n    newtok[0].X_add_number = tok->X_add_number;\n    newtok[0]._24_2_ = *(undefined2 *)&tok->field_0x18;\n    newtok[0].X_md = tok->X_md;\n    newtok[0]._28_4_ = *(undefined4 *)&tok->field_0x1c;\n    newtok[2].X_add_symbol = (symbolS *)0x0;\n    newtok[2].X_op_symbol = (symbolS *)0x0;\n    newtok[2]._24_1_ = 0x1e;\n    newtok[2].X_add_number = (long)basereg;\n    newtok[2]._25_7_ = 0;\n    assemble_tokens_to_insn((char *)opname,newtok,(int)&insn,in_RCX);\n  }\n  else {\n    if (alpha_noat_on != 0) {\n      format = (char *)dcgettext(0,"macro requires $at register while noat in effect",5);\n      as_bad(format);\n    }\n    insn_00 = (alpha_insn *)(newtok + 1);\n    lVar1 = load_expression(0x1c,tok + 1,&basereg,(expressionS *)insn_00,(char *)opname);\n    newtok[0].X_add_symbol = tok->X_add_symbol;\n    newtok[0].X_op_symbol = tok->X_op_symbol;\n    newtok[0].X_add_number = tok->X_add_number;\n    newtok[0]._24_2_ = *(undefined2 *)&tok->field_0x18;\n    newtok[0].X_md = tok->X_md;\n    newtok[0]._28_4_ = *(undefined4 *)&tok->field_0x1c;\n    newtok[2].X_add_symbol = (symbolS *)0x0;\n    newtok[2].X_op_symbol = (symbolS *)0x0;\n    newtok[2]._24_1_ = 0x1e;\n    newtok[2].X_add_number = (long)basereg;\n    newtok[2]._25_7_ = 0;\n    assemble_tokens_to_insn((char *)opname,newtok,(int)&insn,insn_00);\n    if (lVar1 != 0) {\n      if (1 < insn.nfixups) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)insn.nfixups;\n      insn.nfixups = insn.nfixups + 1;\n      insn.sequence = lVar1;\n      insn.fixups[lVar2].reloc = 0x8d0;\n      insn.fixups[lVar2].exp.field_0x18 = 1;\n    }\n  }\n  emit_insn(&insn);\n  return;\n}\n\n" (function_definition "void emit_loadstore(expressionS *tok,int ntok,void *opname)\n\n{\n  long lVar1;\n  long lVar2;\n  char *format;\n  alpha_insn *in_RCX;\n  alpha_insn *insn_00;\n  int basereg;\n  expressionS newtok [3];\n  alpha_insn insn;\n  \n  if (ntok == 2) {\n    basereg = 0x1f;\n    if (tok[1].field_0x18 != '\x02') {\n      basereg = alpha_gp_register;\n    }\n  }\n  else {\n    basereg = (int)tok[2].X_add_number;\n  }\n  if ((tok[1].field_0x18 == '\x02') && ((tok[1].X_add_number >> 0xf) + 1U < 2)) {\n    newtok[1].X_add_symbol = tok[1].X_add_symbol;\n    newtok[1].X_op_symbol = tok[1].X_op_symbol;\n    newtok[0].X_add_symbol = tok->X_add_symbol;\n    newtok[0].X_op_symbol = tok->X_op_symbol;\n    newtok[1].X_add_number = tok[1].X_add_number;\n    newtok[1]._24_2_ = *(undefined2 *)&tok[1].field_0x18;\n    newtok[1].X_md = tok[1].X_md;\n    newtok[1]._28_4_ = *(undefined4 *)&tok[1].field_0x1c;\n    newtok[0].X_add_number = tok->X_add_number;\n    newtok[0]._24_2_ = *(undefined2 *)&tok->field_0x18;\n    newtok[0].X_md = tok->X_md;\n    newtok[0]._28_4_ = *(undefined4 *)&tok->field_0x1c;\n    newtok[2].X_add_symbol = (symbolS *)0x0;\n    newtok[2].X_op_symbol = (symbolS *)0x0;\n    newtok[2]._24_1_ = 0x1e;\n    newtok[2].X_add_number = (long)basereg;\n    newtok[2]._25_7_ = 0;\n    assemble_tokens_to_insn((char *)opname,newtok,(int)&insn,in_RCX);\n  }\n  else {\n    if (alpha_noat_on != 0) {\n      format = (char *)dcgettext(0,"macro requires $at register while noat in effect",5);\n      as_bad(format);\n    }\n    insn_00 = (alpha_insn *)(newtok + 1);\n    lVar1 = load_expression(0x1c,tok + 1,&basereg,(expressionS *)insn_00,(char *)opname);\n    newtok[0].X_add_symbol = tok->X_add_symbol;\n    newtok[0].X_op_symbol = tok->X_op_symbol;\n    newtok[0].X_add_number = tok->X_add_number;\n    newtok[0]._24_2_ = *(undefined2 *)&tok->field_0x18;\n    newtok[0].X_md = tok->X_md;\n    newtok[0]._28_4_ = *(undefined4 *)&tok->field_0x1c;\n    newtok[2].X_add_symbol = (symbolS *)0x0;\n    newtok[2].X_op_symbol = (symbolS *)0x0;\n    newtok[2]._24_1_ = 0x1e;\n    newtok[2].X_add_number = (long)basereg;\n    newtok[2]._25_7_ = 0;\n    assemble_tokens_to_insn((char *)opname,newtok,(int)&insn,insn_00);\n    if (lVar1 != 0) {\n      if (1 < insn.nfixups) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)insn.nfixups;\n      insn.nfixups = insn.nfixups + 1;\n      insn.sequence = lVar1;\n      insn.fixups[lVar2].reloc = 0x8d0;\n      insn.fixups[lVar2].exp.field_0x18 = 1;\n    }\n  }\n  emit_insn(&insn);\n  return;\n}" primitive_type (function_declarator "emit_loadstore(expressionS *tok,int ntok,void *opname)" identifier (parameter_list "(expressionS *tok,int ntok,void *opname)" ( (parameter_declaration "expressionS *tok" type_identifier (pointer_declarator "*tok" * identifier)) , (parameter_declaration "int ntok" primitive_type identifier) , (parameter_declaration "void *opname" primitive_type (pointer_declarator "*opname" * identifier)) ))) (compound_statement "{\n  long lVar1;\n  long lVar2;\n  char *format;\n  alpha_insn *in_RCX;\n  alpha_insn *insn_00;\n  int basereg;\n  expressionS newtok [3];\n  alpha_insn insn;\n  \n  if (ntok == 2) {\n    basereg = 0x1f;\n    if (tok[1].field_0x18 != '\x02') {\n      basereg = alpha_gp_register;\n    }\n  }\n  else {\n    basereg = (int)tok[2].X_add_number;\n  }\n  if ((tok[1].field_0x18 == '\x02') && ((tok[1].X_add_number >> 0xf) + 1U < 2)) {\n    newtok[1].X_add_symbol = tok[1].X_add_symbol;\n    newtok[1].X_op_symbol = tok[1].X_op_symbol;\n    newtok[0].X_add_symbol = tok->X_add_symbol;\n    newtok[0].X_op_symbol = tok->X_op_symbol;\n    newtok[1].X_add_number = tok[1].X_add_number;\n    newtok[1]._24_2_ = *(undefined2 *)&tok[1].field_0x18;\n    newtok[1].X_md = tok[1].X_md;\n    newtok[1]._28_4_ = *(undefined4 *)&tok[1].field_0x1c;\n    newtok[0].X_add_number = tok->X_add_number;\n    newtok[0]._24_2_ = *(undefined2 *)&tok->field_0x18;\n    newtok[0].X_md = tok->X_md;\n    newtok[0]._28_4_ = *(undefined4 *)&tok->field_0x1c;\n    newtok[2].X_add_symbol = (symbolS *)0x0;\n    newtok[2].X_op_symbol = (symbolS *)0x0;\n    newtok[2]._24_1_ = 0x1e;\n    newtok[2].X_add_number = (long)basereg;\n    newtok[2]._25_7_ = 0;\n    assemble_tokens_to_insn((char *)opname,newtok,(int)&insn,in_RCX);\n  }\n  else {\n    if (alpha_noat_on != 0) {\n      format = (char *)dcgettext(0,"macro requires $at register while noat in effect",5);\n      as_bad(format);\n    }\n    insn_00 = (alpha_insn *)(newtok + 1);\n    lVar1 = load_expression(0x1c,tok + 1,&basereg,(expressionS *)insn_00,(char *)opname);\n    newtok[0].X_add_symbol = tok->X_add_symbol;\n    newtok[0].X_op_symbol = tok->X_op_symbol;\n    newtok[0].X_add_number = tok->X_add_number;\n    newtok[0]._24_2_ = *(undefined2 *)&tok->field_0x18;\n    newtok[0].X_md = tok->X_md;\n    newtok[0]._28_4_ = *(undefined4 *)&tok->field_0x1c;\n    newtok[2].X_add_symbol = (symbolS *)0x0;\n    newtok[2].X_op_symbol = (symbolS *)0x0;\n    newtok[2]._24_1_ = 0x1e;\n    newtok[2].X_add_number = (long)basereg;\n    newtok[2]._25_7_ = 0;\n    assemble_tokens_to_insn((char *)opname,newtok,(int)&insn,insn_00);\n    if (lVar1 != 0) {\n      if (1 < insn.nfixups) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)insn.nfixups;\n      insn.nfixups = insn.nfixups + 1;\n      insn.sequence = lVar1;\n      insn.fixups[lVar2].reloc = 0x8d0;\n      insn.fixups[lVar2].exp.field_0x18 = 1;\n    }\n  }\n  emit_insn(&insn);\n  return;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "alpha_insn *in_RCX;" type_identifier (pointer_declarator "*in_RCX" * identifier) ;) (declaration "alpha_insn *insn_00;" type_identifier (pointer_declarator "*insn_00" * identifier) ;) (declaration "int basereg;" primitive_type identifier ;) (declaration "expressionS newtok [3];" type_identifier (array_declarator "newtok [3]" identifier [ number_literal ]) ;) (declaration "alpha_insn insn;" type_identifier identifier ;) (if_statement "if (ntok == 2) {\n    basereg = 0x1f;\n    if (tok[1].field_0x18 != '\x02') {\n      basereg = alpha_gp_register;\n    }\n  }\n  else {\n    basereg = (int)tok[2].X_add_number;\n  }" if (parenthesized_expression "(ntok == 2)" ( (binary_expression "ntok == 2" identifier == number_literal) )) (compound_statement "{\n    basereg = 0x1f;\n    if (tok[1].field_0x18 != '\x02') {\n      basereg = alpha_gp_register;\n    }\n  }" { (expression_statement "basereg = 0x1f;" (assignment_expression "basereg = 0x1f" identifier = number_literal) ;) (if_statement "if (tok[1].field_0x18 != '\x02') {\n      basereg = alpha_gp_register;\n    }" if (parenthesized_expression "(tok[1].field_0x18 != '\x02')" ( (binary_expression "tok[1].field_0x18 != '\x02'" (field_expression "tok[1].field_0x18" (subscript_expression "tok[1]" identifier [ number_literal ]) . field_identifier) != (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n      basereg = alpha_gp_register;\n    }" { (expression_statement "basereg = alpha_gp_register;" (assignment_expression "basereg = alpha_gp_register" identifier = identifier) ;) })) }) (else_clause "else {\n    basereg = (int)tok[2].X_add_number;\n  }" else (compound_statement "{\n    basereg = (int)tok[2].X_add_number;\n  }" { (expression_statement "basereg = (int)tok[2].X_add_number;" (assignment_expression "basereg = (int)tok[2].X_add_number" identifier = (cast_expression "(int)tok[2].X_add_number" ( (type_descriptor "int" primitive_type) ) (field_expression "tok[2].X_add_number" (subscript_expression "tok[2]" identifier [ number_literal ]) . field_identifier))) ;) }))) (if_statement "if ((tok[1].field_0x18 == '\x02') && ((tok[1].X_add_number >> 0xf) + 1U < 2)) {\n    newtok[1].X_add_symbol = tok[1].X_add_symbol;\n    newtok[1].X_op_symbol = tok[1].X_op_symbol;\n    newtok[0].X_add_symbol = tok->X_add_symbol;\n    newtok[0].X_op_symbol = tok->X_op_symbol;\n    newtok[1].X_add_number = tok[1].X_add_number;\n    newtok[1]._24_2_ = *(undefined2 *)&tok[1].field_0x18;\n    newtok[1].X_md = tok[1].X_md;\n    newtok[1]._28_4_ = *(undefined4 *)&tok[1].field_0x1c;\n    newtok[0].X_add_number = tok->X_add_number;\n    newtok[0]._24_2_ = *(undefined2 *)&tok->field_0x18;\n    newtok[0].X_md = tok->X_md;\n    newtok[0]._28_4_ = *(undefined4 *)&tok->field_0x1c;\n    newtok[2].X_add_symbol = (symbolS *)0x0;\n    newtok[2].X_op_symbol = (symbolS *)0x0;\n    newtok[2]._24_1_ = 0x1e;\n    newtok[2].X_add_number = (long)basereg;\n    newtok[2]._25_7_ = 0;\n    assemble_tokens_to_insn((char *)opname,newtok,(int)&insn,in_RCX);\n  }\n  else {\n    if (alpha_noat_on != 0) {\n      format = (char *)dcgettext(0,"macro requires $at register while noat in effect",5);\n      as_bad(format);\n    }\n    insn_00 = (alpha_insn *)(newtok + 1);\n    lVar1 = load_expression(0x1c,tok + 1,&basereg,(expressionS *)insn_00,(char *)opname);\n    newtok[0].X_add_symbol = tok->X_add_symbol;\n    newtok[0].X_op_symbol = tok->X_op_symbol;\n    newtok[0].X_add_number = tok->X_add_number;\n    newtok[0]._24_2_ = *(undefined2 *)&tok->field_0x18;\n    newtok[0].X_md = tok->X_md;\n    newtok[0]._28_4_ = *(undefined4 *)&tok->field_0x1c;\n    newtok[2].X_add_symbol = (symbolS *)0x0;\n    newtok[2].X_op_symbol = (symbolS *)0x0;\n    newtok[2]._24_1_ = 0x1e;\n    newtok[2].X_add_number = (long)basereg;\n    newtok[2]._25_7_ = 0;\n    assemble_tokens_to_insn((char *)opname,newtok,(int)&insn,insn_00);\n    if (lVar1 != 0) {\n      if (1 < insn.nfixups) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)insn.nfixups;\n      insn.nfixups = insn.nfixups + 1;\n      insn.sequence = lVar1;\n      insn.fixups[lVar2].reloc = 0x8d0;\n      insn.fixups[lVar2].exp.field_0x18 = 1;\n    }\n  }" if (parenthesized_expression "((tok[1].field_0x18 == '\x02') && ((tok[1].X_add_number >> 0xf) + 1U < 2))" ( (binary_expression "(tok[1].field_0x18 == '\x02') && ((tok[1].X_add_number >> 0xf) + 1U < 2)" (parenthesized_expression "(tok[1].field_0x18 == '\x02')" ( (binary_expression "tok[1].field_0x18 == '\x02'" (field_expression "tok[1].field_0x18" (subscript_expression "tok[1]" identifier [ number_literal ]) . field_identifier) == (char_literal "'\x02'" ' escape_sequence ')) )) && (parenthesized_expression "((tok[1].X_add_number >> 0xf) + 1U < 2)" ( (binary_expression "(tok[1].X_add_number >> 0xf) + 1U < 2" (binary_expression "(tok[1].X_add_number >> 0xf) + 1U" (parenthesized_expression "(tok[1].X_add_number >> 0xf)" ( (binary_expression "tok[1].X_add_number >> 0xf" (field_expression "tok[1].X_add_number" (subscript_expression "tok[1]" identifier [ number_literal ]) . field_identifier) >> number_literal) )) + number_literal) < number_literal) ))) )) (compound_statement "{\n    newtok[1].X_add_symbol = tok[1].X_add_symbol;\n    newtok[1].X_op_symbol = tok[1].X_op_symbol;\n    newtok[0].X_add_symbol = tok->X_add_symbol;\n    newtok[0].X_op_symbol = tok->X_op_symbol;\n    newtok[1].X_add_number = tok[1].X_add_number;\n    newtok[1]._24_2_ = *(undefined2 *)&tok[1].field_0x18;\n    newtok[1].X_md = tok[1].X_md;\n    newtok[1]._28_4_ = *(undefined4 *)&tok[1].field_0x1c;\n    newtok[0].X_add_number = tok->X_add_number;\n    newtok[0]._24_2_ = *(undefined2 *)&tok->field_0x18;\n    newtok[0].X_md = tok->X_md;\n    newtok[0]._28_4_ = *(undefined4 *)&tok->field_0x1c;\n    newtok[2].X_add_symbol = (symbolS *)0x0;\n    newtok[2].X_op_symbol = (symbolS *)0x0;\n    newtok[2]._24_1_ = 0x1e;\n    newtok[2].X_add_number = (long)basereg;\n    newtok[2]._25_7_ = 0;\n    assemble_tokens_to_insn((char *)opname,newtok,(int)&insn,in_RCX);\n  }" { (expression_statement "newtok[1].X_add_symbol = tok[1].X_add_symbol;" (assignment_expression "newtok[1].X_add_symbol = tok[1].X_add_symbol" (field_expression "newtok[1].X_add_symbol" (subscript_expression "newtok[1]" identifier [ number_literal ]) . field_identifier) = (field_expression "tok[1].X_add_symbol" (subscript_expression "tok[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "newtok[1].X_op_symbol = tok[1].X_op_symbol;" (assignment_expression "newtok[1].X_op_symbol = tok[1].X_op_symbol" (field_expression "newtok[1].X_op_symbol" (subscript_expression "newtok[1]" identifier [ number_literal ]) . field_identifier) = (field_expression "tok[1].X_op_symbol" (subscript_expression "tok[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "newtok[0].X_add_symbol = tok->X_add_symbol;" (assignment_expression "newtok[0].X_add_symbol = tok->X_add_symbol" (field_expression "newtok[0].X_add_symbol" (subscript_expression "newtok[0]" identifier [ number_literal ]) . field_identifier) = (field_expression "tok->X_add_symbol" identifier -> field_identifier)) ;) (expression_statement "newtok[0].X_op_symbol = tok->X_op_symbol;" (assignment_expression "newtok[0].X_op_symbol = tok->X_op_symbol" (field_expression "newtok[0].X_op_symbol" (subscript_expression "newtok[0]" identifier [ number_literal ]) . field_identifier) = (field_expression "tok->X_op_symbol" identifier -> field_identifier)) ;) (expression_statement "newtok[1].X_add_number = tok[1].X_add_number;" (assignment_expression "newtok[1].X_add_number = tok[1].X_add_number" (field_expression "newtok[1].X_add_number" (subscript_expression "newtok[1]" identifier [ number_literal ]) . field_identifier) = (field_expression "tok[1].X_add_number" (subscript_expression "tok[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "newtok[1]._24_2_ = *(undefined2 *)&tok[1].field_0x18;" (assignment_expression "newtok[1]._24_2_ = *(undefined2 *)&tok[1].field_0x18" (field_expression "newtok[1]._24_2_" (subscript_expression "newtok[1]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*(undefined2 *)&tok[1].field_0x18" * (cast_expression "(undefined2 *)&tok[1].field_0x18" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&tok[1].field_0x18" & (field_expression "tok[1].field_0x18" (subscript_expression "tok[1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "newtok[1].X_md = tok[1].X_md;" (assignment_expression "newtok[1].X_md = tok[1].X_md" (field_expression "newtok[1].X_md" (subscript_expression "newtok[1]" identifier [ number_literal ]) . field_identifier) = (field_expression "tok[1].X_md" (subscript_expression "tok[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "newtok[1]._28_4_ = *(undefined4 *)&tok[1].field_0x1c;" (assignment_expression "newtok[1]._28_4_ = *(undefined4 *)&tok[1].field_0x1c" (field_expression "newtok[1]._28_4_" (subscript_expression "newtok[1]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*(undefined4 *)&tok[1].field_0x1c" * (cast_expression "(undefined4 *)&tok[1].field_0x1c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&tok[1].field_0x1c" & (field_expression "tok[1].field_0x1c" (subscript_expression "tok[1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "newtok[0].X_add_number = tok->X_add_number;" (assignment_expression "newtok[0].X_add_number = tok->X_add_number" (field_expression "newtok[0].X_add_number" (subscript_expression "newtok[0]" identifier [ number_literal ]) . field_identifier) = (field_expression "tok->X_add_number" identifier -> field_identifier)) ;) (expression_statement "newtok[0]._24_2_ = *(undefined2 *)&tok->field_0x18;" (assignment_expression "newtok[0]._24_2_ = *(undefined2 *)&tok->field_0x18" (field_expression "newtok[0]._24_2_" (subscript_expression "newtok[0]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*(undefined2 *)&tok->field_0x18" * (cast_expression "(undefined2 *)&tok->field_0x18" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&tok->field_0x18" & (field_expression "tok->field_0x18" identifier -> field_identifier))))) ;) (expression_statement "newtok[0].X_md = tok->X_md;" (assignment_expression "newtok[0].X_md = tok->X_md" (field_expression "newtok[0].X_md" (subscript_expression "newtok[0]" identifier [ number_literal ]) . field_identifier) = (field_expression "tok->X_md" identifier -> field_identifier)) ;) (expression_statement "newtok[0]._28_4_ = *(undefined4 *)&tok->field_0x1c;" (assignment_expression "newtok[0]._28_4_ = *(undefined4 *)&tok->field_0x1c" (field_expression "newtok[0]._28_4_" (subscript_expression "newtok[0]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*(undefined4 *)&tok->field_0x1c" * (cast_expression "(undefined4 *)&tok->field_0x1c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&tok->field_0x1c" & (field_expression "tok->field_0x1c" identifier -> field_identifier))))) ;) (expression_statement "newtok[2].X_add_symbol = (symbolS *)0x0;" (assignment_expression "newtok[2].X_add_symbol = (symbolS *)0x0" (field_expression "newtok[2].X_add_symbol" (subscript_expression "newtok[2]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "newtok[2].X_op_symbol = (symbolS *)0x0;" (assignment_expression "newtok[2].X_op_symbol = (symbolS *)0x0" (field_expression "newtok[2].X_op_symbol" (subscript_expression "newtok[2]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "newtok[2]._24_1_ = 0x1e;" (assignment_expression "newtok[2]._24_1_ = 0x1e" (field_expression "newtok[2]._24_1_" (subscript_expression "newtok[2]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "newtok[2].X_add_number = (long)basereg;" (assignment_expression "newtok[2].X_add_number = (long)basereg" (field_expression "newtok[2].X_add_number" (subscript_expression "newtok[2]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(long)basereg" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "newtok[2]._25_7_ = 0;" (assignment_expression "newtok[2]._25_7_ = 0" (field_expression "newtok[2]._25_7_" (subscript_expression "newtok[2]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "assemble_tokens_to_insn((char *)opname,newtok,(int)&insn,in_RCX);" (call_expression "assemble_tokens_to_insn((char *)opname,newtok,(int)&insn,in_RCX)" identifier (argument_list "((char *)opname,newtok,(int)&insn,in_RCX)" ( (cast_expression "(char *)opname" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(int)&insn" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&insn" & identifier)) , identifier ))) ;) }) (else_clause "else {\n    if (alpha_noat_on != 0) {\n      format = (char *)dcgettext(0,"macro requires $at register while noat in effect",5);\n      as_bad(format);\n    }\n    insn_00 = (alpha_insn *)(newtok + 1);\n    lVar1 = load_expression(0x1c,tok + 1,&basereg,(expressionS *)insn_00,(char *)opname);\n    newtok[0].X_add_symbol = tok->X_add_symbol;\n    newtok[0].X_op_symbol = tok->X_op_symbol;\n    newtok[0].X_add_number = tok->X_add_number;\n    newtok[0]._24_2_ = *(undefined2 *)&tok->field_0x18;\n    newtok[0].X_md = tok->X_md;\n    newtok[0]._28_4_ = *(undefined4 *)&tok->field_0x1c;\n    newtok[2].X_add_symbol = (symbolS *)0x0;\n    newtok[2].X_op_symbol = (symbolS *)0x0;\n    newtok[2]._24_1_ = 0x1e;\n    newtok[2].X_add_number = (long)basereg;\n    newtok[2]._25_7_ = 0;\n    assemble_tokens_to_insn((char *)opname,newtok,(int)&insn,insn_00);\n    if (lVar1 != 0) {\n      if (1 < insn.nfixups) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)insn.nfixups;\n      insn.nfixups = insn.nfixups + 1;\n      insn.sequence = lVar1;\n      insn.fixups[lVar2].reloc = 0x8d0;\n      insn.fixups[lVar2].exp.field_0x18 = 1;\n    }\n  }" else (compound_statement "{\n    if (alpha_noat_on != 0) {\n      format = (char *)dcgettext(0,"macro requires $at register while noat in effect",5);\n      as_bad(format);\n    }\n    insn_00 = (alpha_insn *)(newtok + 1);\n    lVar1 = load_expression(0x1c,tok + 1,&basereg,(expressionS *)insn_00,(char *)opname);\n    newtok[0].X_add_symbol = tok->X_add_symbol;\n    newtok[0].X_op_symbol = tok->X_op_symbol;\n    newtok[0].X_add_number = tok->X_add_number;\n    newtok[0]._24_2_ = *(undefined2 *)&tok->field_0x18;\n    newtok[0].X_md = tok->X_md;\n    newtok[0]._28_4_ = *(undefined4 *)&tok->field_0x1c;\n    newtok[2].X_add_symbol = (symbolS *)0x0;\n    newtok[2].X_op_symbol = (symbolS *)0x0;\n    newtok[2]._24_1_ = 0x1e;\n    newtok[2].X_add_number = (long)basereg;\n    newtok[2]._25_7_ = 0;\n    assemble_tokens_to_insn((char *)opname,newtok,(int)&insn,insn_00);\n    if (lVar1 != 0) {\n      if (1 < insn.nfixups) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)insn.nfixups;\n      insn.nfixups = insn.nfixups + 1;\n      insn.sequence = lVar1;\n      insn.fixups[lVar2].reloc = 0x8d0;\n      insn.fixups[lVar2].exp.field_0x18 = 1;\n    }\n  }" { (if_statement "if (alpha_noat_on != 0) {\n      format = (char *)dcgettext(0,"macro requires $at register while noat in effect",5);\n      as_bad(format);\n    }" if (parenthesized_expression "(alpha_noat_on != 0)" ( (binary_expression "alpha_noat_on != 0" identifier != number_literal) )) (compound_statement "{\n      format = (char *)dcgettext(0,"macro requires $at register while noat in effect",5);\n      as_bad(format);\n    }" { (expression_statement "format = (char *)dcgettext(0,"macro requires $at register while noat in effect",5);" (assignment_expression "format = (char *)dcgettext(0,"macro requires $at register while noat in effect",5)" identifier = (cast_expression "(char *)dcgettext(0,"macro requires $at register while noat in effect",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"macro requires $at register while noat in effect",5)" identifier (argument_list "(0,"macro requires $at register while noat in effect",5)" ( number_literal , (string_literal ""macro requires $at register while noat in effect"" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad(format);" (call_expression "as_bad(format)" identifier (argument_list "(format)" ( identifier ))) ;) })) (expression_statement "insn_00 = (alpha_insn *)(newtok + 1);" (assignment_expression "insn_00 = (alpha_insn *)(newtok + 1)" identifier = (cast_expression "(alpha_insn *)(newtok + 1)" ( (type_descriptor "alpha_insn *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(newtok + 1)" ( (binary_expression "newtok + 1" identifier + number_literal) )))) ;) (expression_statement "lVar1 = load_expression(0x1c,tok + 1,&basereg,(expressionS *)insn_00,(char *)opname);" (assignment_expression "lVar1 = load_expression(0x1c,tok + 1,&basereg,(expressionS *)insn_00,(char *)opname)" identifier = (call_expression "load_expression(0x1c,tok + 1,&basereg,(expressionS *)insn_00,(char *)opname)" identifier (argument_list "(0x1c,tok + 1,&basereg,(expressionS *)insn_00,(char *)opname)" ( number_literal , (binary_expression "tok + 1" identifier + number_literal) , (pointer_expression "&basereg" & identifier) , (cast_expression "(expressionS *)insn_00" ( (type_descriptor "expressionS *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)opname" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "newtok[0].X_add_symbol = tok->X_add_symbol;" (assignment_expression "newtok[0].X_add_symbol = tok->X_add_symbol" (field_expression "newtok[0].X_add_symbol" (subscript_expression "newtok[0]" identifier [ number_literal ]) . field_identifier) = (field_expression "tok->X_add_symbol" identifier -> field_identifier)) ;) (expression_statement "newtok[0].X_op_symbol = tok->X_op_symbol;" (assignment_expression "newtok[0].X_op_symbol = tok->X_op_symbol" (field_expression "newtok[0].X_op_symbol" (subscript_expression "newtok[0]" identifier [ number_literal ]) . field_identifier) = (field_expression "tok->X_op_symbol" identifier -> field_identifier)) ;) (expression_statement "newtok[0].X_add_number = tok->X_add_number;" (assignment_expression "newtok[0].X_add_number = tok->X_add_number" (field_expression "newtok[0].X_add_number" (subscript_expression "newtok[0]" identifier [ number_literal ]) . field_identifier) = (field_expression "tok->X_add_number" identifier -> field_identifier)) ;) (expression_statement "newtok[0]._24_2_ = *(undefined2 *)&tok->field_0x18;" (assignment_expression "newtok[0]._24_2_ = *(undefined2 *)&tok->field_0x18" (field_expression "newtok[0]._24_2_" (subscript_expression "newtok[0]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*(undefined2 *)&tok->field_0x18" * (cast_expression "(undefined2 *)&tok->field_0x18" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&tok->field_0x18" & (field_expression "tok->field_0x18" identifier -> field_identifier))))) ;) (expression_statement "newtok[0].X_md = tok->X_md;" (assignment_expression "newtok[0].X_md = tok->X_md" (field_expression "newtok[0].X_md" (subscript_expression "newtok[0]" identifier [ number_literal ]) . field_identifier) = (field_expression "tok->X_md" identifier -> field_identifier)) ;) (expression_statement "newtok[0]._28_4_ = *(undefined4 *)&tok->field_0x1c;" (assignment_expression "newtok[0]._28_4_ = *(undefined4 *)&tok->field_0x1c" (field_expression "newtok[0]._28_4_" (subscript_expression "newtok[0]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*(undefined4 *)&tok->field_0x1c" * (cast_expression "(undefined4 *)&tok->field_0x1c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&tok->field_0x1c" & (field_expression "tok->field_0x1c" identifier -> field_identifier))))) ;) (expression_statement "newtok[2].X_add_symbol = (symbolS *)0x0;" (assignment_expression "newtok[2].X_add_symbol = (symbolS *)0x0" (field_expression "newtok[2].X_add_symbol" (subscript_expression "newtok[2]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "newtok[2].X_op_symbol = (symbolS *)0x0;" (assignment_expression "newtok[2].X_op_symbol = (symbolS *)0x0" (field_expression "newtok[2].X_op_symbol" (subscript_expression "newtok[2]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "newtok[2]._24_1_ = 0x1e;" (assignment_expression "newtok[2]._24_1_ = 0x1e" (field_expression "newtok[2]._24_1_" (subscript_expression "newtok[2]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "newtok[2].X_add_number = (long)basereg;" (assignment_expression "newtok[2].X_add_number = (long)basereg" (field_expression "newtok[2].X_add_number" (subscript_expression "newtok[2]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(long)basereg" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "newtok[2]._25_7_ = 0;" (assignment_expression "newtok[2]._25_7_ = 0" (field_expression "newtok[2]._25_7_" (subscript_expression "newtok[2]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "assemble_tokens_to_insn((char *)opname,newtok,(int)&insn,insn_00);" (call_expression "assemble_tokens_to_insn((char *)opname,newtok,(int)&insn,insn_00)" identifier (argument_list "((char *)opname,newtok,(int)&insn,insn_00)" ( (cast_expression "(char *)opname" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(int)&insn" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&insn" & identifier)) , identifier ))) ;) (if_statement "if (lVar1 != 0) {\n      if (1 < insn.nfixups) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)insn.nfixups;\n      insn.nfixups = insn.nfixups + 1;\n      insn.sequence = lVar1;\n      insn.fixups[lVar2].reloc = 0x8d0;\n      insn.fixups[lVar2].exp.field_0x18 = 1;\n    }" if (parenthesized_expression "(lVar1 != 0)" ( (binary_expression "lVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      if (1 < insn.nfixups) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)insn.nfixups;\n      insn.nfixups = insn.nfixups + 1;\n      insn.sequence = lVar1;\n      insn.fixups[lVar2].reloc = 0x8d0;\n      insn.fixups[lVar2].exp.field_0x18 = 1;\n    }" { (if_statement "if (1 < insn.nfixups) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }" if (parenthesized_expression "(1 < insn.nfixups)" ( (binary_expression "1 < insn.nfixups" number_literal < (field_expression "insn.nfixups" identifier . field_identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }" { comment (expression_statement "as_abort("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");" (call_expression "as_abort("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore")" identifier (argument_list "("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore")" ( (string_literal ""../../gas/config/tc-alpha.c"" " string_content ") , number_literal , (string_literal ""emit_loadstore"" " string_content ") ))) ;) })) (expression_statement "lVar2 = (long)insn.nfixups;" (assignment_expression "lVar2 = (long)insn.nfixups" identifier = (cast_expression "(long)insn.nfixups" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "insn.nfixups" identifier . field_identifier))) ;) (expression_statement "insn.nfixups = insn.nfixups + 1;" (assignment_expression "insn.nfixups = insn.nfixups + 1" (field_expression "insn.nfixups" identifier . field_identifier) = (binary_expression "insn.nfixups + 1" (field_expression "insn.nfixups" identifier . field_identifier) + number_literal)) ;) (expression_statement "insn.sequence = lVar1;" (assignment_expression "insn.sequence = lVar1" (field_expression "insn.sequence" identifier . field_identifier) = identifier) ;) (expression_statement "insn.fixups[lVar2].reloc = 0x8d0;" (assignment_expression "insn.fixups[lVar2].reloc = 0x8d0" (field_expression "insn.fixups[lVar2].reloc" (subscript_expression "insn.fixups[lVar2]" (field_expression "insn.fixups" identifier . field_identifier) [ identifier ]) . field_identifier) = number_literal) ;) (expression_statement "insn.fixups[lVar2].exp.field_0x18 = 1;" (assignment_expression "insn.fixups[lVar2].exp.field_0x18 = 1" (field_expression "insn.fixups[lVar2].exp.field_0x18" (field_expression "insn.fixups[lVar2].exp" (subscript_expression "insn.fixups[lVar2]" (field_expression "insn.fixups" identifier . field_identifier) [ identifier ]) . field_identifier) . field_identifier) = number_literal) ;) })) }))) (expression_statement "emit_insn(&insn);" (call_expression "emit_insn(&insn)" identifier (argument_list "(&insn)" ( (pointer_expression "&insn" & identifier) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0013b3c0(undefined8 *param_1,int param_2,undefined8 param_3)\n\n{\n  long lVar1;\n  long lVar2;\n  undefined8 uVar3;\n  int local_ec;\n  undefined8 local_e8;\n  undefined8 uStack_e0;\n  undefined8 local_d8;\n  undefined8 uStack_d0;\n  undefined8 local_c8;\n  undefined8 uStack_c0;\n  undefined8 local_b8;\n  undefined8 uStack_b0;\n  undefined1 local_a8 [16];\n  undefined1 local_98 [16];\n  undefined1 local_88 [4];\n  int local_84;\n  undefined1 auStack_68 [8];\n  undefined4 auStack_60 [12];\n  long local_30;\n  \n  if (param_2 == 2) {\n    local_ec = 0x1f;\n    if (*(char *)(param_1 + 7) != '\x02') {\n      local_ec = DAT_001647a0;\n    }\n  }\n  else {\n    local_ec = (int)param_1[10];\n  }\n  if ((*(char *)(param_1 + 7) == '\x02') && (((long)param_1[6] >> 0xf) + 1U < 2)) {\n    local_c8 = param_1[4];\n    uStack_c0 = param_1[5];\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_b8 = param_1[6];\n    uStack_b0 = param_1[7];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n  }\n  else {\n    if (DAT_0016dd48 != 0) {\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }\n    lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3);\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n    if (lVar1 != 0) {\n      if (1 < local_84) {\n                    \n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }\n  }\n  FUN_00138700(local_88);\n  return;\n}\n\n" (function_definition "void FUN_0013b3c0(undefined8 *param_1,int param_2,undefined8 param_3)\n\n{\n  long lVar1;\n  long lVar2;\n  undefined8 uVar3;\n  int local_ec;\n  undefined8 local_e8;\n  undefined8 uStack_e0;\n  undefined8 local_d8;\n  undefined8 uStack_d0;\n  undefined8 local_c8;\n  undefined8 uStack_c0;\n  undefined8 local_b8;\n  undefined8 uStack_b0;\n  undefined1 local_a8 [16];\n  undefined1 local_98 [16];\n  undefined1 local_88 [4];\n  int local_84;\n  undefined1 auStack_68 [8];\n  undefined4 auStack_60 [12];\n  long local_30;\n  \n  if (param_2 == 2) {\n    local_ec = 0x1f;\n    if (*(char *)(param_1 + 7) != '\x02') {\n      local_ec = DAT_001647a0;\n    }\n  }\n  else {\n    local_ec = (int)param_1[10];\n  }\n  if ((*(char *)(param_1 + 7) == '\x02') && (((long)param_1[6] >> 0xf) + 1U < 2)) {\n    local_c8 = param_1[4];\n    uStack_c0 = param_1[5];\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_b8 = param_1[6];\n    uStack_b0 = param_1[7];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n  }\n  else {\n    if (DAT_0016dd48 != 0) {\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }\n    lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3);\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n    if (lVar1 != 0) {\n      if (1 < local_84) {\n                    \n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }\n  }\n  FUN_00138700(local_88);\n  return;\n}" primitive_type (function_declarator "FUN_0013b3c0(undefined8 *param_1,int param_2,undefined8 param_3)" identifier (parameter_list "(undefined8 *param_1,int param_2,undefined8 param_3)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) ))) (compound_statement "{\n  long lVar1;\n  long lVar2;\n  undefined8 uVar3;\n  int local_ec;\n  undefined8 local_e8;\n  undefined8 uStack_e0;\n  undefined8 local_d8;\n  undefined8 uStack_d0;\n  undefined8 local_c8;\n  undefined8 uStack_c0;\n  undefined8 local_b8;\n  undefined8 uStack_b0;\n  undefined1 local_a8 [16];\n  undefined1 local_98 [16];\n  undefined1 local_88 [4];\n  int local_84;\n  undefined1 auStack_68 [8];\n  undefined4 auStack_60 [12];\n  long local_30;\n  \n  if (param_2 == 2) {\n    local_ec = 0x1f;\n    if (*(char *)(param_1 + 7) != '\x02') {\n      local_ec = DAT_001647a0;\n    }\n  }\n  else {\n    local_ec = (int)param_1[10];\n  }\n  if ((*(char *)(param_1 + 7) == '\x02') && (((long)param_1[6] >> 0xf) + 1U < 2)) {\n    local_c8 = param_1[4];\n    uStack_c0 = param_1[5];\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_b8 = param_1[6];\n    uStack_b0 = param_1[7];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n  }\n  else {\n    if (DAT_0016dd48 != 0) {\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }\n    lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3);\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n    if (lVar1 != 0) {\n      if (1 < local_84) {\n                    \n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }\n  }\n  FUN_00138700(local_88);\n  return;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "int local_ec;" primitive_type identifier ;) (declaration "undefined8 local_e8;" type_identifier identifier ;) (declaration "undefined8 uStack_e0;" type_identifier identifier ;) (declaration "undefined8 local_d8;" type_identifier identifier ;) (declaration "undefined8 uStack_d0;" type_identifier identifier ;) (declaration "undefined8 local_c8;" type_identifier identifier ;) (declaration "undefined8 uStack_c0;" type_identifier identifier ;) (declaration "undefined8 local_b8;" type_identifier identifier ;) (declaration "undefined8 uStack_b0;" type_identifier identifier ;) (declaration "undefined1 local_a8 [16];" type_identifier (array_declarator "local_a8 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 local_98 [16];" type_identifier (array_declarator "local_98 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 local_88 [4];" type_identifier (array_declarator "local_88 [4]" identifier [ number_literal ]) ;) (declaration "int local_84;" primitive_type identifier ;) (declaration "undefined1 auStack_68 [8];" type_identifier (array_declarator "auStack_68 [8]" identifier [ number_literal ]) ;) (declaration "undefined4 auStack_60 [12];" type_identifier (array_declarator "auStack_60 [12]" identifier [ number_literal ]) ;) (declaration "long local_30;" (sized_type_specifier "long" long) identifier ;) (if_statement "if (param_2 == 2) {\n    local_ec = 0x1f;\n    if (*(char *)(param_1 + 7) != '\x02') {\n      local_ec = DAT_001647a0;\n    }\n  }\n  else {\n    local_ec = (int)param_1[10];\n  }" if (parenthesized_expression "(param_2 == 2)" ( (binary_expression "param_2 == 2" identifier == number_literal) )) (compound_statement "{\n    local_ec = 0x1f;\n    if (*(char *)(param_1 + 7) != '\x02') {\n      local_ec = DAT_001647a0;\n    }\n  }" { (expression_statement "local_ec = 0x1f;" (assignment_expression "local_ec = 0x1f" identifier = number_literal) ;) (if_statement "if (*(char *)(param_1 + 7) != '\x02') {\n      local_ec = DAT_001647a0;\n    }" if (parenthesized_expression "(*(char *)(param_1 + 7) != '\x02')" ( (binary_expression "*(char *)(param_1 + 7) != '\x02'" (pointer_expression "*(char *)(param_1 + 7)" * (cast_expression "(char *)(param_1 + 7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) != (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n      local_ec = DAT_001647a0;\n    }" { (expression_statement "local_ec = DAT_001647a0;" (assignment_expression "local_ec = DAT_001647a0" identifier = identifier) ;) })) }) (else_clause "else {\n    local_ec = (int)param_1[10];\n  }" else (compound_statement "{\n    local_ec = (int)param_1[10];\n  }" { (expression_statement "local_ec = (int)param_1[10];" (assignment_expression "local_ec = (int)param_1[10]" identifier = (cast_expression "(int)param_1[10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[10]" identifier [ number_literal ]))) ;) }))) (if_statement "if ((*(char *)(param_1 + 7) == '\x02') && (((long)param_1[6] >> 0xf) + 1U < 2)) {\n    local_c8 = param_1[4];\n    uStack_c0 = param_1[5];\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_b8 = param_1[6];\n    uStack_b0 = param_1[7];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n  }\n  else {\n    if (DAT_0016dd48 != 0) {\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }\n    lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3);\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n    if (lVar1 != 0) {\n      if (1 < local_84) {\n                    \n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }\n  }" if (parenthesized_expression "((*(char *)(param_1 + 7) == '\x02') && (((long)param_1[6] >> 0xf) + 1U < 2))" ( (binary_expression "(*(char *)(param_1 + 7) == '\x02') && (((long)param_1[6] >> 0xf) + 1U < 2)" (parenthesized_expression "(*(char *)(param_1 + 7) == '\x02')" ( (binary_expression "*(char *)(param_1 + 7) == '\x02'" (pointer_expression "*(char *)(param_1 + 7)" * (cast_expression "(char *)(param_1 + 7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) == (char_literal "'\x02'" ' escape_sequence ')) )) && (parenthesized_expression "(((long)param_1[6] >> 0xf) + 1U < 2)" ( (binary_expression "((long)param_1[6] >> 0xf) + 1U < 2" (binary_expression "((long)param_1[6] >> 0xf) + 1U" (parenthesized_expression "((long)param_1[6] >> 0xf)" ( (binary_expression "(long)param_1[6] >> 0xf" (cast_expression "(long)param_1[6]" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (subscript_expression "param_1[6]" identifier [ number_literal ])) >> number_literal) )) + number_literal) < number_literal) ))) )) (compound_statement "{\n    local_c8 = param_1[4];\n    uStack_c0 = param_1[5];\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_b8 = param_1[6];\n    uStack_b0 = param_1[7];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n  }" { (expression_statement "local_c8 = param_1[4];" (assignment_expression "local_c8 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "uStack_c0 = param_1[5];" (assignment_expression "uStack_c0 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "local_e8 = *param_1;" (assignment_expression "local_e8 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uStack_e0 = param_1[1];" (assignment_expression "uStack_e0 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "local_b8 = param_1[6];" (assignment_expression "local_b8 = param_1[6]" identifier = (subscript_expression "param_1[6]" identifier [ number_literal ])) ;) (expression_statement "uStack_b0 = param_1[7];" (assignment_expression "uStack_b0 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "local_d8 = param_1[2];" (assignment_expression "local_d8 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uStack_d0 = param_1[3];" (assignment_expression "uStack_d0 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "local_a8 = (undefined1  [16])0x0;" (assignment_expression "local_a8 = (undefined1  [16])0x0" identifier = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "local_98[8] = 0x1e;" (assignment_expression "local_98[8] = 0x1e" (subscript_expression "local_98[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_98._0_8_ = (long)local_ec;" (assignment_expression "local_98._0_8_ = (long)local_ec" (field_expression "local_98._0_8_" identifier . field_identifier) = (cast_expression "(long)local_ec" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "local_98._9_7_ = 0;" (assignment_expression "local_98._9_7_ = 0" (field_expression "local_98._9_7_" identifier . field_identifier) = number_literal) ;) (expression_statement "FUN_0013a660(param_3,&local_e8,local_88);" (call_expression "FUN_0013a660(param_3,&local_e8,local_88)" identifier (argument_list "(param_3,&local_e8,local_88)" ( identifier , (pointer_expression "&local_e8" & identifier) , identifier ))) ;) }) (else_clause "else {\n    if (DAT_0016dd48 != 0) {\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }\n    lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3);\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n    if (lVar1 != 0) {\n      if (1 < local_84) {\n                    \n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }\n  }" else (compound_statement "{\n    if (DAT_0016dd48 != 0) {\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }\n    lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3);\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n    if (lVar1 != 0) {\n      if (1 < local_84) {\n                    \n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }\n  }" { (if_statement "if (DAT_0016dd48 != 0) {\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }" if (parenthesized_expression "(DAT_0016dd48 != 0)" ( (binary_expression "DAT_0016dd48 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }" { (expression_statement "uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);" (assignment_expression "uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5)" identifier = (call_expression "dcgettext(0,"macro requires $at register while noat in effect",5)" identifier (argument_list "(0,"macro requires $at register while noat in effect",5)" ( number_literal , (string_literal ""macro requires $at register while noat in effect"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00123bd0(uVar3);" (call_expression "FUN_00123bd0(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) })) (expression_statement "lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3);" (assignment_expression "lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3)" identifier = (call_expression "FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3)" identifier (argument_list "(0x1c,param_1 + 4,&local_ec,&local_c8,param_3)" ( number_literal , (binary_expression "param_1 + 4" identifier + number_literal) , (pointer_expression "&local_ec" & identifier) , (pointer_expression "&local_c8" & identifier) , identifier )))) ;) (expression_statement "local_e8 = *param_1;" (assignment_expression "local_e8 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uStack_e0 = param_1[1];" (assignment_expression "uStack_e0 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "local_d8 = param_1[2];" (assignment_expression "local_d8 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uStack_d0 = param_1[3];" (assignment_expression "uStack_d0 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "local_a8 = (undefined1  [16])0x0;" (assignment_expression "local_a8 = (undefined1  [16])0x0" identifier = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "local_98[8] = 0x1e;" (assignment_expression "local_98[8] = 0x1e" (subscript_expression "local_98[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_98._0_8_ = (long)local_ec;" (assignment_expression "local_98._0_8_ = (long)local_ec" (field_expression "local_98._0_8_" identifier . field_identifier) = (cast_expression "(long)local_ec" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "local_98._9_7_ = 0;" (assignment_expression "local_98._9_7_ = 0" (field_expression "local_98._9_7_" identifier . field_identifier) = number_literal) ;) (expression_statement "FUN_0013a660(param_3,&local_e8,local_88);" (call_expression "FUN_0013a660(param_3,&local_e8,local_88)" identifier (argument_list "(param_3,&local_e8,local_88)" ( identifier , (pointer_expression "&local_e8" & identifier) , identifier ))) ;) (if_statement "if (lVar1 != 0) {\n      if (1 < local_84) {\n                    \n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }" if (parenthesized_expression "(lVar1 != 0)" ( (binary_expression "lVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      if (1 < local_84) {\n                    \n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }" { (if_statement "if (1 < local_84) {\n                    \n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }" if (parenthesized_expression "(1 < local_84)" ( (binary_expression "1 < local_84" number_literal < identifier) )) (compound_statement "{\n                    \n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }" { (expression_statement "FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");" (call_expression "FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore")" identifier (argument_list "("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore")" ( (string_literal ""../../gas/config/tc-alpha.c"" " string_content ") , number_literal , (string_literal ""emit_loadstore"" " string_content ") ))) ;) })) (expression_statement "lVar2 = (long)local_84;" (assignment_expression "lVar2 = (long)local_84" identifier = (cast_expression "(long)local_84" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "local_84 = local_84 + 1;" (assignment_expression "local_84 = local_84 + 1" identifier = (binary_expression "local_84 + 1" identifier + number_literal)) ;) (expression_statement "local_30 = lVar1;" (assignment_expression "local_30 = lVar1" identifier = identifier) ;) (expression_statement "auStack_60[lVar2 * 10] = 0x8d0;" (assignment_expression "auStack_60[lVar2 * 10] = 0x8d0" (subscript_expression "auStack_60[lVar2 * 10]" identifier [ (binary_expression "lVar2 * 10" identifier * number_literal) ]) = number_literal) ;) (expression_statement "auStack_68[lVar2 * 0x28] = 1;" (assignment_expression "auStack_68[lVar2 * 0x28] = 1" (subscript_expression "auStack_68[lVar2 * 0x28]" identifier [ (binary_expression "lVar2 * 0x28" identifier * number_literal) ]) = number_literal) ;) })) }))) (expression_statement "FUN_00138700(local_88);" (call_expression "FUN_00138700(local_88)" identifier (argument_list "(local_88)" ( identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration (sized_type_specifier long) IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (subscript_expression IDENT [ LIT ])) >> LIT) )) + LIT) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , IDENT ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (binary_expression IDENT + LIT) , (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT * LIT) ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT * LIT) ]) = LIT) ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_0013b3c0(undefined8 *param_1,int param_2,undefined8 param_3)\n\n{\n  long lVar1;\n  long lVar2;\n  undefined8 uVar3;\n  int local_ec;\n  undefined8 local_e8;\n  undefined8 uStack_e0;\n  undefined8 local_d8;\n  undefined8 uStack_d0;\n  undefined8 local_c8;\n  undefined8 uStack_c0;\n  undefined8 local_b8;\n  undefined8 uStack_b0;\n  undefined1 local_a8 [16];\n  undefined1 local_98 [16];\n  undefined1 local_88 [4];\n  int local_84;\n  undefined1 auStack_68 [8];\n  undefined4 auStack_60 [12];\n  long local_30;\n  \n  if (param_2 == 2) {\n    local_ec = 0x1f;\n    if (*(char *)(param_1 + 7) != '\x02') {\n      local_ec = DAT_001647a0;\n    }\n  }\n  else {\n    local_ec = (int)param_1[10];\n  }\n  if ((*(char *)(param_1 + 7) == '\x02') && (((long)param_1[6] >> 0xf) + 1U < 2)) {\n    local_c8 = param_1[4];\n    uStack_c0 = param_1[5];\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_b8 = param_1[6];\n    uStack_b0 = param_1[7];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n  }\n  else {\n    if (DAT_0016dd48 != 0) {\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }\n    lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3);\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n    if (lVar1 != 0) {\n      if (1 < local_84) {\n                    \n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }\n  }\n  FUN_00138700(local_88);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0013b3c0(undefined8 *param_1,int param_2,undefined8 param_3)" (identifier "FUN_0013b3c0") (parameter_list "(undefined8 *param_1,int param_2,undefined8 param_3)" (( "(") (parameter_declaration "undefined8 *param_1" (type_identifier "undefined8") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) () ")"))) (compound_statement "{\n  long lVar1;\n  long lVar2;\n  undefined8 uVar3;\n  int local_ec;\n  undefined8 local_e8;\n  undefined8 uStack_e0;\n  undefined8 local_d8;\n  undefined8 uStack_d0;\n  undefined8 local_c8;\n  undefined8 uStack_c0;\n  undefined8 local_b8;\n  undefined8 uStack_b0;\n  undefined1 local_a8 [16];\n  undefined1 local_98 [16];\n  undefined1 local_88 [4];\n  int local_84;\n  undefined1 auStack_68 [8];\n  undefined4 auStack_60 [12];\n  long local_30;\n  \n  if (param_2 == 2) {\n    local_ec = 0x1f;\n    if (*(char *)(param_1 + 7) != '\x02') {\n      local_ec = DAT_001647a0;\n    }\n  }\n  else {\n    local_ec = (int)param_1[10];\n  }\n  if ((*(char *)(param_1 + 7) == '\x02') && (((long)param_1[6] >> 0xf) + 1U < 2)) {\n    local_c8 = param_1[4];\n    uStack_c0 = param_1[5];\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_b8 = param_1[6];\n    uStack_b0 = param_1[7];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n  }\n  else {\n    if (DAT_0016dd48 != 0) {\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }\n    lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3);\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n    if (lVar1 != 0) {\n      if (1 < local_84) {\n                    \n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }\n  }\n  FUN_00138700(local_88);\n  return;\n}" ({ "{") (declaration "long lVar1;" (sized_type_specifier "long" (long "long")) (identifier "lVar1") (; ";")) (declaration "long lVar2;" (sized_type_specifier "long" (long "long")) (identifier "lVar2") (; ";")) (declaration "undefined8 uVar3;" (type_identifier "undefined8") (identifier "uVar3") (; ";")) (declaration "int local_ec;" (primitive_type "int") (identifier "local_ec") (; ";")) (declaration "undefined8 local_e8;" (type_identifier "undefined8") (identifier "local_e8") (; ";")) (declaration "undefined8 uStack_e0;" (type_identifier "undefined8") (identifier "uStack_e0") (; ";")) (declaration "undefined8 local_d8;" (type_identifier "undefined8") (identifier "local_d8") (; ";")) (declaration "undefined8 uStack_d0;" (type_identifier "undefined8") (identifier "uStack_d0") (; ";")) (declaration "undefined8 local_c8;" (type_identifier "undefined8") (identifier "local_c8") (; ";")) (declaration "undefined8 uStack_c0;" (type_identifier "undefined8") (identifier "uStack_c0") (; ";")) (declaration "undefined8 local_b8;" (type_identifier "undefined8") (identifier "local_b8") (; ";")) (declaration "undefined8 uStack_b0;" (type_identifier "undefined8") (identifier "uStack_b0") (; ";")) (declaration "undefined1 local_a8 [16];" (type_identifier "undefined1") (array_declarator "local_a8 [16]" (identifier "local_a8") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 local_98 [16];" (type_identifier "undefined1") (array_declarator "local_98 [16]" (identifier "local_98") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 local_88 [4];" (type_identifier "undefined1") (array_declarator "local_88 [4]" (identifier "local_88") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "int local_84;" (primitive_type "int") (identifier "local_84") (; ";")) (declaration "undefined1 auStack_68 [8];" (type_identifier "undefined1") (array_declarator "auStack_68 [8]" (identifier "auStack_68") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "undefined4 auStack_60 [12];" (type_identifier "undefined4") (array_declarator "auStack_60 [12]" (identifier "auStack_60") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "long local_30;" (sized_type_specifier "long" (long "long")) (identifier "local_30") (; ";")) (if_statement "if (param_2 == 2) {\n    local_ec = 0x1f;\n    if (*(char *)(param_1 + 7) != '\x02') {\n      local_ec = DAT_001647a0;\n    }\n  }\n  else {\n    local_ec = (int)param_1[10];\n  }" (if "if") (parenthesized_expression "(param_2 == 2)" (( "(") (binary_expression "param_2 == 2" (identifier "param_2") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n    local_ec = 0x1f;\n    if (*(char *)(param_1 + 7) != '\x02') {\n      local_ec = DAT_001647a0;\n    }\n  }" ({ "{") (expression_statement "local_ec = 0x1f;" (assignment_expression "local_ec = 0x1f" (identifier "local_ec") (= "=") (number_literal "0x1f")) (; ";")) (if_statement "if (*(char *)(param_1 + 7) != '\x02') {\n      local_ec = DAT_001647a0;\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 7) != '\x02')" (( "(") (binary_expression "*(char *)(param_1 + 7) != '\x02'" (pointer_expression "*(char *)(param_1 + 7)" (* "*") (cast_expression "(char *)(param_1 + 7)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 7)" (( "(") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) () ")")))) (!= "!=") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (compound_statement "{\n      local_ec = DAT_001647a0;\n    }" ({ "{") (expression_statement "local_ec = DAT_001647a0;" (assignment_expression "local_ec = DAT_001647a0" (identifier "local_ec") (= "=") (identifier "DAT_001647a0")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    local_ec = (int)param_1[10];\n  }" (else "else") (compound_statement "{\n    local_ec = (int)param_1[10];\n  }" ({ "{") (expression_statement "local_ec = (int)param_1[10];" (assignment_expression "local_ec = (int)param_1[10]" (identifier "local_ec") (= "=") (cast_expression "(int)param_1[10]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")))) (; ";")) (} "}")))) (if_statement "if ((*(char *)(param_1 + 7) == '\x02') && (((long)param_1[6] >> 0xf) + 1U < 2)) {\n    local_c8 = param_1[4];\n    uStack_c0 = param_1[5];\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_b8 = param_1[6];\n    uStack_b0 = param_1[7];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n  }\n  else {\n    if (DAT_0016dd48 != 0) {\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }\n    lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3);\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n    if (lVar1 != 0) {\n      if (1 < local_84) {\n                    \n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }\n  }" (if "if") (parenthesized_expression "((*(char *)(param_1 + 7) == '\x02') && (((long)param_1[6] >> 0xf) + 1U < 2))" (( "(") (binary_expression "(*(char *)(param_1 + 7) == '\x02') && (((long)param_1[6] >> 0xf) + 1U < 2)" (parenthesized_expression "(*(char *)(param_1 + 7) == '\x02')" (( "(") (binary_expression "*(char *)(param_1 + 7) == '\x02'" (pointer_expression "*(char *)(param_1 + 7)" (* "*") (cast_expression "(char *)(param_1 + 7)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 7)" (( "(") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) () ")")))) (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(((long)param_1[6] >> 0xf) + 1U < 2)" (( "(") (binary_expression "((long)param_1[6] >> 0xf) + 1U < 2" (binary_expression "((long)param_1[6] >> 0xf) + 1U" (parenthesized_expression "((long)param_1[6] >> 0xf)" (( "(") (binary_expression "(long)param_1[6] >> 0xf" (cast_expression "(long)param_1[6]" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]"))) (>> ">>") (number_literal "0xf")) () ")")) (+ "+") (number_literal "1U")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n    local_c8 = param_1[4];\n    uStack_c0 = param_1[5];\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_b8 = param_1[6];\n    uStack_b0 = param_1[7];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n  }" ({ "{") (expression_statement "local_c8 = param_1[4];" (assignment_expression "local_c8 = param_1[4]" (identifier "local_c8") (= "=") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "uStack_c0 = param_1[5];" (assignment_expression "uStack_c0 = param_1[5]" (identifier "uStack_c0") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "local_e8 = *param_1;" (assignment_expression "local_e8 = *param_1" (identifier "local_e8") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uStack_e0 = param_1[1];" (assignment_expression "uStack_e0 = param_1[1]" (identifier "uStack_e0") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_b8 = param_1[6];" (assignment_expression "local_b8 = param_1[6]" (identifier "local_b8") (= "=") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "uStack_b0 = param_1[7];" (assignment_expression "uStack_b0 = param_1[7]" (identifier "uStack_b0") (= "=") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "local_d8 = param_1[2];" (assignment_expression "local_d8 = param_1[2]" (identifier "local_d8") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uStack_d0 = param_1[3];" (assignment_expression "uStack_d0 = param_1[3]" (identifier "uStack_d0") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "local_a8 = (undefined1  [16])0x0;" (assignment_expression "local_a8 = (undefined1  [16])0x0" (identifier "local_a8") (= "=") (cast_expression "(undefined1  [16])0x0" (( "(") (type_descriptor "undefined1  [16]" (type_identifier "undefined1") (abstract_array_declarator "[16]" ([ "[") (number_literal "16") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_98[8] = 0x1e;" (assignment_expression "local_98[8] = 0x1e" (subscript_expression "local_98[8]" (identifier "local_98") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0x1e")) (; ";")) (expression_statement "local_98._0_8_ = (long)local_ec;" (assignment_expression "local_98._0_8_ = (long)local_ec" (field_expression "local_98._0_8_" (identifier "local_98") (. ".") (field_identifier "_0_8_")) (= "=") (cast_expression "(long)local_ec" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_ec"))) (; ";")) (expression_statement "local_98._9_7_ = 0;" (assignment_expression "local_98._9_7_ = 0" (field_expression "local_98._9_7_" (identifier "local_98") (. ".") (field_identifier "_9_7_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0013a660(param_3,&local_e8,local_88);" (call_expression "FUN_0013a660(param_3,&local_e8,local_88)" (identifier "FUN_0013a660") (argument_list "(param_3,&local_e8,local_88)" (( "(") (identifier "param_3") (, ",") (pointer_expression "&local_e8" (& "&") (identifier "local_e8")) (, ",") (identifier "local_88") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    if (DAT_0016dd48 != 0) {\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }\n    lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3);\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n    if (lVar1 != 0) {\n      if (1 < local_84) {\n                    \n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }\n  }" (else "else") (compound_statement "{\n    if (DAT_0016dd48 != 0) {\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }\n    lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3);\n    local_e8 = *param_1;\n    uStack_e0 = param_1[1];\n    local_d8 = param_1[2];\n    uStack_d0 = param_1[3];\n    local_a8 = (undefined1  [16])0x0;\n    local_98[8] = 0x1e;\n    local_98._0_8_ = (long)local_ec;\n    local_98._9_7_ = 0;\n    FUN_0013a660(param_3,&local_e8,local_88);\n    if (lVar1 != 0) {\n      if (1 < local_84) {\n                    \n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }\n  }" ({ "{") (if_statement "if (DAT_0016dd48 != 0) {\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }" (if "if") (parenthesized_expression "(DAT_0016dd48 != 0)" (( "(") (binary_expression "DAT_0016dd48 != 0" (identifier "DAT_0016dd48") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);\n      FUN_00123bd0(uVar3);\n    }" ({ "{") (expression_statement "uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);" (assignment_expression "uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"macro requires $at register while noat in effect",5)" (identifier "dcgettext") (argument_list "(0,"macro requires $at register while noat in effect",5)" (( "(") (number_literal "0") (, ",") (string_literal ""macro requires $at register while noat in effect"" (" """) (string_content "macro requires $at register while noat in effect") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00123bd0(uVar3);" (call_expression "FUN_00123bd0(uVar3)" (identifier "FUN_00123bd0") (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (} "}"))) (expression_statement "lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3);" (assignment_expression "lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3)" (identifier "lVar1") (= "=") (call_expression "FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3)" (identifier "FUN_0013a750") (argument_list "(0x1c,param_1 + 4,&local_ec,&local_c8,param_3)" (( "(") (number_literal "0x1c") (, ",") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) (, ",") (pointer_expression "&local_ec" (& "&") (identifier "local_ec")) (, ",") (pointer_expression "&local_c8" (& "&") (identifier "local_c8")) (, ",") (identifier "param_3") () ")")))) (; ";")) (expression_statement "local_e8 = *param_1;" (assignment_expression "local_e8 = *param_1" (identifier "local_e8") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uStack_e0 = param_1[1];" (assignment_expression "uStack_e0 = param_1[1]" (identifier "uStack_e0") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_d8 = param_1[2];" (assignment_expression "local_d8 = param_1[2]" (identifier "local_d8") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uStack_d0 = param_1[3];" (assignment_expression "uStack_d0 = param_1[3]" (identifier "uStack_d0") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "local_a8 = (undefined1  [16])0x0;" (assignment_expression "local_a8 = (undefined1  [16])0x0" (identifier "local_a8") (= "=") (cast_expression "(undefined1  [16])0x0" (( "(") (type_descriptor "undefined1  [16]" (type_identifier "undefined1") (abstract_array_declarator "[16]" ([ "[") (number_literal "16") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_98[8] = 0x1e;" (assignment_expression "local_98[8] = 0x1e" (subscript_expression "local_98[8]" (identifier "local_98") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0x1e")) (; ";")) (expression_statement "local_98._0_8_ = (long)local_ec;" (assignment_expression "local_98._0_8_ = (long)local_ec" (field_expression "local_98._0_8_" (identifier "local_98") (. ".") (field_identifier "_0_8_")) (= "=") (cast_expression "(long)local_ec" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_ec"))) (; ";")) (expression_statement "local_98._9_7_ = 0;" (assignment_expression "local_98._9_7_ = 0" (field_expression "local_98._9_7_" (identifier "local_98") (. ".") (field_identifier "_9_7_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0013a660(param_3,&local_e8,local_88);" (call_expression "FUN_0013a660(param_3,&local_e8,local_88)" (identifier "FUN_0013a660") (argument_list "(param_3,&local_e8,local_88)" (( "(") (identifier "param_3") (, ",") (pointer_expression "&local_e8" (& "&") (identifier "local_e8")) (, ",") (identifier "local_88") () ")"))) (; ";")) (if_statement "if (lVar1 != 0) {\n      if (1 < local_84) {\n                    \n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }" (if "if") (parenthesized_expression "(lVar1 != 0)" (( "(") (binary_expression "lVar1 != 0" (identifier "lVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (1 < local_84) {\n                    \n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }\n      lVar2 = (long)local_84;\n      local_84 = local_84 + 1;\n      local_30 = lVar1;\n      auStack_60[lVar2 * 10] = 0x8d0;\n      auStack_68[lVar2 * 0x28] = 1;\n    }" ({ "{") (if_statement "if (1 < local_84) {\n                    \n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }" (if "if") (parenthesized_expression "(1 < local_84)" (( "(") (binary_expression "1 < local_84" (number_literal "1") (< "<") (identifier "local_84")) () ")")) (compound_statement "{\n                    \n        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");\n      }" ({ "{") (expression_statement "FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");" (call_expression "FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore")" (identifier "FUN_00123e60") (argument_list "("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore")" (( "(") (string_literal ""../../gas/config/tc-alpha.c"" (" """) (string_content "../../gas/config/tc-alpha.c") (" """)) (, ",") (number_literal "0x8ca") (, ",") (string_literal ""emit_loadstore"" (" """) (string_content "emit_loadstore") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar2 = (long)local_84;" (assignment_expression "lVar2 = (long)local_84" (identifier "lVar2") (= "=") (cast_expression "(long)local_84" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_84"))) (; ";")) (expression_statement "local_84 = local_84 + 1;" (assignment_expression "local_84 = local_84 + 1" (identifier "local_84") (= "=") (binary_expression "local_84 + 1" (identifier "local_84") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_30 = lVar1;" (assignment_expression "local_30 = lVar1" (identifier "local_30") (= "=") (identifier "lVar1")) (; ";")) (expression_statement "auStack_60[lVar2 * 10] = 0x8d0;" (assignment_expression "auStack_60[lVar2 * 10] = 0x8d0" (subscript_expression "auStack_60[lVar2 * 10]" (identifier "auStack_60") ([ "[") (binary_expression "lVar2 * 10" (identifier "lVar2") (* "*") (number_literal "10")) (] "]")) (= "=") (number_literal "0x8d0")) (; ";")) (expression_statement "auStack_68[lVar2 * 0x28] = 1;" (assignment_expression "auStack_68[lVar2 * 0x28] = 1" (subscript_expression "auStack_68[lVar2 * 0x28]" (identifier "auStack_68") ([ "[") (binary_expression "lVar2 * 0x28" (identifier "lVar2") (* "*") (number_literal "0x28")) (] "]")) (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}")))) (expression_statement "FUN_00138700(local_88);" (call_expression "FUN_00138700(local_88)" (identifier "FUN_00138700") (argument_list "(local_88)" (( "(") (identifier "local_88") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(type_1 *var_8,int var_1,void *opname)

{
  long var_9;
  long lVar2;
  char *format;
  type_2 *in_RCX;
  type_2 *insn_00;
  int basereg;
  type_1 var_6 [3];
  type_2 insn;
  
  if (var_1 == 2) {
    basereg = 0x1f;
    if (var_8[1].field_0x18 != '\x02') {
      basereg = alpha_gp_register;
    }
  }
  else {
    basereg = (int)var_8[2].X_add_number;
  }
  if ((var_8[1].field_0x18 == '\x02') && ((var_8[1].X_add_number >> 0xf) + 1U < 2)) {
    var_6[1].X_add_symbol = var_8[1].X_add_symbol;
    var_6[1].X_op_symbol = var_8[1].X_op_symbol;
    var_6[0].X_add_symbol = var_8->X_add_symbol;
    var_6[0].X_op_symbol = var_8->X_op_symbol;
    var_6[1].X_add_number = var_8[1].X_add_number;
    var_6[1]._24_2_ = *(type_3 *)&var_8[1].field_0x18;
    var_6[1].X_md = var_8[1].X_md;
    var_6[1]._28_4_ = *(type_4 *)&var_8[1].field_0x1c;
    var_6[0].X_add_number = var_8->X_add_number;
    var_6[0]._24_2_ = *(type_3 *)&var_8->field_0x18;
    var_6[0].X_md = var_8->X_md;
    var_6[0]._28_4_ = *(type_4 *)&var_8->field_0x1c;
    var_6[2].X_add_symbol = (type_5 *)0x0;
    var_6[2].X_op_symbol = (type_5 *)0x0;
    var_6[2]._24_1_ = 0x1e;
    var_6[2].X_add_number = (long)basereg;
    var_6[2]._25_7_ = 0;
    var_2((char *)opname,var_6,(int)&insn,in_RCX);
  }
  else {
    if (var_3 != 0) {
      format = (char *)var_4(0,"macro requires $at register while noat in effect",5);
      var_5(format);
    }
    insn_00 = (type_2 *)(var_6 + 1);
    var_9 = var_7(0x1c,var_8 + 1,&basereg,(type_1 *)insn_00,(char *)opname);
    var_6[0].X_add_symbol = var_8->X_add_symbol;
    var_6[0].X_op_symbol = var_8->X_op_symbol;
    var_6[0].X_add_number = var_8->X_add_number;
    var_6[0]._24_2_ = *(type_3 *)&var_8->field_0x18;
    var_6[0].X_md = var_8->X_md;
    var_6[0]._28_4_ = *(type_4 *)&var_8->field_0x1c;
    var_6[2].X_add_symbol = (type_5 *)0x0;
    var_6[2].X_op_symbol = (type_5 *)0x0;
    var_6[2]._24_1_ = 0x1e;
    var_6[2].X_add_number = (long)basereg;
    var_6[2]._25_7_ = 0;
    var_2((char *)opname,var_6,(int)&insn,insn_00);
    if (var_9 != 0) {
      if (1 < insn.nfixups) {
                    /* WARNING: Subroutine does not return */
        var_10("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");
      }
      lVar2 = (long)insn.nfixups;
      insn.nfixups = insn.nfixups + 1;
      insn.sequence = var_9;
      insn.fixups[lVar2].reloc = 0x8d0;
      insn.fixups[lVar2].exp.field_0x18 = 1;
    }
  }
  var_11(&insn);
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (sized_type_specifier) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_array_declarator size: (number_literal))) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_array_declarator size: (number_literal))) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (return_statement))))

void MASKED(undefined8 *param_1,int param_2,undefined8 param_3)

{
  long lVar1;
  long lVar2;
  undefined8 uVar3;
  int local_ec;
  undefined8 local_e8;
  undefined8 uStack_e0;
  undefined8 local_d8;
  undefined8 uStack_d0;
  undefined8 local_c8;
  undefined8 uStack_c0;
  undefined8 local_b8;
  undefined8 uStack_b0;
  undefined1 local_a8 [16];
  undefined1 local_98 [16];
  undefined1 local_88 [4];
  int local_84;
  undefined1 auStack_68 [8];
  undefined4 auStack_60 [12];
  long local_30;
  
  if (param_2 == 2) {
    local_ec = 0x1f;
    if (*(char *)(param_1 + 7) != '\x02') {
      local_ec = DAT_001647a0;
    }
  }
  else {
    local_ec = (int)param_1[10];
  }
  if ((*(char *)(param_1 + 7) == '\x02') && (((long)param_1[6] >> 0xf) + 1U < 2)) {
    local_c8 = param_1[4];
    uStack_c0 = param_1[5];
    local_e8 = *param_1;
    uStack_e0 = param_1[1];
    local_b8 = param_1[6];
    uStack_b0 = param_1[7];
    local_d8 = param_1[2];
    uStack_d0 = param_1[3];
    local_a8 = (undefined1  [16])0x0;
    local_98[8] = 0x1e;
    local_98._0_8_ = (long)local_ec;
    local_98._9_7_ = 0;
    FUN_0013a660(param_3,&local_e8,local_88);
  }
  else {
    if (DAT_0016dd48 != 0) {
      uVar3 = dcgettext(0,"macro requires $at register while noat in effect",5);
      FUN_00123bd0(uVar3);
    }
    lVar1 = FUN_0013a750(0x1c,param_1 + 4,&local_ec,&local_c8,param_3);
    local_e8 = *param_1;
    uStack_e0 = param_1[1];
    local_d8 = param_1[2];
    uStack_d0 = param_1[3];
    local_a8 = (undefined1  [16])0x0;
    local_98[8] = 0x1e;
    local_98._0_8_ = (long)local_ec;
    local_98._9_7_ = 0;
    FUN_0013a660(param_3,&local_e8,local_88);
    if (lVar1 != 0) {
      if (1 < local_84) {
                    /* WARNING: Subroutine does not return */
        FUN_00123e60("../../gas/config/tc-alpha.c",0x8ca,"emit_loadstore");
      }
      lVar2 = (long)local_84;
      local_84 = local_84 + 1;
      local_30 = lVar1;
      auStack_60[lVar2 * 10] = 0x8d0;
      auStack_68[lVar2 * 0x28] = 1;
    }
  }
  FUN_00138700(local_88);
  return;
}

