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

void s_alpha_frame(int dummy)

{
  alpha_elf_frame_data *paVar1;
  char cVar2;
  int iVar3;
  char *pcVar4;
  long val;
  undefined4 uStack_c;
  
  paVar1 = cur_frame_data;
  uStack_c = 0x4e497;
  if (0 < alpha_flag_mdebug) {
    ecoff_directive_frame(0);
    return;
  }
  if (cur_frame_data != (alpha_elf_frame_data *)0x0) {
    iVar3 = tc_get_register(1);
    paVar1->fp_regno = iVar3;
    pcVar4 = input_line_pointer + (*input_line_pointer == ' ');
    input_line_pointer = pcVar4 + 1;
    if ((*pcVar4 == ',') &&
       (cVar2 = get_absolute_expression_and_terminator(&val), paVar1 = cur_frame_data, cVar2 == ',')
       ) {
      *(long *)&cur_frame_data->frame_size = val;
      *(long *)((int)&paVar1->frame_size + 4) = val >> 0x1f;
      iVar3 = tc_get_register(0);
      paVar1->ra_regno = iVar3;
      s_ignore(0x2a);
      return;
    }
    pcVar4 = (char *)dcgettext(0,"bad .frame directive",5);
    as_warn(pcVar4);
    input_line_pointer = input_line_pointer + -1;
    ignore_rest_of_line();
    return;
  }
  pcVar4 = (char *)dcgettext(0,".frame outside of .ent",5);
  as_warn(pcVar4);
  ignore_rest_of_line();
  return;
}



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

void FUN_0004e490(void)

