
void s_struct(int ignore)

{
  char cVar1;
  byte *stop;
  byte bVar2;
  expressionS exp;
  
  if (flag_mri == 0) {
    bVar2 = 0;
    stop = (byte *)0x0;
  }
  else {
    bVar2 = *input_line_pointer;
    cVar1 = is_end_of_line[bVar2];
    stop = (byte *)input_line_pointer;
    while (cVar1 == '\0') {
      stop = stop + 1;
      bVar2 = *stop;
      cVar1 = is_end_of_line[bVar2];
    }
    *stop = 0;
  }
  abs_section_offset = get_absolute_expr(&exp);
  obj_elf_section_change_hook();
  subseg_set((segT)(_bfd_std_section + 0x230),0);
  demand_empty_rest_of_line();
  if (flag_mri == 0) {
    return;
  }
  mri_comment_end((char *)stop,(int)(char)bVar2);
  return;
}



void FUN_0011f3a0(void)

{
  char cVar1;
  byte *pbVar2;
  byte bVar3;
  undefined1 auStack_38 [40];
  
  if (DAT_0016ef98 == 0) {
    bVar3 = 0;
    pbVar2 = (byte *)0x0;
  }
  else {
    bVar3 = *DAT_0016f0a0;
    cVar1 = (&DAT_001644e0)[bVar3];
    pbVar2 = DAT_0016f0a0;
    while (cVar1 == '\0') {
      pbVar2 = pbVar2 + 1;
      bVar3 = *pbVar2;
      cVar1 = (&DAT_001644e0)[bVar3];
    }
    *pbVar2 = 0;
  }
  DAT_0016f098 = FUN_0011c9b0(auStack_38);
  FUN_00146120();
  FUN_00125b60(0x165710,0);
  FUN_0011e4e0();
  if (DAT_0016ef98 == 0) {
    return;
  }
  FUN_0011dd50(pbVar2,(int)(char)bVar3);
  return;
}