{
  int iVar1;
  char cVar2;
  undefined4 uVar3;
  char *pcVar4;
  int local_10 [2];
  
  iVar1 = DAT_00081124;
  local_10[1] = 0x4e497;
  if (0 < DAT_00078510) {
    FUN_000229c0(0);
    return;
  }
  if (DAT_00081124 != 0) {
    uVar3 = FUN_0004e380(1);
    *(undefined4 *)(iVar1 + 0x14) = uVar3;
    pcVar4 = DAT_00081578 + (*DAT_00081578 == ' ');
    DAT_00081578 = pcVar4 + 1;
    if ((*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')) {
      *(int *)(DAT_00081124 + 0x1c) = local_10[0];
      *(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;
      uVar3 = FUN_0004e380(0);
      *(undefined4 *)(iVar1 + 0x18) = uVar3;
      thunk_FUN_000339c0(0x2a);
      return;
    }
    uVar3 = dcgettext(0,"bad .frame directive",5);
    FUN_00031540(uVar3);
    DAT_00081578 = DAT_00081578 + -1;
    FUN_000339c0();
    return;
  }
  uVar3 = dcgettext(0,".frame outside of .ent",5);
  FUN_00031540(uVar3);
  FUN_000339c0();
  return;
}


PUSH ESI
PUSH EBX
CALL 0x00016070
ADD EBX,0x29b69
SUB ESP,0x14
MOV EAX,dword ptr [EBX + 0x510]
TEST EAX,EAX
JG 0x0004e528
MOV ESI,dword ptr [EBX + 0x9124]
TEST ESI,ESI
JZ 0x0004e540
SUB ESP,0xc
PUSH 0x1
CALL 0x0004e380
XOR EDX,EDX
ADD ESP,0x10
MOV dword ptr [ESI + 0x14],EAX
LEA ESI,[EBX + 0x9578]
MOV EAX,dword ptr [ESI]
CMP byte ptr [EAX],0x20
SETZ DL
ADD EAX,EDX
LEA EDX,[EAX + 0x1]
MOV dword ptr [ESI],EDX
CMP byte ptr [EAX],0x2c
JNZ 0x0004e4f8
SUB ESP,0xc
LEA EAX,[ESP + 0x18]
PUSH EAX
CALL 0x00039130
ADD ESP,0x10
CMP AL,0x2c
JZ 0x0004e570
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdfbc2]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141e0
MOV dword ptr [ESP],EAX
CALL 0x00031540
SUB dword ptr [ESI],0x1
CALL 0x000339c0
ADD ESP,0x10
ADD ESP,0x14
POP EBX
POP ESI
RET
SUB ESP,0xc
PUSH 0x0
CALL 0x000229c0
ADD ESP,0x10
ADD ESP,0x14
POP EBX
POP ESI
RET
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdfbab]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141e0
MOV dword ptr [ESP],EAX
CALL 0x00031540
CALL 0x000339c0
ADD ESP,0x10
ADD ESP,0x14
POP EBX
POP ESI
RET
MOV EAX,dword ptr [ESP + 0xc]
MOV ESI,dword ptr [EBX + 0x9124]
SUB ESP,0xc
MOV dword ptr [ESI + 0x1c],EAX
SAR EAX,0x1f
MOV dword ptr [ESI + 0x20],EAX
PUSH 0x0
CALL 0x0004e380
MOV dword ptr [ESI + 0x18],EAX
MOV dword ptr [ESP],0x2a
CALL 0x00035490
ADD ESP,0x10
JMP 0x0004e51e
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_0004e490(void)\n\n{\n  int iVar1;\n  char cVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  int local_10 [2];\n  \n  iVar1 = DAT_00081124;\n  local_10[1] = 0x4e497;\n  if (0 < DAT_00078510) {\n    FUN_000229c0(0);\n    return;\n  }\n  if (DAT_00081124 != 0) {\n    uVar3 = FUN_0004e380(1);\n    *(undefined4 *)(iVar1 + 0x14) = uVar3;\n    pcVar4 = DAT_00081578 + (*DAT_00081578 == ' ');\n    DAT_00081578 = pcVar4 + 1;\n    if ((*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')) {\n      *(int *)(DAT_00081124 + 0x1c) = local_10[0];\n      *(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;\n      uVar3 = FUN_0004e380(0);\n      *(undefined4 *)(iVar1 + 0x18) = uVar3;\n      thunk_FUN_000339c0(0x2a);\n      return;\n    }\n    uVar3 = dcgettext(0,"bad .frame directive",5);\n    FUN_00031540(uVar3);\n    DAT_00081578 = DAT_00081578 + -1;\n    FUN_000339c0();\n    return;\n  }\n  uVar3 = dcgettext(0,".frame outside of .ent",5);\n  FUN_00031540(uVar3);\n  FUN_000339c0();\n  return;\n}\n\n" comment (function_definition "void FUN_0004e490(void)\n\n{\n  int iVar1;\n  char cVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  int local_10 [2];\n  \n  iVar1 = DAT_00081124;\n  local_10[1] = 0x4e497;\n  if (0 < DAT_00078510) {\n    FUN_000229c0(0);\n    return;\n  }\n  if (DAT_00081124 != 0) {\n    uVar3 = FUN_0004e380(1);\n    *(undefined4 *)(iVar1 + 0x14) = uVar3;\n    pcVar4 = DAT_00081578 + (*DAT_00081578 == ' ');\n    DAT_00081578 = pcVar4 + 1;\n    if ((*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')) {\n      *(int *)(DAT_00081124 + 0x1c) = local_10[0];\n      *(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;\n      uVar3 = FUN_0004e380(0);\n      *(undefined4 *)(iVar1 + 0x18) = uVar3;\n      thunk_FUN_000339c0(0x2a);\n      return;\n    }\n    uVar3 = dcgettext(0,"bad .frame directive",5);\n    FUN_00031540(uVar3);\n    DAT_00081578 = DAT_00081578 + -1;\n    FUN_000339c0();\n    return;\n  }\n  uVar3 = dcgettext(0,".frame outside of .ent",5);\n  FUN_00031540(uVar3);\n  FUN_000339c0();\n  return;\n}" primitive_type (function_declarator "FUN_0004e490(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  char cVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  int local_10 [2];\n  \n  iVar1 = DAT_00081124;\n  local_10[1] = 0x4e497;\n  if (0 < DAT_00078510) {\n    FUN_000229c0(0);\n    return;\n  }\n  if (DAT_00081124 != 0) {\n    uVar3 = FUN_0004e380(1);\n    *(undefined4 *)(iVar1 + 0x14) = uVar3;\n    pcVar4 = DAT_00081578 + (*DAT_00081578 == ' ');\n    DAT_00081578 = pcVar4 + 1;\n    if ((*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')) {\n      *(int *)(DAT_00081124 + 0x1c) = local_10[0];\n      *(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;\n      uVar3 = FUN_0004e380(0);\n      *(undefined4 *)(iVar1 + 0x18) = uVar3;\n      thunk_FUN_000339c0(0x2a);\n      return;\n    }\n    uVar3 = dcgettext(0,"bad .frame directive",5);\n    FUN_00031540(uVar3);\n    DAT_00081578 = DAT_00081578 + -1;\n    FUN_000339c0();\n    return;\n  }\n  uVar3 = dcgettext(0,".frame outside of .ent",5);\n  FUN_00031540(uVar3);\n  FUN_000339c0();\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "int local_10 [2];" primitive_type (array_declarator "local_10 [2]" identifier [ number_literal ]) ;) (expression_statement "iVar1 = DAT_00081124;" (assignment_expression "iVar1 = DAT_00081124" identifier = identifier) ;) (expression_statement "local_10[1] = 0x4e497;" (assignment_expression "local_10[1] = 0x4e497" (subscript_expression "local_10[1]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (0 < DAT_00078510) {\n    FUN_000229c0(0);\n    return;\n  }" if (parenthesized_expression "(0 < DAT_00078510)" ( (binary_expression "0 < DAT_00078510" number_literal < identifier) )) (compound_statement "{\n    FUN_000229c0(0);\n    return;\n  }" { (expression_statement "FUN_000229c0(0);" (call_expression "FUN_000229c0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (return_statement "return;" return ;) })) (if_statement "if (DAT_00081124 != 0) {\n    uVar3 = FUN_0004e380(1);\n    *(undefined4 *)(iVar1 + 0x14) = uVar3;\n    pcVar4 = DAT_00081578 + (*DAT_00081578 == ' ');\n    DAT_00081578 = pcVar4 + 1;\n    if ((*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')) {\n      *(int *)(DAT_00081124 + 0x1c) = local_10[0];\n      *(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;\n      uVar3 = FUN_0004e380(0);\n      *(undefined4 *)(iVar1 + 0x18) = uVar3;\n      thunk_FUN_000339c0(0x2a);\n      return;\n    }\n    uVar3 = dcgettext(0,"bad .frame directive",5);\n    FUN_00031540(uVar3);\n    DAT_00081578 = DAT_00081578 + -1;\n    FUN_000339c0();\n    return;\n  }" if (parenthesized_expression "(DAT_00081124 != 0)" ( (binary_expression "DAT_00081124 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar3 = FUN_0004e380(1);\n    *(undefined4 *)(iVar1 + 0x14) = uVar3;\n    pcVar4 = DAT_00081578 + (*DAT_00081578 == ' ');\n    DAT_00081578 = pcVar4 + 1;\n    if ((*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')) {\n      *(int *)(DAT_00081124 + 0x1c) = local_10[0];\n      *(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;\n      uVar3 = FUN_0004e380(0);\n      *(undefined4 *)(iVar1 + 0x18) = uVar3;\n      thunk_FUN_000339c0(0x2a);\n      return;\n    }\n    uVar3 = dcgettext(0,"bad .frame directive",5);\n    FUN_00031540(uVar3);\n    DAT_00081578 = DAT_00081578 + -1;\n    FUN_000339c0();\n    return;\n  }" { (expression_statement "uVar3 = FUN_0004e380(1);" (assignment_expression "uVar3 = FUN_0004e380(1)" identifier = (call_expression "FUN_0004e380(1)" identifier (argument_list "(1)" ( number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x14) = uVar3;" (assignment_expression "*(undefined4 *)(iVar1 + 0x14) = uVar3" (pointer_expression "*(undefined4 *)(iVar1 + 0x14)" * (cast_expression "(undefined4 *)(iVar1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x14)" ( (binary_expression "iVar1 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar4 = DAT_00081578 + (*DAT_00081578 == ' ');" (assignment_expression "pcVar4 = DAT_00081578 + (*DAT_00081578 == ' ')" identifier = (binary_expression "DAT_00081578 + (*DAT_00081578 == ' ')" identifier + (parenthesized_expression "(*DAT_00081578 == ' ')" ( (binary_expression "*DAT_00081578 == ' '" (pointer_expression "*DAT_00081578" * identifier) == (char_literal "' '" ' character ')) )))) ;) (expression_statement "DAT_00081578 = pcVar4 + 1;" (assignment_expression "DAT_00081578 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (if_statement "if ((*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')) {\n      *(int *)(DAT_00081124 + 0x1c) = local_10[0];\n      *(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;\n      uVar3 = FUN_0004e380(0);\n      *(undefined4 *)(iVar1 + 0x18) = uVar3;\n      thunk_FUN_000339c0(0x2a);\n      return;\n    }" if (parenthesized_expression "((*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ','))" ( (binary_expression "(*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')" (parenthesized_expression "(*pcVar4 == ',')" ( (binary_expression "*pcVar4 == ','" (pointer_expression "*pcVar4" * identifier) == (char_literal "','" ' character ')) )) && (parenthesized_expression "(cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')" ( (comma_expression "cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ','" (assignment_expression "cVar2 = FUN_00039130(local_10)" identifier = (call_expression "FUN_00039130(local_10)" identifier (argument_list "(local_10)" ( identifier )))) , (comma_expression "iVar1 = DAT_00081124, cVar2 == ','" (assignment_expression "iVar1 = DAT_00081124" identifier = identifier) , (binary_expression "cVar2 == ','" identifier == (char_literal "','" ' character ')))) ))) )) (compound_statement "{\n      *(int *)(DAT_00081124 + 0x1c) = local_10[0];\n      *(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;\n      uVar3 = FUN_0004e380(0);\n      *(undefined4 *)(iVar1 + 0x18) = uVar3;\n      thunk_FUN_000339c0(0x2a);\n      return;\n    }" { (expression_statement "*(int *)(DAT_00081124 + 0x1c) = local_10[0];" (assignment_expression "*(int *)(DAT_00081124 + 0x1c) = local_10[0]" (pointer_expression "*(int *)(DAT_00081124 + 0x1c)" * (cast_expression "(int *)(DAT_00081124 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00081124 + 0x1c)" ( (binary_expression "DAT_00081124 + 0x1c" identifier + number_literal) )))) = (subscript_expression "local_10[0]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;" (assignment_expression "*(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f" (pointer_expression "*(int *)(iVar1 + 0x20)" * (cast_expression "(int *)(iVar1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x20)" ( (binary_expression "iVar1 + 0x20" identifier + number_literal) )))) = (binary_expression "local_10[0] >> 0x1f" (subscript_expression "local_10[0]" identifier [ number_literal ]) >> number_literal)) ;) (expression_statement "uVar3 = FUN_0004e380(0);" (assignment_expression "uVar3 = FUN_0004e380(0)" identifier = (call_expression "FUN_0004e380(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x18) = uVar3;" (assignment_expression "*(undefined4 *)(iVar1 + 0x18) = uVar3" (pointer_expression "*(undefined4 *)(iVar1 + 0x18)" * (cast_expression "(undefined4 *)(iVar1 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x18)" ( (binary_expression "iVar1 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "thunk_FUN_000339c0(0x2a);" (call_expression "thunk_FUN_000339c0(0x2a)" identifier (argument_list "(0x2a)" ( number_literal ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar3 = dcgettext(0,"bad .frame directive",5);" (assignment_expression "uVar3 = dcgettext(0,"bad .frame directive",5)" identifier = (call_expression "dcgettext(0,"bad .frame directive",5)" identifier (argument_list "(0,"bad .frame directive",5)" ( number_literal , (string_literal ""bad .frame directive"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00031540(uVar3);" (call_expression "FUN_00031540(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "DAT_00081578 = DAT_00081578 + -1;" (assignment_expression "DAT_00081578 = DAT_00081578 + -1" identifier = (binary_expression "DAT_00081578 + -1" identifier + number_literal)) ;) (expression_statement "FUN_000339c0();" (call_expression "FUN_000339c0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar3 = dcgettext(0,".frame outside of .ent",5);" (assignment_expression "uVar3 = dcgettext(0,".frame outside of .ent",5)" identifier = (call_expression "dcgettext(0,".frame outside of .ent",5)" identifier (argument_list "(0,".frame outside of .ent",5)" ( number_literal , (string_literal "".frame outside of .ent"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00031540(uVar3);" (call_expression "FUN_00031540(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "FUN_000339c0();" (call_expression "FUN_000339c0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nvoid s_alpha_frame(int dummy)\n\n{\n  alpha_elf_frame_data *paVar1;\n  char cVar2;\n  int iVar3;\n  char *pcVar4;\n  long val;\n  undefined4 uStack_c;\n  \n  paVar1 = cur_frame_data;\n  uStack_c = 0x4e497;\n  if (0 < alpha_flag_mdebug) {\n    ecoff_directive_frame(0);\n    return;\n  }\n  if (cur_frame_data != (alpha_elf_frame_data *)0x0) {\n    iVar3 = tc_get_register(1);\n    paVar1->fp_regno = iVar3;\n    pcVar4 = input_line_pointer + (*input_line_pointer == ' ');\n    input_line_pointer = pcVar4 + 1;\n    if ((*pcVar4 == ',') &&\n       (cVar2 = get_absolute_expression_and_terminator(&val), paVar1 = cur_frame_data, cVar2 == ',')\n       ) {\n      *(long *)&cur_frame_data->frame_size = val;\n      *(long *)((int)&paVar1->frame_size + 4) = val >> 0x1f;\n      iVar3 = tc_get_register(0);\n      paVar1->ra_regno = iVar3;\n      s_ignore(0x2a);\n      return;\n    }\n    pcVar4 = (char *)dcgettext(0,"bad .frame directive",5);\n    as_warn(pcVar4);\n    input_line_pointer = input_line_pointer + -1;\n    ignore_rest_of_line();\n    return;\n  }\n  pcVar4 = (char *)dcgettext(0,".frame outside of .ent",5);\n  as_warn(pcVar4);\n  ignore_rest_of_line();\n  return;\n}\n\n" comment comment (function_definition "void s_alpha_frame(int dummy)\n\n{\n  alpha_elf_frame_data *paVar1;\n  char cVar2;\n  int iVar3;\n  char *pcVar4;\n  long val;\n  undefined4 uStack_c;\n  \n  paVar1 = cur_frame_data;\n  uStack_c = 0x4e497;\n  if (0 < alpha_flag_mdebug) {\n    ecoff_directive_frame(0);\n    return;\n  }\n  if (cur_frame_data != (alpha_elf_frame_data *)0x0) {\n    iVar3 = tc_get_register(1);\n    paVar1->fp_regno = iVar3;\n    pcVar4 = input_line_pointer + (*input_line_pointer == ' ');\n    input_line_pointer = pcVar4 + 1;\n    if ((*pcVar4 == ',') &&\n       (cVar2 = get_absolute_expression_and_terminator(&val), paVar1 = cur_frame_data, cVar2 == ',')\n       ) {\n      *(long *)&cur_frame_data->frame_size = val;\n      *(long *)((int)&paVar1->frame_size + 4) = val >> 0x1f;\n      iVar3 = tc_get_register(0);\n      paVar1->ra_regno = iVar3;\n      s_ignore(0x2a);\n      return;\n    }\n    pcVar4 = (char *)dcgettext(0,"bad .frame directive",5);\n    as_warn(pcVar4);\n    input_line_pointer = input_line_pointer + -1;\n    ignore_rest_of_line();\n    return;\n  }\n  pcVar4 = (char *)dcgettext(0,".frame outside of .ent",5);\n  as_warn(pcVar4);\n  ignore_rest_of_line();\n  return;\n}" primitive_type (function_declarator "s_alpha_frame(int dummy)" identifier (parameter_list "(int dummy)" ( (parameter_declaration "int dummy" primitive_type identifier) ))) (compound_statement "{\n  alpha_elf_frame_data *paVar1;\n  char cVar2;\n  int iVar3;\n  char *pcVar4;\n  long val;\n  undefined4 uStack_c;\n  \n  paVar1 = cur_frame_data;\n  uStack_c = 0x4e497;\n  if (0 < alpha_flag_mdebug) {\n    ecoff_directive_frame(0);\n    return;\n  }\n  if (cur_frame_data != (alpha_elf_frame_data *)0x0) {\n    iVar3 = tc_get_register(1);\n    paVar1->fp_regno = iVar3;\n    pcVar4 = input_line_pointer + (*input_line_pointer == ' ');\n    input_line_pointer = pcVar4 + 1;\n    if ((*pcVar4 == ',') &&\n       (cVar2 = get_absolute_expression_and_terminator(&val), paVar1 = cur_frame_data, cVar2 == ',')\n       ) {\n      *(long *)&cur_frame_data->frame_size = val;\n      *(long *)((int)&paVar1->frame_size + 4) = val >> 0x1f;\n      iVar3 = tc_get_register(0);\n      paVar1->ra_regno = iVar3;\n      s_ignore(0x2a);\n      return;\n    }\n    pcVar4 = (char *)dcgettext(0,"bad .frame directive",5);\n    as_warn(pcVar4);\n    input_line_pointer = input_line_pointer + -1;\n    ignore_rest_of_line();\n    return;\n  }\n  pcVar4 = (char *)dcgettext(0,".frame outside of .ent",5);\n  as_warn(pcVar4);\n  ignore_rest_of_line();\n  return;\n}" { (declaration "alpha_elf_frame_data *paVar1;" type_identifier (pointer_declarator "*paVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "long val;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined4 uStack_c;" type_identifier identifier ;) (expression_statement "paVar1 = cur_frame_data;" (assignment_expression "paVar1 = cur_frame_data" identifier = identifier) ;) (expression_statement "uStack_c = 0x4e497;" (assignment_expression "uStack_c = 0x4e497" identifier = number_literal) ;) (if_statement "if (0 < alpha_flag_mdebug) {\n    ecoff_directive_frame(0);\n    return;\n  }" if (parenthesized_expression "(0 < alpha_flag_mdebug)" ( (binary_expression "0 < alpha_flag_mdebug" number_literal < identifier) )) (compound_statement "{\n    ecoff_directive_frame(0);\n    return;\n  }" { (expression_statement "ecoff_directive_frame(0);" (call_expression "ecoff_directive_frame(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (return_statement "return;" return ;) })) (if_statement "if (cur_frame_data != (alpha_elf_frame_data *)0x0) {\n    iVar3 = tc_get_register(1);\n    paVar1->fp_regno = iVar3;\n    pcVar4 = input_line_pointer + (*input_line_pointer == ' ');\n    input_line_pointer = pcVar4 + 1;\n    if ((*pcVar4 == ',') &&\n       (cVar2 = get_absolute_expression_and_terminator(&val), paVar1 = cur_frame_data, cVar2 == ',')\n       ) {\n      *(long *)&cur_frame_data->frame_size = val;\n      *(long *)((int)&paVar1->frame_size + 4) = val >> 0x1f;\n      iVar3 = tc_get_register(0);\n      paVar1->ra_regno = iVar3;\n      s_ignore(0x2a);\n      return;\n    }\n    pcVar4 = (char *)dcgettext(0,"bad .frame directive",5);\n    as_warn(pcVar4);\n    input_line_pointer = input_line_pointer + -1;\n    ignore_rest_of_line();\n    return;\n  }" if (parenthesized_expression "(cur_frame_data != (alpha_elf_frame_data *)0x0)" ( (binary_expression "cur_frame_data != (alpha_elf_frame_data *)0x0" identifier != (cast_expression "(alpha_elf_frame_data *)0x0" ( (type_descriptor "alpha_elf_frame_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar3 = tc_get_register(1);\n    paVar1->fp_regno = iVar3;\n    pcVar4 = input_line_pointer + (*input_line_pointer == ' ');\n    input_line_pointer = pcVar4 + 1;\n    if ((*pcVar4 == ',') &&\n       (cVar2 = get_absolute_expression_and_terminator(&val), paVar1 = cur_frame_data, cVar2 == ',')\n       ) {\n      *(long *)&cur_frame_data->frame_size = val;\n      *(long *)((int)&paVar1->frame_size + 4) = val >> 0x1f;\n      iVar3 = tc_get_register(0);\n      paVar1->ra_regno = iVar3;\n      s_ignore(0x2a);\n      return;\n    }\n    pcVar4 = (char *)dcgettext(0,"bad .frame directive",5);\n    as_warn(pcVar4);\n    input_line_pointer = input_line_pointer + -1;\n    ignore_rest_of_line();\n    return;\n  }" { (expression_statement "iVar3 = tc_get_register(1);" (assignment_expression "iVar3 = tc_get_register(1)" identifier = (call_expression "tc_get_register(1)" identifier (argument_list "(1)" ( number_literal )))) ;) (expression_statement "paVar1->fp_regno = iVar3;" (assignment_expression "paVar1->fp_regno = iVar3" (field_expression "paVar1->fp_regno" identifier -> field_identifier) = identifier) ;) (expression_statement "pcVar4 = input_line_pointer + (*input_line_pointer == ' ');" (assignment_expression "pcVar4 = input_line_pointer + (*input_line_pointer == ' ')" identifier = (binary_expression "input_line_pointer + (*input_line_pointer == ' ')" identifier + (parenthesized_expression "(*input_line_pointer == ' ')" ( (binary_expression "*input_line_pointer == ' '" (pointer_expression "*input_line_pointer" * identifier) == (char_literal "' '" ' character ')) )))) ;) (expression_statement "input_line_pointer = pcVar4 + 1;" (assignment_expression "input_line_pointer = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (if_statement "if ((*pcVar4 == ',') &&\n       (cVar2 = get_absolute_expression_and_terminator(&val), paVar1 = cur_frame_data, cVar2 == ',')\n       ) {\n      *(long *)&cur_frame_data->frame_size = val;\n      *(long *)((int)&paVar1->frame_size + 4) = val >> 0x1f;\n      iVar3 = tc_get_register(0);\n      paVar1->ra_regno = iVar3;\n      s_ignore(0x2a);\n      return;\n    }" if (parenthesized_expression "((*pcVar4 == ',') &&\n       (cVar2 = get_absolute_expression_and_terminator(&val), paVar1 = cur_frame_data, cVar2 == ',')\n       )" ( (binary_expression "(*pcVar4 == ',') &&\n       (cVar2 = get_absolute_expression_and_terminator(&val), paVar1 = cur_frame_data, cVar2 == ',')" (parenthesized_expression "(*pcVar4 == ',')" ( (binary_expression "*pcVar4 == ','" (pointer_expression "*pcVar4" * identifier) == (char_literal "','" ' character ')) )) && (parenthesized_expression "(cVar2 = get_absolute_expression_and_terminator(&val), paVar1 = cur_frame_data, cVar2 == ',')" ( (comma_expression "cVar2 = get_absolute_expression_and_terminator(&val), paVar1 = cur_frame_data, cVar2 == ','" (assignment_expression "cVar2 = get_absolute_expression_and_terminator(&val)" identifier = (call_expression "get_absolute_expression_and_terminator(&val)" identifier (argument_list "(&val)" ( (pointer_expression "&val" & identifier) )))) , (comma_expression "paVar1 = cur_frame_data, cVar2 == ','" (assignment_expression "paVar1 = cur_frame_data" identifier = identifier) , (binary_expression "cVar2 == ','" identifier == (char_literal "','" ' character ')))) ))) )) (compound_statement "{\n      *(long *)&cur_frame_data->frame_size = val;\n      *(long *)((int)&paVar1->frame_size + 4) = val >> 0x1f;\n      iVar3 = tc_get_register(0);\n      paVar1->ra_regno = iVar3;\n      s_ignore(0x2a);\n      return;\n    }" { (expression_statement "*(long *)&cur_frame_data->frame_size = val;" (assignment_expression "*(long *)&cur_frame_data->frame_size = val" (pointer_expression "*(long *)&cur_frame_data->frame_size" * (cast_expression "(long *)&cur_frame_data->frame_size" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&cur_frame_data->frame_size" & (field_expression "cur_frame_data->frame_size" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(long *)((int)&paVar1->frame_size + 4) = val >> 0x1f;" (assignment_expression "*(long *)((int)&paVar1->frame_size + 4) = val >> 0x1f" (pointer_expression "*(long *)((int)&paVar1->frame_size + 4)" * (cast_expression "(long *)((int)&paVar1->frame_size + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&paVar1->frame_size + 4)" ( (binary_expression "(int)&paVar1->frame_size + 4" (cast_expression "(int)&paVar1->frame_size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar1->frame_size" & (field_expression "paVar1->frame_size" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "val >> 0x1f" identifier >> number_literal)) ;) (expression_statement "iVar3 = tc_get_register(0);" (assignment_expression "iVar3 = tc_get_register(0)" identifier = (call_expression "tc_get_register(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "paVar1->ra_regno = iVar3;" (assignment_expression "paVar1->ra_regno = iVar3" (field_expression "paVar1->ra_regno" identifier -> field_identifier) = identifier) ;) (expression_statement "s_ignore(0x2a);" (call_expression "s_ignore(0x2a)" identifier (argument_list "(0x2a)" ( number_literal ))) ;) (return_statement "return;" return ;) })) (expression_statement "pcVar4 = (char *)dcgettext(0,"bad .frame directive",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"bad .frame directive",5)" identifier = (cast_expression "(char *)dcgettext(0,"bad .frame directive",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"bad .frame directive",5)" identifier (argument_list "(0,"bad .frame directive",5)" ( number_literal , (string_literal ""bad .frame directive"" " string_content ") , number_literal ))))) ;) (expression_statement "as_warn(pcVar4);" (call_expression "as_warn(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) (expression_statement "input_line_pointer = input_line_pointer + -1;" (assignment_expression "input_line_pointer = input_line_pointer + -1" identifier = (binary_expression "input_line_pointer + -1" identifier + number_literal)) ;) (expression_statement "ignore_rest_of_line();" (call_expression "ignore_rest_of_line()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "pcVar4 = (char *)dcgettext(0,".frame outside of .ent",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,".frame outside of .ent",5)" identifier = (cast_expression "(char *)dcgettext(0,".frame outside of .ent",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,".frame outside of .ent",5)" identifier (argument_list "(0,".frame outside of .ent",5)" ( number_literal , (string_literal "".frame outside of .ent"" " string_content ") , number_literal ))))) ;) (expression_statement "as_warn(pcVar4);" (call_expression "as_warn(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) (expression_statement "ignore_rest_of_line();" (call_expression "ignore_rest_of_line()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0004e490(void)\n\n{\n  int iVar1;\n  char cVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  int local_10 [2];\n  \n  iVar1 = DAT_00081124;\n  local_10[1] = 0x4e497;\n  if (0 < DAT_00078510) {\n    FUN_000229c0(0);\n    return;\n  }\n  if (DAT_00081124 != 0) {\n    uVar3 = FUN_0004e380(1);\n    *(undefined4 *)(iVar1 + 0x14) = uVar3;\n    pcVar4 = DAT_00081578 + (*DAT_00081578 == ' ');\n    DAT_00081578 = pcVar4 + 1;\n    if ((*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')) {\n      *(int *)(DAT_00081124 + 0x1c) = local_10[0];\n      *(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;\n      uVar3 = FUN_0004e380(0);\n      *(undefined4 *)(iVar1 + 0x18) = uVar3;\n      thunk_FUN_000339c0(0x2a);\n      return;\n    }\n    uVar3 = dcgettext(0,"bad .frame directive",5);\n    FUN_00031540(uVar3);\n    DAT_00081578 = DAT_00081578 + -1;\n    FUN_000339c0();\n    return;\n  }\n  uVar3 = dcgettext(0,".frame outside of .ent",5);\n  FUN_00031540(uVar3);\n  FUN_000339c0();\n  return;\n}\n\n" (function_definition "void FUN_0004e490(void)\n\n{\n  int iVar1;\n  char cVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  int local_10 [2];\n  \n  iVar1 = DAT_00081124;\n  local_10[1] = 0x4e497;\n  if (0 < DAT_00078510) {\n    FUN_000229c0(0);\n    return;\n  }\n  if (DAT_00081124 != 0) {\n    uVar3 = FUN_0004e380(1);\n    *(undefined4 *)(iVar1 + 0x14) = uVar3;\n    pcVar4 = DAT_00081578 + (*DAT_00081578 == ' ');\n    DAT_00081578 = pcVar4 + 1;\n    if ((*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')) {\n      *(int *)(DAT_00081124 + 0x1c) = local_10[0];\n      *(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;\n      uVar3 = FUN_0004e380(0);\n      *(undefined4 *)(iVar1 + 0x18) = uVar3;\n      thunk_FUN_000339c0(0x2a);\n      return;\n    }\n    uVar3 = dcgettext(0,"bad .frame directive",5);\n    FUN_00031540(uVar3);\n    DAT_00081578 = DAT_00081578 + -1;\n    FUN_000339c0();\n    return;\n  }\n  uVar3 = dcgettext(0,".frame outside of .ent",5);\n  FUN_00031540(uVar3);\n  FUN_000339c0();\n  return;\n}" primitive_type (function_declarator "FUN_0004e490(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  char cVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  int local_10 [2];\n  \n  iVar1 = DAT_00081124;\n  local_10[1] = 0x4e497;\n  if (0 < DAT_00078510) {\n    FUN_000229c0(0);\n    return;\n  }\n  if (DAT_00081124 != 0) {\n    uVar3 = FUN_0004e380(1);\n    *(undefined4 *)(iVar1 + 0x14) = uVar3;\n    pcVar4 = DAT_00081578 + (*DAT_00081578 == ' ');\n    DAT_00081578 = pcVar4 + 1;\n    if ((*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')) {\n      *(int *)(DAT_00081124 + 0x1c) = local_10[0];\n      *(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;\n      uVar3 = FUN_0004e380(0);\n      *(undefined4 *)(iVar1 + 0x18) = uVar3;\n      thunk_FUN_000339c0(0x2a);\n      return;\n    }\n    uVar3 = dcgettext(0,"bad .frame directive",5);\n    FUN_00031540(uVar3);\n    DAT_00081578 = DAT_00081578 + -1;\n    FUN_000339c0();\n    return;\n  }\n  uVar3 = dcgettext(0,".frame outside of .ent",5);\n  FUN_00031540(uVar3);\n  FUN_000339c0();\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "int local_10 [2];" primitive_type (array_declarator "local_10 [2]" identifier [ number_literal ]) ;) (expression_statement "iVar1 = DAT_00081124;" (assignment_expression "iVar1 = DAT_00081124" identifier = identifier) ;) (expression_statement "local_10[1] = 0x4e497;" (assignment_expression "local_10[1] = 0x4e497" (subscript_expression "local_10[1]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (0 < DAT_00078510) {\n    FUN_000229c0(0);\n    return;\n  }" if (parenthesized_expression "(0 < DAT_00078510)" ( (binary_expression "0 < DAT_00078510" number_literal < identifier) )) (compound_statement "{\n    FUN_000229c0(0);\n    return;\n  }" { (expression_statement "FUN_000229c0(0);" (call_expression "FUN_000229c0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (return_statement "return;" return ;) })) (if_statement "if (DAT_00081124 != 0) {\n    uVar3 = FUN_0004e380(1);\n    *(undefined4 *)(iVar1 + 0x14) = uVar3;\n    pcVar4 = DAT_00081578 + (*DAT_00081578 == ' ');\n    DAT_00081578 = pcVar4 + 1;\n    if ((*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')) {\n      *(int *)(DAT_00081124 + 0x1c) = local_10[0];\n      *(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;\n      uVar3 = FUN_0004e380(0);\n      *(undefined4 *)(iVar1 + 0x18) = uVar3;\n      thunk_FUN_000339c0(0x2a);\n      return;\n    }\n    uVar3 = dcgettext(0,"bad .frame directive",5);\n    FUN_00031540(uVar3);\n    DAT_00081578 = DAT_00081578 + -1;\n    FUN_000339c0();\n    return;\n  }" if (parenthesized_expression "(DAT_00081124 != 0)" ( (binary_expression "DAT_00081124 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar3 = FUN_0004e380(1);\n    *(undefined4 *)(iVar1 + 0x14) = uVar3;\n    pcVar4 = DAT_00081578 + (*DAT_00081578 == ' ');\n    DAT_00081578 = pcVar4 + 1;\n    if ((*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')) {\n      *(int *)(DAT_00081124 + 0x1c) = local_10[0];\n      *(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;\n      uVar3 = FUN_0004e380(0);\n      *(undefined4 *)(iVar1 + 0x18) = uVar3;\n      thunk_FUN_000339c0(0x2a);\n      return;\n    }\n    uVar3 = dcgettext(0,"bad .frame directive",5);\n    FUN_00031540(uVar3);\n    DAT_00081578 = DAT_00081578 + -1;\n    FUN_000339c0();\n    return;\n  }" { (expression_statement "uVar3 = FUN_0004e380(1);" (assignment_expression "uVar3 = FUN_0004e380(1)" identifier = (call_expression "FUN_0004e380(1)" identifier (argument_list "(1)" ( number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x14) = uVar3;" (assignment_expression "*(undefined4 *)(iVar1 + 0x14) = uVar3" (pointer_expression "*(undefined4 *)(iVar1 + 0x14)" * (cast_expression "(undefined4 *)(iVar1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x14)" ( (binary_expression "iVar1 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar4 = DAT_00081578 + (*DAT_00081578 == ' ');" (assignment_expression "pcVar4 = DAT_00081578 + (*DAT_00081578 == ' ')" identifier = (binary_expression "DAT_00081578 + (*DAT_00081578 == ' ')" identifier + (parenthesized_expression "(*DAT_00081578 == ' ')" ( (binary_expression "*DAT_00081578 == ' '" (pointer_expression "*DAT_00081578" * identifier) == (char_literal "' '" ' character ')) )))) ;) (expression_statement "DAT_00081578 = pcVar4 + 1;" (assignment_expression "DAT_00081578 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (if_statement "if ((*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')) {\n      *(int *)(DAT_00081124 + 0x1c) = local_10[0];\n      *(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;\n      uVar3 = FUN_0004e380(0);\n      *(undefined4 *)(iVar1 + 0x18) = uVar3;\n      thunk_FUN_000339c0(0x2a);\n      return;\n    }" if (parenthesized_expression "((*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ','))" ( (binary_expression "(*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')" (parenthesized_expression "(*pcVar4 == ',')" ( (binary_expression "*pcVar4 == ','" (pointer_expression "*pcVar4" * identifier) == (char_literal "','" ' character ')) )) && (parenthesized_expression "(cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')" ( (comma_expression "cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ','" (assignment_expression "cVar2 = FUN_00039130(local_10)" identifier = (call_expression "FUN_00039130(local_10)" identifier (argument_list "(local_10)" ( identifier )))) , (comma_expression "iVar1 = DAT_00081124, cVar2 == ','" (assignment_expression "iVar1 = DAT_00081124" identifier = identifier) , (binary_expression "cVar2 == ','" identifier == (char_literal "','" ' character ')))) ))) )) (compound_statement "{\n      *(int *)(DAT_00081124 + 0x1c) = local_10[0];\n      *(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;\n      uVar3 = FUN_0004e380(0);\n      *(undefined4 *)(iVar1 + 0x18) = uVar3;\n      thunk_FUN_000339c0(0x2a);\n      return;\n    }" { (expression_statement "*(int *)(DAT_00081124 + 0x1c) = local_10[0];" (assignment_expression "*(int *)(DAT_00081124 + 0x1c) = local_10[0]" (pointer_expression "*(int *)(DAT_00081124 + 0x1c)" * (cast_expression "(int *)(DAT_00081124 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00081124 + 0x1c)" ( (binary_expression "DAT_00081124 + 0x1c" identifier + number_literal) )))) = (subscript_expression "local_10[0]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;" (assignment_expression "*(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f" (pointer_expression "*(int *)(iVar1 + 0x20)" * (cast_expression "(int *)(iVar1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x20)" ( (binary_expression "iVar1 + 0x20" identifier + number_literal) )))) = (binary_expression "local_10[0] >> 0x1f" (subscript_expression "local_10[0]" identifier [ number_literal ]) >> number_literal)) ;) (expression_statement "uVar3 = FUN_0004e380(0);" (assignment_expression "uVar3 = FUN_0004e380(0)" identifier = (call_expression "FUN_0004e380(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x18) = uVar3;" (assignment_expression "*(undefined4 *)(iVar1 + 0x18) = uVar3" (pointer_expression "*(undefined4 *)(iVar1 + 0x18)" * (cast_expression "(undefined4 *)(iVar1 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x18)" ( (binary_expression "iVar1 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "thunk_FUN_000339c0(0x2a);" (call_expression "thunk_FUN_000339c0(0x2a)" identifier (argument_list "(0x2a)" ( number_literal ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar3 = dcgettext(0,"bad .frame directive",5);" (assignment_expression "uVar3 = dcgettext(0,"bad .frame directive",5)" identifier = (call_expression "dcgettext(0,"bad .frame directive",5)" identifier (argument_list "(0,"bad .frame directive",5)" ( number_literal , (string_literal ""bad .frame directive"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00031540(uVar3);" (call_expression "FUN_00031540(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "DAT_00081578 = DAT_00081578 + -1;" (assignment_expression "DAT_00081578 = DAT_00081578 + -1" identifier = (binary_expression "DAT_00081578 + -1" identifier + number_literal)) ;) (expression_statement "FUN_000339c0();" (call_expression "FUN_000339c0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar3 = dcgettext(0,".frame outside of .ent",5);" (assignment_expression "uVar3 = dcgettext(0,".frame outside of .ent",5)" identifier = (call_expression "dcgettext(0,".frame outside of .ent",5)" identifier (argument_list "(0,".frame outside of .ent",5)" ( number_literal , (string_literal "".frame outside of .ent"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00031540(uVar3);" (call_expression "FUN_00031540(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "FUN_000339c0();" (call_expression "FUN_000339c0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == (char_literal ' character ')))) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (return_statement return ;) })) (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) (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 (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void FUN_0004e490(void)\n\n{\n  int iVar1;\n  char cVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  int local_10 [2];\n  \n  iVar1 = DAT_00081124;\n  local_10[1] = 0x4e497;\n  if (0 < DAT_00078510) {\n    FUN_000229c0(0);\n    return;\n  }\n  if (DAT_00081124 != 0) {\n    uVar3 = FUN_0004e380(1);\n    *(undefined4 *)(iVar1 + 0x14) = uVar3;\n    pcVar4 = DAT_00081578 + (*DAT_00081578 == ' ');\n    DAT_00081578 = pcVar4 + 1;\n    if ((*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')) {\n      *(int *)(DAT_00081124 + 0x1c) = local_10[0];\n      *(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;\n      uVar3 = FUN_0004e380(0);\n      *(undefined4 *)(iVar1 + 0x18) = uVar3;\n      thunk_FUN_000339c0(0x2a);\n      return;\n    }\n    uVar3 = dcgettext(0,"bad .frame directive",5);\n    FUN_00031540(uVar3);\n    DAT_00081578 = DAT_00081578 + -1;\n    FUN_000339c0();\n    return;\n  }\n  uVar3 = dcgettext(0,".frame outside of .ent",5);\n  FUN_00031540(uVar3);\n  FUN_000339c0();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0004e490(void)" (identifier "FUN_0004e490") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int iVar1;\n  char cVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  int local_10 [2];\n  \n  iVar1 = DAT_00081124;\n  local_10[1] = 0x4e497;\n  if (0 < DAT_00078510) {\n    FUN_000229c0(0);\n    return;\n  }\n  if (DAT_00081124 != 0) {\n    uVar3 = FUN_0004e380(1);\n    *(undefined4 *)(iVar1 + 0x14) = uVar3;\n    pcVar4 = DAT_00081578 + (*DAT_00081578 == ' ');\n    DAT_00081578 = pcVar4 + 1;\n    if ((*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')) {\n      *(int *)(DAT_00081124 + 0x1c) = local_10[0];\n      *(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;\n      uVar3 = FUN_0004e380(0);\n      *(undefined4 *)(iVar1 + 0x18) = uVar3;\n      thunk_FUN_000339c0(0x2a);\n      return;\n    }\n    uVar3 = dcgettext(0,"bad .frame directive",5);\n    FUN_00031540(uVar3);\n    DAT_00081578 = DAT_00081578 + -1;\n    FUN_000339c0();\n    return;\n  }\n  uVar3 = dcgettext(0,".frame outside of .ent",5);\n  FUN_00031540(uVar3);\n  FUN_000339c0();\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "int local_10 [2];" (primitive_type "int") (array_declarator "local_10 [2]" (identifier "local_10") ([ "[") (number_literal "2") (] "]")) (; ";")) (expression_statement "iVar1 = DAT_00081124;" (assignment_expression "iVar1 = DAT_00081124" (identifier "iVar1") (= "=") (identifier "DAT_00081124")) (; ";")) (expression_statement "local_10[1] = 0x4e497;" (assignment_expression "local_10[1] = 0x4e497" (subscript_expression "local_10[1]" (identifier "local_10") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0x4e497")) (; ";")) (if_statement "if (0 < DAT_00078510) {\n    FUN_000229c0(0);\n    return;\n  }" (if "if") (parenthesized_expression "(0 < DAT_00078510)" (( "(") (binary_expression "0 < DAT_00078510" (number_literal "0") (< "<") (identifier "DAT_00078510")) () ")")) (compound_statement "{\n    FUN_000229c0(0);\n    return;\n  }" ({ "{") (expression_statement "FUN_000229c0(0);" (call_expression "FUN_000229c0(0)" (identifier "FUN_000229c0") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (DAT_00081124 != 0) {\n    uVar3 = FUN_0004e380(1);\n    *(undefined4 *)(iVar1 + 0x14) = uVar3;\n    pcVar4 = DAT_00081578 + (*DAT_00081578 == ' ');\n    DAT_00081578 = pcVar4 + 1;\n    if ((*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')) {\n      *(int *)(DAT_00081124 + 0x1c) = local_10[0];\n      *(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;\n      uVar3 = FUN_0004e380(0);\n      *(undefined4 *)(iVar1 + 0x18) = uVar3;\n      thunk_FUN_000339c0(0x2a);\n      return;\n    }\n    uVar3 = dcgettext(0,"bad .frame directive",5);\n    FUN_00031540(uVar3);\n    DAT_00081578 = DAT_00081578 + -1;\n    FUN_000339c0();\n    return;\n  }" (if "if") (parenthesized_expression "(DAT_00081124 != 0)" (( "(") (binary_expression "DAT_00081124 != 0" (identifier "DAT_00081124") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar3 = FUN_0004e380(1);\n    *(undefined4 *)(iVar1 + 0x14) = uVar3;\n    pcVar4 = DAT_00081578 + (*DAT_00081578 == ' ');\n    DAT_00081578 = pcVar4 + 1;\n    if ((*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')) {\n      *(int *)(DAT_00081124 + 0x1c) = local_10[0];\n      *(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;\n      uVar3 = FUN_0004e380(0);\n      *(undefined4 *)(iVar1 + 0x18) = uVar3;\n      thunk_FUN_000339c0(0x2a);\n      return;\n    }\n    uVar3 = dcgettext(0,"bad .frame directive",5);\n    FUN_00031540(uVar3);\n    DAT_00081578 = DAT_00081578 + -1;\n    FUN_000339c0();\n    return;\n  }" ({ "{") (expression_statement "uVar3 = FUN_0004e380(1);" (assignment_expression "uVar3 = FUN_0004e380(1)" (identifier "uVar3") (= "=") (call_expression "FUN_0004e380(1)" (identifier "FUN_0004e380") (argument_list "(1)" (( "(") (number_literal "1") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar1 + 0x14) = uVar3;" (assignment_expression "*(undefined4 *)(iVar1 + 0x14) = uVar3" (pointer_expression "*(undefined4 *)(iVar1 + 0x14)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x14)" (( "(") (binary_expression "iVar1 + 0x14" (identifier "iVar1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "pcVar4 = DAT_00081578 + (*DAT_00081578 == ' ');" (assignment_expression "pcVar4 = DAT_00081578 + (*DAT_00081578 == ' ')" (identifier "pcVar4") (= "=") (binary_expression "DAT_00081578 + (*DAT_00081578 == ' ')" (identifier "DAT_00081578") (+ "+") (parenthesized_expression "(*DAT_00081578 == ' ')" (( "(") (binary_expression "*DAT_00081578 == ' '" (pointer_expression "*DAT_00081578" (* "*") (identifier "DAT_00081578")) (== "==") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")")))) (; ";")) (expression_statement "DAT_00081578 = pcVar4 + 1;" (assignment_expression "DAT_00081578 = pcVar4 + 1" (identifier "DAT_00081578") (= "=") (binary_expression "pcVar4 + 1" (identifier "pcVar4") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')) {\n      *(int *)(DAT_00081124 + 0x1c) = local_10[0];\n      *(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;\n      uVar3 = FUN_0004e380(0);\n      *(undefined4 *)(iVar1 + 0x18) = uVar3;\n      thunk_FUN_000339c0(0x2a);\n      return;\n    }" (if "if") (parenthesized_expression "((*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ','))" (( "(") (binary_expression "(*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')" (parenthesized_expression "(*pcVar4 == ',')" (( "(") (binary_expression "*pcVar4 == ','" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')" (( "(") (comma_expression "cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ','" (assignment_expression "cVar2 = FUN_00039130(local_10)" (identifier "cVar2") (= "=") (call_expression "FUN_00039130(local_10)" (identifier "FUN_00039130") (argument_list "(local_10)" (( "(") (identifier "local_10") () ")")))) (, ",") (comma_expression "iVar1 = DAT_00081124, cVar2 == ','" (assignment_expression "iVar1 = DAT_00081124" (identifier "iVar1") (= "=") (identifier "DAT_00081124")) (, ",") (binary_expression "cVar2 == ','" (identifier "cVar2") (== "==") (char_literal "','" (' "'") (character ",") (' "'"))))) () ")"))) () ")")) (compound_statement "{\n      *(int *)(DAT_00081124 + 0x1c) = local_10[0];\n      *(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;\n      uVar3 = FUN_0004e380(0);\n      *(undefined4 *)(iVar1 + 0x18) = uVar3;\n      thunk_FUN_000339c0(0x2a);\n      return;\n    }" ({ "{") (expression_statement "*(int *)(DAT_00081124 + 0x1c) = local_10[0];" (assignment_expression "*(int *)(DAT_00081124 + 0x1c) = local_10[0]" (pointer_expression "*(int *)(DAT_00081124 + 0x1c)" (* "*") (cast_expression "(int *)(DAT_00081124 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00081124 + 0x1c)" (( "(") (binary_expression "DAT_00081124 + 0x1c" (identifier "DAT_00081124") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (subscript_expression "local_10[0]" (identifier "local_10") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;" (assignment_expression "*(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f" (pointer_expression "*(int *)(iVar1 + 0x20)" (* "*") (cast_expression "(int *)(iVar1 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x20)" (( "(") (binary_expression "iVar1 + 0x20" (identifier "iVar1") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (binary_expression "local_10[0] >> 0x1f" (subscript_expression "local_10[0]" (identifier "local_10") ([ "[") (number_literal "0") (] "]")) (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "uVar3 = FUN_0004e380(0);" (assignment_expression "uVar3 = FUN_0004e380(0)" (identifier "uVar3") (= "=") (call_expression "FUN_0004e380(0)" (identifier "FUN_0004e380") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar1 + 0x18) = uVar3;" (assignment_expression "*(undefined4 *)(iVar1 + 0x18) = uVar3" (pointer_expression "*(undefined4 *)(iVar1 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x18)" (( "(") (binary_expression "iVar1 + 0x18" (identifier "iVar1") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "thunk_FUN_000339c0(0x2a);" (call_expression "thunk_FUN_000339c0(0x2a)" (identifier "thunk_FUN_000339c0") (argument_list "(0x2a)" (( "(") (number_literal "0x2a") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar3 = dcgettext(0,"bad .frame directive",5);" (assignment_expression "uVar3 = dcgettext(0,"bad .frame directive",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"bad .frame directive",5)" (identifier "dcgettext") (argument_list "(0,"bad .frame directive",5)" (( "(") (number_literal "0") (, ",") (string_literal ""bad .frame directive"" (" """) (string_content "bad .frame directive") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00031540(uVar3);" (call_expression "FUN_00031540(uVar3)" (identifier "FUN_00031540") (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "DAT_00081578 = DAT_00081578 + -1;" (assignment_expression "DAT_00081578 = DAT_00081578 + -1" (identifier "DAT_00081578") (= "=") (binary_expression "DAT_00081578 + -1" (identifier "DAT_00081578") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "FUN_000339c0();" (call_expression "FUN_000339c0()" (identifier "FUN_000339c0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar3 = dcgettext(0,".frame outside of .ent",5);" (assignment_expression "uVar3 = dcgettext(0,".frame outside of .ent",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,".frame outside of .ent",5)" (identifier "dcgettext") (argument_list "(0,".frame outside of .ent",5)" (( "(") (number_literal "0") (, ",") (string_literal "".frame outside of .ent"" (" """) (string_content ".frame outside of .ent") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00031540(uVar3);" (call_expression "FUN_00031540(uVar3)" (identifier "FUN_00031540") (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "FUN_000339c0();" (call_expression "FUN_000339c0()" (identifier "FUN_000339c0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void function_1(int dummy)

{
  type_1 *paVar1;
  char var_8;
  int iVar3;
  char *var_6;
  long var_9;
  type_2 uStack_c;
  
  paVar1 = var_3;
  uStack_c = 0x4e497;
  if (0 < var_1) {
    var_2(0);
    return;
  }
  if (var_3 != (type_1 *)0x0) {
    iVar3 = var_4(1);
    paVar1->fp_regno = iVar3;
    var_6 = var_5 + (*var_5 == ' ');
    var_5 = var_6 + 1;
    if ((*var_6 == ',') &&
       (var_8 = var_7(&var_9), paVar1 = var_3, var_8 == ',')
       ) {
      *(long *)&var_3->frame_size = var_9;
      *(long *)((int)&paVar1->frame_size + 4) = var_9 >> 0x1f;
      iVar3 = var_4(0);
      paVar1->ra_regno = iVar3;
      var_10(0x2a);
      return;
    }
    var_6 = (char *)var_11(0,"bad .frame directive",5);
    var_12(var_6);
    var_5 = var_5 + -1;
    var_13();
    return;
  }
  var_6 = (char *)var_11(0,".frame outside of .ent",5);
  var_12(var_6);
  var_13();
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (return_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))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (char_literal (character)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (return_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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_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 (call_expression function: (identifier) arguments: (argument_list))) (return_statement))))

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

void MASKED(void)

{
  int iVar1;
  char cVar2;
  undefined4 uVar3;
  char *pcVar4;
  int local_10 [2];
  
  iVar1 = DAT_00081124;
  local_10[1] = 0x4e497;
  if (0 < DAT_00078510) {
    FUN_000229c0(0);
    return;
  }
  if (DAT_00081124 != 0) {
    uVar3 = FUN_0004e380(1);
    *(undefined4 *)(iVar1 + 0x14) = uVar3;
    pcVar4 = DAT_00081578 + (*DAT_00081578 == ' ');
    DAT_00081578 = pcVar4 + 1;
    if ((*pcVar4 == ',') && (cVar2 = FUN_00039130(local_10), iVar1 = DAT_00081124, cVar2 == ',')) {
      *(int *)(DAT_00081124 + 0x1c) = local_10[0];
      *(int *)(iVar1 + 0x20) = local_10[0] >> 0x1f;
      uVar3 = FUN_0004e380(0);
      *(undefined4 *)(iVar1 + 0x18) = uVar3;
      thunk_FUN_000339c0(0x2a);
      return;
    }
    uVar3 = dcgettext(0,"bad .frame directive",5);
    FUN_00031540(uVar3);
    DAT_00081578 = DAT_00081578 + -1;
    FUN_000339c0();
    return;
  }
  uVar3 = dcgettext(0,".frame outside of .ent",5);
  FUN_00031540(uVar3);
  FUN_000339c0();
  return;
}