PUSH RBP
PUSH RBX
SUB RSP,0x28
MOV EDX,dword ptr [0x0016ef98]
TEST EDX,EDX
JZ 0x0011f420
MOV RBX,qword ptr [0x0016f0a0]
LEA RDX,[0x1644e0]
MOVZX EAX,byte ptr [RBX]
CMP byte ptr [RDX + RAX*0x1],0x0
MOV RBP,RAX
JNZ 0x0011f3e0
NOP word ptr [RAX + RAX*0x1]
ADD RBX,0x1
MOVZX EAX,byte ptr [RBX]
CMP byte ptr [RDX + RAX*0x1],0x0
MOV RBP,RAX
JZ 0x0011f3d0
MOV byte ptr [RBX],0x0
MOV RDI,RSP
CALL 0x0011c9b0
MOV qword ptr [0x0016f098],RAX
CALL 0x00146120
XOR ESI,ESI
LEA RDI,[0x165710]
CALL 0x00125b60
CALL 0x0011e4e0
MOV EAX,dword ptr [0x0016ef98]
TEST EAX,EAX
JNZ 0x0011f430
ADD RSP,0x28
POP RBX
POP RBP
RET
XOR EBP,EBP
XOR EBX,EBX
JMP 0x0011f3e3
MOVSX ESI,BPL
MOV RDI,RBX
CALL 0x0011dd50
ADD RSP,0x28
POP RBX
POP RBP
RET
(translation_unit "void FUN_0011f3a0(void)\n\n{\n  char cVar1;\n  byte *pbVar2;\n  byte bVar3;\n  undefined1 auStack_38 [40];\n  \n  if (DAT_0016ef98 == 0) {\n    bVar3 = 0;\n    pbVar2 = (byte *)0x0;\n  }\n  else {\n    bVar3 = *DAT_0016f0a0;\n    cVar1 = (&DAT_001644e0)[bVar3];\n    pbVar2 = DAT_0016f0a0;\n    while (cVar1 == '\0') {\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }\n    *pbVar2 = 0;\n  }\n  DAT_0016f098 = FUN_0011c9b0(auStack_38);\n  FUN_00146120();\n  FUN_00125b60(0x165710,0);\n  FUN_0011e4e0();\n  if (DAT_0016ef98 == 0) {\n    return;\n  }\n  FUN_0011dd50(pbVar2,(int)(char)bVar3);\n  return;\n}\n\n" (function_definition "void FUN_0011f3a0(void)\n\n{\n  char cVar1;\n  byte *pbVar2;\n  byte bVar3;\n  undefined1 auStack_38 [40];\n  \n  if (DAT_0016ef98 == 0) {\n    bVar3 = 0;\n    pbVar2 = (byte *)0x0;\n  }\n  else {\n    bVar3 = *DAT_0016f0a0;\n    cVar1 = (&DAT_001644e0)[bVar3];\n    pbVar2 = DAT_0016f0a0;\n    while (cVar1 == '\0') {\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }\n    *pbVar2 = 0;\n  }\n  DAT_0016f098 = FUN_0011c9b0(auStack_38);\n  FUN_00146120();\n  FUN_00125b60(0x165710,0);\n  FUN_0011e4e0();\n  if (DAT_0016ef98 == 0) {\n    return;\n  }\n  FUN_0011dd50(pbVar2,(int)(char)bVar3);\n  return;\n}" primitive_type (function_declarator "FUN_0011f3a0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  char cVar1;\n  byte *pbVar2;\n  byte bVar3;\n  undefined1 auStack_38 [40];\n  \n  if (DAT_0016ef98 == 0) {\n    bVar3 = 0;\n    pbVar2 = (byte *)0x0;\n  }\n  else {\n    bVar3 = *DAT_0016f0a0;\n    cVar1 = (&DAT_001644e0)[bVar3];\n    pbVar2 = DAT_0016f0a0;\n    while (cVar1 == '\0') {\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }\n    *pbVar2 = 0;\n  }\n  DAT_0016f098 = FUN_0011c9b0(auStack_38);\n  FUN_00146120();\n  FUN_00125b60(0x165710,0);\n  FUN_0011e4e0();\n  if (DAT_0016ef98 == 0) {\n    return;\n  }\n  FUN_0011dd50(pbVar2,(int)(char)bVar3);\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "undefined1 auStack_38 [40];" type_identifier (array_declarator "auStack_38 [40]" identifier [ number_literal ]) ;) (if_statement "if (DAT_0016ef98 == 0) {\n    bVar3 = 0;\n    pbVar2 = (byte *)0x0;\n  }\n  else {\n    bVar3 = *DAT_0016f0a0;\n    cVar1 = (&DAT_001644e0)[bVar3];\n    pbVar2 = DAT_0016f0a0;\n    while (cVar1 == '\0') {\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }\n    *pbVar2 = 0;\n  }" if (parenthesized_expression "(DAT_0016ef98 == 0)" ( (binary_expression "DAT_0016ef98 == 0" identifier == number_literal) )) (compound_statement "{\n    bVar3 = 0;\n    pbVar2 = (byte *)0x0;\n  }" { (expression_statement "bVar3 = 0;" (assignment_expression "bVar3 = 0" identifier = number_literal) ;) (expression_statement "pbVar2 = (byte *)0x0;" (assignment_expression "pbVar2 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    bVar3 = *DAT_0016f0a0;\n    cVar1 = (&DAT_001644e0)[bVar3];\n    pbVar2 = DAT_0016f0a0;\n    while (cVar1 == '\0') {\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }\n    *pbVar2 = 0;\n  }" else (compound_statement "{\n    bVar3 = *DAT_0016f0a0;\n    cVar1 = (&DAT_001644e0)[bVar3];\n    pbVar2 = DAT_0016f0a0;\n    while (cVar1 == '\0') {\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }\n    *pbVar2 = 0;\n  }" { (expression_statement "bVar3 = *DAT_0016f0a0;" (assignment_expression "bVar3 = *DAT_0016f0a0" identifier = (pointer_expression "*DAT_0016f0a0" * identifier)) ;) (expression_statement "cVar1 = (&DAT_001644e0)[bVar3];" (assignment_expression "cVar1 = (&DAT_001644e0)[bVar3]" identifier = (subscript_expression "(&DAT_001644e0)[bVar3]" (parenthesized_expression "(&DAT_001644e0)" ( (pointer_expression "&DAT_001644e0" & identifier) )) [ identifier ])) ;) (expression_statement "pbVar2 = DAT_0016f0a0;" (assignment_expression "pbVar2 = DAT_0016f0a0" identifier = identifier) ;) (while_statement "while (cVar1 == '\0') {\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }" while (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }" { (expression_statement "pbVar2 = pbVar2 + 1;" (assignment_expression "pbVar2 = pbVar2 + 1" identifier = (binary_expression "pbVar2 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *pbVar2;" (assignment_expression "bVar3 = *pbVar2" identifier = (pointer_expression "*pbVar2" * identifier)) ;) (expression_statement "cVar1 = (&DAT_001644e0)[bVar3];" (assignment_expression "cVar1 = (&DAT_001644e0)[bVar3]" identifier = (subscript_expression "(&DAT_001644e0)[bVar3]" (parenthesized_expression "(&DAT_001644e0)" ( (pointer_expression "&DAT_001644e0" & identifier) )) [ identifier ])) ;) })) (expression_statement "*pbVar2 = 0;" (assignment_expression "*pbVar2 = 0" (pointer_expression "*pbVar2" * identifier) = number_literal) ;) }))) (expression_statement "DAT_0016f098 = FUN_0011c9b0(auStack_38);" (assignment_expression "DAT_0016f098 = FUN_0011c9b0(auStack_38)" identifier = (call_expression "FUN_0011c9b0(auStack_38)" identifier (argument_list "(auStack_38)" ( identifier )))) ;) (expression_statement "FUN_00146120();" (call_expression "FUN_00146120()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00125b60(0x165710,0);" (call_expression "FUN_00125b60(0x165710,0)" identifier (argument_list "(0x165710,0)" ( number_literal , number_literal ))) ;) (expression_statement "FUN_0011e4e0();" (call_expression "FUN_0011e4e0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (DAT_0016ef98 == 0) {\n    return;\n  }" if (parenthesized_expression "(DAT_0016ef98 == 0)" ( (binary_expression "DAT_0016ef98 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "FUN_0011dd50(pbVar2,(int)(char)bVar3);" (call_expression "FUN_0011dd50(pbVar2,(int)(char)bVar3)" identifier (argument_list "(pbVar2,(int)(char)bVar3)" ( identifier , (cast_expression "(int)(char)bVar3" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void s_struct(int ignore)\n\n{\n  char cVar1;\n  byte *stop;\n  byte bVar2;\n  expressionS exp;\n  \n  if (flag_mri == 0) {\n    bVar2 = 0;\n    stop = (byte *)0x0;\n  }\n  else {\n    bVar2 = *input_line_pointer;\n    cVar1 = is_end_of_line[bVar2];\n    stop = (byte *)input_line_pointer;\n    while (cVar1 == '\0') {\n      stop = stop + 1;\n      bVar2 = *stop;\n      cVar1 = is_end_of_line[bVar2];\n    }\n    *stop = 0;\n  }\n  abs_section_offset = get_absolute_expr(&exp);\n  obj_elf_section_change_hook();\n  subseg_set((segT)(_bfd_std_section + 0x230),0);\n  demand_empty_rest_of_line();\n  if (flag_mri == 0) {\n    return;\n  }\n  mri_comment_end((char *)stop,(int)(char)bVar2);\n  return;\n}\n\n" (function_definition "void s_struct(int ignore)\n\n{\n  char cVar1;\n  byte *stop;\n  byte bVar2;\n  expressionS exp;\n  \n  if (flag_mri == 0) {\n    bVar2 = 0;\n    stop = (byte *)0x0;\n  }\n  else {\n    bVar2 = *input_line_pointer;\n    cVar1 = is_end_of_line[bVar2];\n    stop = (byte *)input_line_pointer;\n    while (cVar1 == '\0') {\n      stop = stop + 1;\n      bVar2 = *stop;\n      cVar1 = is_end_of_line[bVar2];\n    }\n    *stop = 0;\n  }\n  abs_section_offset = get_absolute_expr(&exp);\n  obj_elf_section_change_hook();\n  subseg_set((segT)(_bfd_std_section + 0x230),0);\n  demand_empty_rest_of_line();\n  if (flag_mri == 0) {\n    return;\n  }\n  mri_comment_end((char *)stop,(int)(char)bVar2);\n  return;\n}" primitive_type (function_declarator "s_struct(int ignore)" identifier (parameter_list "(int ignore)" ( (parameter_declaration "int ignore" primitive_type identifier) ))) (compound_statement "{\n  char cVar1;\n  byte *stop;\n  byte bVar2;\n  expressionS exp;\n  \n  if (flag_mri == 0) {\n    bVar2 = 0;\n    stop = (byte *)0x0;\n  }\n  else {\n    bVar2 = *input_line_pointer;\n    cVar1 = is_end_of_line[bVar2];\n    stop = (byte *)input_line_pointer;\n    while (cVar1 == '\0') {\n      stop = stop + 1;\n      bVar2 = *stop;\n      cVar1 = is_end_of_line[bVar2];\n    }\n    *stop = 0;\n  }\n  abs_section_offset = get_absolute_expr(&exp);\n  obj_elf_section_change_hook();\n  subseg_set((segT)(_bfd_std_section + 0x230),0);\n  demand_empty_rest_of_line();\n  if (flag_mri == 0) {\n    return;\n  }\n  mri_comment_end((char *)stop,(int)(char)bVar2);\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "byte *stop;" type_identifier (pointer_declarator "*stop" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "expressionS exp;" type_identifier identifier ;) (if_statement "if (flag_mri == 0) {\n    bVar2 = 0;\n    stop = (byte *)0x0;\n  }\n  else {\n    bVar2 = *input_line_pointer;\n    cVar1 = is_end_of_line[bVar2];\n    stop = (byte *)input_line_pointer;\n    while (cVar1 == '\0') {\n      stop = stop + 1;\n      bVar2 = *stop;\n      cVar1 = is_end_of_line[bVar2];\n    }\n    *stop = 0;\n  }" if (parenthesized_expression "(flag_mri == 0)" ( (binary_expression "flag_mri == 0" identifier == number_literal) )) (compound_statement "{\n    bVar2 = 0;\n    stop = (byte *)0x0;\n  }" { (expression_statement "bVar2 = 0;" (assignment_expression "bVar2 = 0" identifier = number_literal) ;) (expression_statement "stop = (byte *)0x0;" (assignment_expression "stop = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    bVar2 = *input_line_pointer;\n    cVar1 = is_end_of_line[bVar2];\n    stop = (byte *)input_line_pointer;\n    while (cVar1 == '\0') {\n      stop = stop + 1;\n      bVar2 = *stop;\n      cVar1 = is_end_of_line[bVar2];\n    }\n    *stop = 0;\n  }" else (compound_statement "{\n    bVar2 = *input_line_pointer;\n    cVar1 = is_end_of_line[bVar2];\n    stop = (byte *)input_line_pointer;\n    while (cVar1 == '\0') {\n      stop = stop + 1;\n      bVar2 = *stop;\n      cVar1 = is_end_of_line[bVar2];\n    }\n    *stop = 0;\n  }" { (expression_statement "bVar2 = *input_line_pointer;" (assignment_expression "bVar2 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;) (expression_statement "cVar1 = is_end_of_line[bVar2];" (assignment_expression "cVar1 = is_end_of_line[bVar2]" identifier = (subscript_expression "is_end_of_line[bVar2]" identifier [ identifier ])) ;) (expression_statement "stop = (byte *)input_line_pointer;" (assignment_expression "stop = (byte *)input_line_pointer" identifier = (cast_expression "(byte *)input_line_pointer" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (while_statement "while (cVar1 == '\0') {\n      stop = stop + 1;\n      bVar2 = *stop;\n      cVar1 = is_end_of_line[bVar2];\n    }" while (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      stop = stop + 1;\n      bVar2 = *stop;\n      cVar1 = is_end_of_line[bVar2];\n    }" { (expression_statement "stop = stop + 1;" (assignment_expression "stop = stop + 1" identifier = (binary_expression "stop + 1" identifier + number_literal)) ;) (expression_statement "bVar2 = *stop;" (assignment_expression "bVar2 = *stop" identifier = (pointer_expression "*stop" * identifier)) ;) (expression_statement "cVar1 = is_end_of_line[bVar2];" (assignment_expression "cVar1 = is_end_of_line[bVar2]" identifier = (subscript_expression "is_end_of_line[bVar2]" identifier [ identifier ])) ;) })) (expression_statement "*stop = 0;" (assignment_expression "*stop = 0" (pointer_expression "*stop" * identifier) = number_literal) ;) }))) (expression_statement "abs_section_offset = get_absolute_expr(&exp);" (assignment_expression "abs_section_offset = get_absolute_expr(&exp)" identifier = (call_expression "get_absolute_expr(&exp)" identifier (argument_list "(&exp)" ( (pointer_expression "&exp" & identifier) )))) ;) (expression_statement "obj_elf_section_change_hook();" (call_expression "obj_elf_section_change_hook()" identifier (argument_list "()" ( ))) ;) (expression_statement "subseg_set((segT)(_bfd_std_section + 0x230),0);" (call_expression "subseg_set((segT)(_bfd_std_section + 0x230),0)" identifier (argument_list "((segT)(_bfd_std_section + 0x230),0)" ( (call_expression "(segT)(_bfd_std_section + 0x230)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(_bfd_std_section + 0x230)" ( (binary_expression "_bfd_std_section + 0x230" identifier + number_literal) ))) , number_literal ))) ;) (expression_statement "demand_empty_rest_of_line();" (call_expression "demand_empty_rest_of_line()" identifier (argument_list "()" ( ))) ;) (if_statement "if (flag_mri == 0) {\n    return;\n  }" if (parenthesized_expression "(flag_mri == 0)" ( (binary_expression "flag_mri == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "mri_comment_end((char *)stop,(int)(char)bVar2);" (call_expression "mri_comment_end((char *)stop,(int)(char)bVar2)" identifier (argument_list "((char *)stop,(int)(char)bVar2)" ( (cast_expression "(char *)stop" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)(char)bVar2" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0011f3a0(void)\n\n{\n  char cVar1;\n  byte *pbVar2;\n  byte bVar3;\n  undefined1 auStack_38 [40];\n  \n  if (DAT_0016ef98 == 0) {\n    bVar3 = 0;\n    pbVar2 = (byte *)0x0;\n  }\n  else {\n    bVar3 = *DAT_0016f0a0;\n    cVar1 = (&DAT_001644e0)[bVar3];\n    pbVar2 = DAT_0016f0a0;\n    while (cVar1 == '\0') {\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }\n    *pbVar2 = 0;\n  }\n  DAT_0016f098 = FUN_0011c9b0(auStack_38);\n  FUN_00146120();\n  FUN_00125b60(0x165710,0);\n  FUN_0011e4e0();\n  if (DAT_0016ef98 == 0) {\n    return;\n  }\n  FUN_0011dd50(pbVar2,(int)(char)bVar3);\n  return;\n}\n\n" (function_definition "void FUN_0011f3a0(void)\n\n{\n  char cVar1;\n  byte *pbVar2;\n  byte bVar3;\n  undefined1 auStack_38 [40];\n  \n  if (DAT_0016ef98 == 0) {\n    bVar3 = 0;\n    pbVar2 = (byte *)0x0;\n  }\n  else {\n    bVar3 = *DAT_0016f0a0;\n    cVar1 = (&DAT_001644e0)[bVar3];\n    pbVar2 = DAT_0016f0a0;\n    while (cVar1 == '\0') {\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }\n    *pbVar2 = 0;\n  }\n  DAT_0016f098 = FUN_0011c9b0(auStack_38);\n  FUN_00146120();\n  FUN_00125b60(0x165710,0);\n  FUN_0011e4e0();\n  if (DAT_0016ef98 == 0) {\n    return;\n  }\n  FUN_0011dd50(pbVar2,(int)(char)bVar3);\n  return;\n}" primitive_type (function_declarator "FUN_0011f3a0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  char cVar1;\n  byte *pbVar2;\n  byte bVar3;\n  undefined1 auStack_38 [40];\n  \n  if (DAT_0016ef98 == 0) {\n    bVar3 = 0;\n    pbVar2 = (byte *)0x0;\n  }\n  else {\n    bVar3 = *DAT_0016f0a0;\n    cVar1 = (&DAT_001644e0)[bVar3];\n    pbVar2 = DAT_0016f0a0;\n    while (cVar1 == '\0') {\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }\n    *pbVar2 = 0;\n  }\n  DAT_0016f098 = FUN_0011c9b0(auStack_38);\n  FUN_00146120();\n  FUN_00125b60(0x165710,0);\n  FUN_0011e4e0();\n  if (DAT_0016ef98 == 0) {\n    return;\n  }\n  FUN_0011dd50(pbVar2,(int)(char)bVar3);\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "undefined1 auStack_38 [40];" type_identifier (array_declarator "auStack_38 [40]" identifier [ number_literal ]) ;) (if_statement "if (DAT_0016ef98 == 0) {\n    bVar3 = 0;\n    pbVar2 = (byte *)0x0;\n  }\n  else {\n    bVar3 = *DAT_0016f0a0;\n    cVar1 = (&DAT_001644e0)[bVar3];\n    pbVar2 = DAT_0016f0a0;\n    while (cVar1 == '\0') {\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }\n    *pbVar2 = 0;\n  }" if (parenthesized_expression "(DAT_0016ef98 == 0)" ( (binary_expression "DAT_0016ef98 == 0" identifier == number_literal) )) (compound_statement "{\n    bVar3 = 0;\n    pbVar2 = (byte *)0x0;\n  }" { (expression_statement "bVar3 = 0;" (assignment_expression "bVar3 = 0" identifier = number_literal) ;) (expression_statement "pbVar2 = (byte *)0x0;" (assignment_expression "pbVar2 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    bVar3 = *DAT_0016f0a0;\n    cVar1 = (&DAT_001644e0)[bVar3];\n    pbVar2 = DAT_0016f0a0;\n    while (cVar1 == '\0') {\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }\n    *pbVar2 = 0;\n  }" else (compound_statement "{\n    bVar3 = *DAT_0016f0a0;\n    cVar1 = (&DAT_001644e0)[bVar3];\n    pbVar2 = DAT_0016f0a0;\n    while (cVar1 == '\0') {\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }\n    *pbVar2 = 0;\n  }" { (expression_statement "bVar3 = *DAT_0016f0a0;" (assignment_expression "bVar3 = *DAT_0016f0a0" identifier = (pointer_expression "*DAT_0016f0a0" * identifier)) ;) (expression_statement "cVar1 = (&DAT_001644e0)[bVar3];" (assignment_expression "cVar1 = (&DAT_001644e0)[bVar3]" identifier = (subscript_expression "(&DAT_001644e0)[bVar3]" (parenthesized_expression "(&DAT_001644e0)" ( (pointer_expression "&DAT_001644e0" & identifier) )) [ identifier ])) ;) (expression_statement "pbVar2 = DAT_0016f0a0;" (assignment_expression "pbVar2 = DAT_0016f0a0" identifier = identifier) ;) (while_statement "while (cVar1 == '\0') {\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }" while (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }" { (expression_statement "pbVar2 = pbVar2 + 1;" (assignment_expression "pbVar2 = pbVar2 + 1" identifier = (binary_expression "pbVar2 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *pbVar2;" (assignment_expression "bVar3 = *pbVar2" identifier = (pointer_expression "*pbVar2" * identifier)) ;) (expression_statement "cVar1 = (&DAT_001644e0)[bVar3];" (assignment_expression "cVar1 = (&DAT_001644e0)[bVar3]" identifier = (subscript_expression "(&DAT_001644e0)[bVar3]" (parenthesized_expression "(&DAT_001644e0)" ( (pointer_expression "&DAT_001644e0" & identifier) )) [ identifier ])) ;) })) (expression_statement "*pbVar2 = 0;" (assignment_expression "*pbVar2 = 0" (pointer_expression "*pbVar2" * identifier) = number_literal) ;) }))) (expression_statement "DAT_0016f098 = FUN_0011c9b0(auStack_38);" (assignment_expression "DAT_0016f098 = FUN_0011c9b0(auStack_38)" identifier = (call_expression "FUN_0011c9b0(auStack_38)" identifier (argument_list "(auStack_38)" ( identifier )))) ;) (expression_statement "FUN_00146120();" (call_expression "FUN_00146120()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00125b60(0x165710,0);" (call_expression "FUN_00125b60(0x165710,0)" identifier (argument_list "(0x165710,0)" ( number_literal , number_literal ))) ;) (expression_statement "FUN_0011e4e0();" (call_expression "FUN_0011e4e0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (DAT_0016ef98 == 0) {\n    return;\n  }" if (parenthesized_expression "(DAT_0016ef98 == 0)" ( (binary_expression "DAT_0016ef98 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "FUN_0011dd50(pbVar2,(int)(char)bVar3);" (call_expression "FUN_0011dd50(pbVar2,(int)(char)bVar3)" identifier (argument_list "(pbVar2,(int)(char)bVar3)" ( identifier , (cast_expression "(int)(char)bVar3" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ])) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) (return_statement return ;) })))
(function_definition "void FUN_0011f3a0(void)\n\n{\n  char cVar1;\n  byte *pbVar2;\n  byte bVar3;\n  undefined1 auStack_38 [40];\n  \n  if (DAT_0016ef98 == 0) {\n    bVar3 = 0;\n    pbVar2 = (byte *)0x0;\n  }\n  else {\n    bVar3 = *DAT_0016f0a0;\n    cVar1 = (&DAT_001644e0)[bVar3];\n    pbVar2 = DAT_0016f0a0;\n    while (cVar1 == '\0') {\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }\n    *pbVar2 = 0;\n  }\n  DAT_0016f098 = FUN_0011c9b0(auStack_38);\n  FUN_00146120();\n  FUN_00125b60(0x165710,0);\n  FUN_0011e4e0();\n  if (DAT_0016ef98 == 0) {\n    return;\n  }\n  FUN_0011dd50(pbVar2,(int)(char)bVar3);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0011f3a0(void)" (identifier "FUN_0011f3a0") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  char cVar1;\n  byte *pbVar2;\n  byte bVar3;\n  undefined1 auStack_38 [40];\n  \n  if (DAT_0016ef98 == 0) {\n    bVar3 = 0;\n    pbVar2 = (byte *)0x0;\n  }\n  else {\n    bVar3 = *DAT_0016f0a0;\n    cVar1 = (&DAT_001644e0)[bVar3];\n    pbVar2 = DAT_0016f0a0;\n    while (cVar1 == '\0') {\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }\n    *pbVar2 = 0;\n  }\n  DAT_0016f098 = FUN_0011c9b0(auStack_38);\n  FUN_00146120();\n  FUN_00125b60(0x165710,0);\n  FUN_0011e4e0();\n  if (DAT_0016ef98 == 0) {\n    return;\n  }\n  FUN_0011dd50(pbVar2,(int)(char)bVar3);\n  return;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "byte *pbVar2;" (type_identifier "byte") (pointer_declarator "*pbVar2" (* "*") (identifier "pbVar2")) (; ";")) (declaration "byte bVar3;" (type_identifier "byte") (identifier "bVar3") (; ";")) (declaration "undefined1 auStack_38 [40];" (type_identifier "undefined1") (array_declarator "auStack_38 [40]" (identifier "auStack_38") ([ "[") (number_literal "40") (] "]")) (; ";")) (if_statement "if (DAT_0016ef98 == 0) {\n    bVar3 = 0;\n    pbVar2 = (byte *)0x0;\n  }\n  else {\n    bVar3 = *DAT_0016f0a0;\n    cVar1 = (&DAT_001644e0)[bVar3];\n    pbVar2 = DAT_0016f0a0;\n    while (cVar1 == '\0') {\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }\n    *pbVar2 = 0;\n  }" (if "if") (parenthesized_expression "(DAT_0016ef98 == 0)" (( "(") (binary_expression "DAT_0016ef98 == 0" (identifier "DAT_0016ef98") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    bVar3 = 0;\n    pbVar2 = (byte *)0x0;\n  }" ({ "{") (expression_statement "bVar3 = 0;" (assignment_expression "bVar3 = 0" (identifier "bVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar2 = (byte *)0x0;" (assignment_expression "pbVar2 = (byte *)0x0" (identifier "pbVar2") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n    bVar3 = *DAT_0016f0a0;\n    cVar1 = (&DAT_001644e0)[bVar3];\n    pbVar2 = DAT_0016f0a0;\n    while (cVar1 == '\0') {\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }\n    *pbVar2 = 0;\n  }" (else "else") (compound_statement "{\n    bVar3 = *DAT_0016f0a0;\n    cVar1 = (&DAT_001644e0)[bVar3];\n    pbVar2 = DAT_0016f0a0;\n    while (cVar1 == '\0') {\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }\n    *pbVar2 = 0;\n  }" ({ "{") (expression_statement "bVar3 = *DAT_0016f0a0;" (assignment_expression "bVar3 = *DAT_0016f0a0" (identifier "bVar3") (= "=") (pointer_expression "*DAT_0016f0a0" (* "*") (identifier "DAT_0016f0a0"))) (; ";")) (expression_statement "cVar1 = (&DAT_001644e0)[bVar3];" (assignment_expression "cVar1 = (&DAT_001644e0)[bVar3]" (identifier "cVar1") (= "=") (subscript_expression "(&DAT_001644e0)[bVar3]" (parenthesized_expression "(&DAT_001644e0)" (( "(") (pointer_expression "&DAT_001644e0" (& "&") (identifier "DAT_001644e0")) () ")")) ([ "[") (identifier "bVar3") (] "]"))) (; ";")) (expression_statement "pbVar2 = DAT_0016f0a0;" (assignment_expression "pbVar2 = DAT_0016f0a0" (identifier "pbVar2") (= "=") (identifier "DAT_0016f0a0")) (; ";")) (while_statement "while (cVar1 == '\0') {\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }" (while "while") (parenthesized_expression "(cVar1 == '\0')" (( "(") (binary_expression "cVar1 == '\0'" (identifier "cVar1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      pbVar2 = pbVar2 + 1;\n      bVar3 = *pbVar2;\n      cVar1 = (&DAT_001644e0)[bVar3];\n    }" ({ "{") (expression_statement "pbVar2 = pbVar2 + 1;" (assignment_expression "pbVar2 = pbVar2 + 1" (identifier "pbVar2") (= "=") (binary_expression "pbVar2 + 1" (identifier "pbVar2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar3 = *pbVar2;" (assignment_expression "bVar3 = *pbVar2" (identifier "bVar3") (= "=") (pointer_expression "*pbVar2" (* "*") (identifier "pbVar2"))) (; ";")) (expression_statement "cVar1 = (&DAT_001644e0)[bVar3];" (assignment_expression "cVar1 = (&DAT_001644e0)[bVar3]" (identifier "cVar1") (= "=") (subscript_expression "(&DAT_001644e0)[bVar3]" (parenthesized_expression "(&DAT_001644e0)" (( "(") (pointer_expression "&DAT_001644e0" (& "&") (identifier "DAT_001644e0")) () ")")) ([ "[") (identifier "bVar3") (] "]"))) (; ";")) (} "}"))) (expression_statement "*pbVar2 = 0;" (assignment_expression "*pbVar2 = 0" (pointer_expression "*pbVar2" (* "*") (identifier "pbVar2")) (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "DAT_0016f098 = FUN_0011c9b0(auStack_38);" (assignment_expression "DAT_0016f098 = FUN_0011c9b0(auStack_38)" (identifier "DAT_0016f098") (= "=") (call_expression "FUN_0011c9b0(auStack_38)" (identifier "FUN_0011c9b0") (argument_list "(auStack_38)" (( "(") (identifier "auStack_38") () ")")))) (; ";")) (expression_statement "FUN_00146120();" (call_expression "FUN_00146120()" (identifier "FUN_00146120") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00125b60(0x165710,0);" (call_expression "FUN_00125b60(0x165710,0)" (identifier "FUN_00125b60") (argument_list "(0x165710,0)" (( "(") (number_literal "0x165710") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_0011e4e0();" (call_expression "FUN_0011e4e0()" (identifier "FUN_0011e4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (DAT_0016ef98 == 0) {\n    return;\n  }" (if "if") (parenthesized_expression "(DAT_0016ef98 == 0)" (( "(") (binary_expression "DAT_0016ef98 == 0" (identifier "DAT_0016ef98") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_0011dd50(pbVar2,(int)(char)bVar3);" (call_expression "FUN_0011dd50(pbVar2,(int)(char)bVar3)" (identifier "FUN_0011dd50") (argument_list "(pbVar2,(int)(char)bVar3)" (( "(") (identifier "pbVar2") (, ",") (cast_expression "(int)(char)bVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bVar3" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar3"))) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(int ignore)

{
  char var_2;
  type_1 *var_3;
  type_1 bVar2;
  type_2 exp;
  
  if (var_1 == 0) {
    bVar2 = 0;
    var_3 = (type_1 *)0x0;
  }
  else {
    bVar2 = *input_line_pointer;
    var_2 = is_end_of_line[bVar2];
    var_3 = (type_1 *)input_line_pointer;
    while (var_2 == '\0') {
      var_3 = var_3 + 1;
      bVar2 = *var_3;
      var_2 = is_end_of_line[bVar2];
    }
    *var_3 = 0;
  }
  abs_section_offset = var_4(&exp);
  var_5();
  var_6((segT)(var_7 + 0x230),0);
  var_8();
  if (var_1 == 0) {
    return;
  }
  var_9((char *)var_3,(int)(char)bVar2);
  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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (return_statement))))

void MASKED(void)

{
  char cVar1;
  byte *pbVar2;
  byte bVar3;
  undefined1 auStack_38 [40];
  
  if (DAT_0016ef98 == 0) {
    bVar3 = 0;
    pbVar2 = (byte *)0x0;
  }
  else {
    bVar3 = *DAT_0016f0a0;
    cVar1 = (&DAT_001644e0)[bVar3];
    pbVar2 = DAT_0016f0a0;
    while (cVar1 == '\0') {
      pbVar2 = pbVar2 + 1;
      bVar3 = *pbVar2;
      cVar1 = (&DAT_001644e0)[bVar3];
    }
    *pbVar2 = 0;
  }
  DAT_0016f098 = FUN_0011c9b0(auStack_38);
  FUN_00146120();
  FUN_00125b60(0x165710,0);
  FUN_0011e4e0();
  if (DAT_0016ef98 == 0) {
    return;
  }
  FUN_0011dd50(pbVar2,(int)(char)bVar3);
  return;
}

