
void frag_new(size_t old_frags_var_max_size)

{
  undefined1 *puVar1;
  fragS *pfVar2;
  ulong uVar3;
  _obstack_chunk *p_Var4;
  list_info_struct *plVar5;
  frchainS *pfVar6;
  addressT aVar7;
  char *pcVar8;
  fragS *pfVar9;
  char *pcVar10;
  
  pfVar6 = frchain_now;
  pfVar9 = frag_now;
  pfVar2 = frchain_now->frch_last;
  if (pfVar2 != frag_now) {
                    /* WARNING: Subroutine does not return */
    as_abort("../../gas/frags.c",0xa5,"frag_new");
  }
  aVar7 = abs_section_offset;
  if (now_seg != (segT)(_bfd_std_section + 0x230)) {
    aVar7 = (long)(frchain_now->frch_obstack).next_free - (long)pfVar2->fr_literal;
  }
  frag_now->fr_fix = aVar7 - old_frags_var_max_size;
  if (pfVar9->fr_type == rs_dummy) {
                    /* WARNING: Subroutine does not return */
    as_abort("../../gas/frags.c",0xaa,"frag_new");
  }
  pcVar10 = (pfVar6->frch_obstack).next_free;
  if (pcVar10 == (pfVar6->frch_obstack).object_base) {
    puVar1 = &(pfVar6->frch_obstack).field_0x50;
    *puVar1 = *puVar1 | 2;
  }
  uVar3 = (pfVar6->frch_obstack).alignment_mask;
  p_Var4 = (pfVar6->frch_obstack).chunk;
  pcVar8 = (char *)((ulong)(pcVar10 + uVar3) & ~uVar3);
  pcVar10 = (pfVar6->frch_obstack).chunk_limit;
  (pfVar6->frch_obstack).next_free = pcVar8;
  if ((ulong)((long)pcVar10 - (long)p_Var4) < (ulong)((long)pcVar8 - (long)p_Var4)) {
    (pfVar6->frch_obstack).next_free = pcVar10;
    pcVar8 = pcVar10;
  }
  (pfVar6->frch_obstack).object_base = pcVar8;
  pfVar9 = frag_alloc(&pfVar6->frch_obstack);
  frag_now = pfVar9;
  pcVar10 = as_where(&pfVar9->fr_line);
  plVar5 = listing_tail;
  pfVar9->fr_file = pcVar10;
  pfVar9 = frag_now;
  pfVar2->fr_next = frag_now;
  pfVar6->frch_last = pfVar9;
  pfVar9->line = plVar5;
  if (pfVar9 != frchain_now->frch_last) {
                    /* WARNING: Subroutine does not return */
    as_abort("../../gas/frags.c",0xc6,"frag_new");
  }
  pfVar9->fr_next = (frag *)0x0;
  return;
}



void FUN_00116d00(long param_1)

{
  long lVar1;
  ulong uVar2;
  undefined8 uVar3;
  long lVar4;
  long lVar5;
  ulong uVar6;
  long lVar7;
  undefined8 uVar8;
  
  lVar4 = DAT_001e4830;
  lVar7 = DAT_001e4648;
  lVar1 = *(long *)(DAT_001e4830 + 8);
  if (lVar1 != DAT_001e4648) {
                    /* WARNING: Subroutine does not return */
    FUN_0011dd00("../../gas/frags.c",0xa5,"frag_new");
  }
  lVar5 = DAT_001e4778;
  if (DAT_001e44a8 != 0x1dae90) {
    lVar5 = *(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80);
  }
  *(long *)(DAT_001e4648 + 0x10) = lVar5 - param_1;
  if (*(int *)(lVar7 + 0x5c) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0011dd00("../../gas/frags.c",0xaa,"frag_new");
  }
  if (*(long *)(lVar4 + 0x48) == *(long *)(lVar4 + 0x40)) {
    *(byte *)(lVar4 + 0x80) = *(byte *)(lVar4 + 0x80) | 2;
  }
  uVar6 = *(long *)(lVar4 + 0x48) + *(ulong *)(lVar4 + 0x60) & ~*(ulong *)(lVar4 + 0x60);
  uVar2 = *(ulong *)(lVar4 + 0x50);
  *(ulong *)(lVar4 + 0x48) = uVar6;
  if (uVar2 - *(long *)(lVar4 + 0x38) < uVar6 - *(long *)(lVar4 + 0x38)) {
    *(ulong *)(lVar4 + 0x48) = uVar2;
    uVar6 = uVar2;
  }
  *(ulong *)(lVar4 + 0x40) = uVar6;
  lVar7 = FUN_00116bb0(lVar4 + 0x30);
  DAT_001e4648 = lVar7;
  uVar8 = FUN_00118700(lVar7 + 0x48);
  uVar3 = DAT_001e4738;
  *(undefined8 *)(lVar7 + 0x40) = uVar8;
  lVar7 = DAT_001e4648;
  *(long *)(lVar1 + 0x38) = DAT_001e4648;
  *(long *)(lVar4 + 8) = lVar7;
  *(undefined8 *)(lVar7 + 0x50) = uVar3;
  if (lVar7 != *(long *)(DAT_001e4830 + 8)) {
                    /* WARNING: Subroutine does not return */
    FUN_0011dd00("../../gas/frags.c",0xc6,"frag_new");
  }
  *(undefined8 *)(lVar7 + 0x38) = 0;
  return;
}


PUSH R12
MOV RDX,qword ptr [0x001e4648]
PUSH RBP
PUSH RBX
MOV RBX,qword ptr [0x001e4830]
MOV R12,qword ptr [RBX + 0x8]
CMP R12,RDX
JNZ 0x00116e4c
LEA RAX,[0x1dae90]
CMP qword ptr [0x001e44a8],RAX
JZ 0x00116e10
MOV RSI,qword ptr [RBX + 0x48]
LEA RAX,[R12 + 0x80]
SUB RSI,RAX
MOV RAX,RSI
SUB RAX,RDI
MOV qword ptr [RDX + 0x10],RAX
MOV EAX,dword ptr [RDX + 0x5c]
TEST EAX,EAX
JZ 0x00116e34
LEA RDI,[RBX + 0x30]
MOV RDX,qword ptr [RBX + 0x48]
CMP RDX,qword ptr [RBX + 0x40]
JZ 0x00116e00
MOV RCX,qword ptr [RBX + 0x60]
LEA RAX,[RDX + RCX*0x1]
NOT RCX
MOV RDX,qword ptr [RBX + 0x38]
AND RAX,RCX
MOV RCX,qword ptr [RBX + 0x50]
MOV RSI,RAX
MOV qword ptr [RBX + 0x48],RAX
MOV R8,RCX
SUB RSI,RDX
SUB R8,RDX
CMP RSI,R8
JA 0x00116df0
MOV qword ptr [RBX + 0x40],RAX
CALL 0x00116bb0
LEA RDI,[RAX + 0x48]
MOV RBP,RAX
MOV qword ptr [0x001e4648],RAX
CALL 0x00118700
MOV RDX,qword ptr [0x001e4738]
MOV qword ptr [RBP + 0x40],RAX
MOV RAX,qword ptr [0x001e4648]
MOV qword ptr [R12 + 0x38],RAX
MOV qword ptr [RBX + 0x8],RAX
MOV qword ptr [RAX + 0x50],RDX
MOV RDX,qword ptr [0x001e4830]
CMP RAX,qword ptr [RDX + 0x8]
JNZ 0x00116e1c
MOV qword ptr [RAX + 0x38],0x0
POP RBX
POP RBP
POP R12
RET
MOV qword ptr [RBX + 0x48],RCX
MOV RAX,RCX
JMP 0x00116d94
OR byte ptr [RBX + 0x80],0x2
JMP 0x00116d69
MOV RAX,qword ptr [0x001e4778]
JMP 0x00116d45
LEA RDX,[0x14cc98]
MOV ESI,0xc6
LEA RDI,[0x14cc4b]
CALL 0x0011dd00
LEA RDX,[0x14cc98]
MOV ESI,0xaa
LEA RDI,[0x14cc4b]
CALL 0x0011dd00
LEA RDX,[0x14cc98]
MOV ESI,0xa5
LEA RDI,[0x14cc4b]
CALL 0x0011dd00
(translation_unit "void FUN_00116d00(long param_1)\n\n{\n  long lVar1;\n  ulong uVar2;\n  undefined8 uVar3;\n  long lVar4;\n  long lVar5;\n  ulong uVar6;\n  long lVar7;\n  undefined8 uVar8;\n  \n  lVar4 = DAT_001e4830;\n  lVar7 = DAT_001e4648;\n  lVar1 = *(long *)(DAT_001e4830 + 8);\n  if (lVar1 != DAT_001e4648) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0011dd00("../../gas/frags.c",0xa5,"frag_new");\n  }\n  lVar5 = DAT_001e4778;\n  if (DAT_001e44a8 != 0x1dae90) {\n    lVar5 = *(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80);\n  }\n  *(long *)(DAT_001e4648 + 0x10) = lVar5 - param_1;\n  if (*(int *)(lVar7 + 0x5c) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0011dd00("../../gas/frags.c",0xaa,"frag_new");\n  }\n  if (*(long *)(lVar4 + 0x48) == *(long *)(lVar4 + 0x40)) {\n    *(byte *)(lVar4 + 0x80) = *(byte *)(lVar4 + 0x80) | 2;\n  }\n  uVar6 = *(long *)(lVar4 + 0x48) + *(ulong *)(lVar4 + 0x60) & ~*(ulong *)(lVar4 + 0x60);\n  uVar2 = *(ulong *)(lVar4 + 0x50);\n  *(ulong *)(lVar4 + 0x48) = uVar6;\n  if (uVar2 - *(long *)(lVar4 + 0x38) < uVar6 - *(long *)(lVar4 + 0x38)) {\n    *(ulong *)(lVar4 + 0x48) = uVar2;\n    uVar6 = uVar2;\n  }\n  *(ulong *)(lVar4 + 0x40) = uVar6;\n  lVar7 = FUN_00116bb0(lVar4 + 0x30);\n  DAT_001e4648 = lVar7;\n  uVar8 = FUN_00118700(lVar7 + 0x48);\n  uVar3 = DAT_001e4738;\n  *(undefined8 *)(lVar7 + 0x40) = uVar8;\n  lVar7 = DAT_001e4648;\n  *(long *)(lVar1 + 0x38) = DAT_001e4648;\n  *(long *)(lVar4 + 8) = lVar7;\n  *(undefined8 *)(lVar7 + 0x50) = uVar3;\n  if (lVar7 != *(long *)(DAT_001e4830 + 8)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0011dd00("../../gas/frags.c",0xc6,"frag_new");\n  }\n  *(undefined8 *)(lVar7 + 0x38) = 0;\n  return;\n}\n\n" (function_definition "void FUN_00116d00(long param_1)\n\n{\n  long lVar1;\n  ulong uVar2;\n  undefined8 uVar3;\n  long lVar4;\n  long lVar5;\n  ulong uVar6;\n  long lVar7;\n  undefined8 uVar8;\n  \n  lVar4 = DAT_001e4830;\n  lVar7 = DAT_001e4648;\n  lVar1 = *(long *)(DAT_001e4830 + 8);\n  if (lVar1 != DAT_001e4648) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0011dd00("../../gas/frags.c",0xa5,"frag_new");\n  }\n  lVar5 = DAT_001e4778;\n  if (DAT_001e44a8 != 0x1dae90) {\n    lVar5 = *(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80);\n  }\n  *(long *)(DAT_001e4648 + 0x10) = lVar5 - param_1;\n  if (*(int *)(lVar7 + 0x5c) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0011dd00("../../gas/frags.c",0xaa,"frag_new");\n  }\n  if (*(long *)(lVar4 + 0x48) == *(long *)(lVar4 + 0x40)) {\n    *(byte *)(lVar4 + 0x80) = *(byte *)(lVar4 + 0x80) | 2;\n  }\n  uVar6 = *(long *)(lVar4 + 0x48) + *(ulong *)(lVar4 + 0x60) & ~*(ulong *)(lVar4 + 0x60);\n  uVar2 = *(ulong *)(lVar4 + 0x50);\n  *(ulong *)(lVar4 + 0x48) = uVar6;\n  if (uVar2 - *(long *)(lVar4 + 0x38) < uVar6 - *(long *)(lVar4 + 0x38)) {\n    *(ulong *)(lVar4 + 0x48) = uVar2;\n    uVar6 = uVar2;\n  }\n  *(ulong *)(lVar4 + 0x40) = uVar6;\n  lVar7 = FUN_00116bb0(lVar4 + 0x30);\n  DAT_001e4648 = lVar7;\n  uVar8 = FUN_00118700(lVar7 + 0x48);\n  uVar3 = DAT_001e4738;\n  *(undefined8 *)(lVar7 + 0x40) = uVar8;\n  lVar7 = DAT_001e4648;\n  *(long *)(lVar1 + 0x38) = DAT_001e4648;\n  *(long *)(lVar4 + 8) = lVar7;\n  *(undefined8 *)(lVar7 + 0x50) = uVar3;\n  if (lVar7 != *(long *)(DAT_001e4830 + 8)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0011dd00("../../gas/frags.c",0xc6,"frag_new");\n  }\n  *(undefined8 *)(lVar7 + 0x38) = 0;\n  return;\n}" primitive_type (function_declarator "FUN_00116d00(long param_1)" identifier (parameter_list "(long param_1)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  long lVar1;\n  ulong uVar2;\n  undefined8 uVar3;\n  long lVar4;\n  long lVar5;\n  ulong uVar6;\n  long lVar7;\n  undefined8 uVar8;\n  \n  lVar4 = DAT_001e4830;\n  lVar7 = DAT_001e4648;\n  lVar1 = *(long *)(DAT_001e4830 + 8);\n  if (lVar1 != DAT_001e4648) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0011dd00("../../gas/frags.c",0xa5,"frag_new");\n  }\n  lVar5 = DAT_001e4778;\n  if (DAT_001e44a8 != 0x1dae90) {\n    lVar5 = *(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80);\n  }\n  *(long *)(DAT_001e4648 + 0x10) = lVar5 - param_1;\n  if (*(int *)(lVar7 + 0x5c) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0011dd00("../../gas/frags.c",0xaa,"frag_new");\n  }\n  if (*(long *)(lVar4 + 0x48) == *(long *)(lVar4 + 0x40)) {\n    *(byte *)(lVar4 + 0x80) = *(byte *)(lVar4 + 0x80) | 2;\n  }\n  uVar6 = *(long *)(lVar4 + 0x48) + *(ulong *)(lVar4 + 0x60) & ~*(ulong *)(lVar4 + 0x60);\n  uVar2 = *(ulong *)(lVar4 + 0x50);\n  *(ulong *)(lVar4 + 0x48) = uVar6;\n  if (uVar2 - *(long *)(lVar4 + 0x38) < uVar6 - *(long *)(lVar4 + 0x38)) {\n    *(ulong *)(lVar4 + 0x48) = uVar2;\n    uVar6 = uVar2;\n  }\n  *(ulong *)(lVar4 + 0x40) = uVar6;\n  lVar7 = FUN_00116bb0(lVar4 + 0x30);\n  DAT_001e4648 = lVar7;\n  uVar8 = FUN_00118700(lVar7 + 0x48);\n  uVar3 = DAT_001e4738;\n  *(undefined8 *)(lVar7 + 0x40) = uVar8;\n  lVar7 = DAT_001e4648;\n  *(long *)(lVar1 + 0x38) = DAT_001e4648;\n  *(long *)(lVar4 + 8) = lVar7;\n  *(undefined8 *)(lVar7 + 0x50) = uVar3;\n  if (lVar7 != *(long *)(DAT_001e4830 + 8)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0011dd00("../../gas/frags.c",0xc6,"frag_new");\n  }\n  *(undefined8 *)(lVar7 + 0x38) = 0;\n  return;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar2;" type_identifier identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar6;" type_identifier identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (expression_statement "lVar4 = DAT_001e4830;" (assignment_expression "lVar4 = DAT_001e4830" identifier = identifier) ;) (expression_statement "lVar7 = DAT_001e4648;" (assignment_expression "lVar7 = DAT_001e4648" identifier = identifier) ;) (expression_statement "lVar1 = *(long *)(DAT_001e4830 + 8);" (assignment_expression "lVar1 = *(long *)(DAT_001e4830 + 8)" identifier = (pointer_expression "*(long *)(DAT_001e4830 + 8)" * (cast_expression "(long *)(DAT_001e4830 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e4830 + 8)" ( (binary_expression "DAT_001e4830 + 8" identifier + number_literal) ))))) ;) (if_statement "if (lVar1 != DAT_001e4648) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0011dd00("../../gas/frags.c",0xa5,"frag_new");\n  }" if (parenthesized_expression "(lVar1 != DAT_001e4648)" ( (binary_expression "lVar1 != DAT_001e4648" identifier != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0011dd00("../../gas/frags.c",0xa5,"frag_new");\n  }" { comment (expression_statement "FUN_0011dd00("../../gas/frags.c",0xa5,"frag_new");" (call_expression "FUN_0011dd00("../../gas/frags.c",0xa5,"frag_new")" identifier (argument_list "("../../gas/frags.c",0xa5,"frag_new")" ( (string_literal ""../../gas/frags.c"" " string_content ") , number_literal , (string_literal ""frag_new"" " string_content ") ))) ;) })) (expression_statement "lVar5 = DAT_001e4778;" (assignment_expression "lVar5 = DAT_001e4778" identifier = identifier) ;) (if_statement "if (DAT_001e44a8 != 0x1dae90) {\n    lVar5 = *(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80);\n  }" if (parenthesized_expression "(DAT_001e44a8 != 0x1dae90)" ( (binary_expression "DAT_001e44a8 != 0x1dae90" identifier != number_literal) )) (compound_statement "{\n    lVar5 = *(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80);\n  }" { (expression_statement "lVar5 = *(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80);" (assignment_expression "lVar5 = *(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80)" identifier = (binary_expression "*(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80)" (pointer_expression "*(long *)(DAT_001e4830 + 0x48)" * (cast_expression "(long *)(DAT_001e4830 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e4830 + 0x48)" ( (binary_expression "DAT_001e4830 + 0x48" identifier + number_literal) )))) - (parenthesized_expression "(lVar1 + 0x80)" ( (binary_expression "lVar1 + 0x80" identifier + number_literal) )))) ;) })) (expression_statement "*(long *)(DAT_001e4648 + 0x10) = lVar5 - param_1;" (assignment_expression "*(long *)(DAT_001e4648 + 0x10) = lVar5 - param_1" (pointer_expression "*(long *)(DAT_001e4648 + 0x10)" * (cast_expression "(long *)(DAT_001e4648 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e4648 + 0x10)" ( (binary_expression "DAT_001e4648 + 0x10" identifier + number_literal) )))) = (binary_expression "lVar5 - param_1" identifier - identifier)) ;) (if_statement "if (*(int *)(lVar7 + 0x5c) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0011dd00("../../gas/frags.c",0xaa,"frag_new");\n  }" if (parenthesized_expression "(*(int *)(lVar7 + 0x5c) == 0)" ( (binary_expression "*(int *)(lVar7 + 0x5c) == 0" (pointer_expression "*(int *)(lVar7 + 0x5c)" * (cast_expression "(int *)(lVar7 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x5c)" ( (binary_expression "lVar7 + 0x5c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0011dd00("../../gas/frags.c",0xaa,"frag_new");\n  }" { comment (expression_statement "FUN_0011dd00("../../gas/frags.c",0xaa,"frag_new");" (call_expression "FUN_0011dd00("../../gas/frags.c",0xaa,"frag_new")" identifier (argument_list "("../../gas/frags.c",0xaa,"frag_new")" ( (string_literal ""../../gas/frags.c"" " string_content ") , number_literal , (string_literal ""frag_new"" " string_content ") ))) ;) })) (if_statement "if (*(long *)(lVar4 + 0x48) == *(long *)(lVar4 + 0x40)) {\n    *(byte *)(lVar4 + 0x80) = *(byte *)(lVar4 + 0x80) | 2;\n  }" if (parenthesized_expression "(*(long *)(lVar4 + 0x48) == *(long *)(lVar4 + 0x40))" ( (binary_expression "*(long *)(lVar4 + 0x48) == *(long *)(lVar4 + 0x40)" (pointer_expression "*(long *)(lVar4 + 0x48)" * (cast_expression "(long *)(lVar4 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x48)" ( (binary_expression "lVar4 + 0x48" identifier + number_literal) )))) == (pointer_expression "*(long *)(lVar4 + 0x40)" * (cast_expression "(long *)(lVar4 + 0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x40)" ( (binary_expression "lVar4 + 0x40" identifier + number_literal) ))))) )) (compound_statement "{\n    *(byte *)(lVar4 + 0x80) = *(byte *)(lVar4 + 0x80) | 2;\n  }" { (expression_statement "*(byte *)(lVar4 + 0x80) = *(byte *)(lVar4 + 0x80) | 2;" (assignment_expression "*(byte *)(lVar4 + 0x80) = *(byte *)(lVar4 + 0x80) | 2" (pointer_expression "*(byte *)(lVar4 + 0x80)" * (cast_expression "(byte *)(lVar4 + 0x80)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x80)" ( (binary_expression "lVar4 + 0x80" identifier + number_literal) )))) = (binary_expression "*(byte *)(lVar4 + 0x80) | 2" (pointer_expression "*(byte *)(lVar4 + 0x80)" * (cast_expression "(byte *)(lVar4 + 0x80)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x80)" ( (binary_expression "lVar4 + 0x80" identifier + number_literal) )))) | number_literal)) ;) })) (expression_statement "uVar6 = *(long *)(lVar4 + 0x48) + *(ulong *)(lVar4 + 0x60) & ~*(ulong *)(lVar4 + 0x60);" (assignment_expression "uVar6 = *(long *)(lVar4 + 0x48) + *(ulong *)(lVar4 + 0x60) & ~*(ulong *)(lVar4 + 0x60)" identifier = (binary_expression "*(long *)(lVar4 + 0x48) + *(ulong *)(lVar4 + 0x60) & ~*(ulong *)(lVar4 + 0x60)" (binary_expression "*(long *)(lVar4 + 0x48) + *(ulong *)(lVar4 + 0x60)" (pointer_expression "*(long *)(lVar4 + 0x48)" * (cast_expression "(long *)(lVar4 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x48)" ( (binary_expression "lVar4 + 0x48" identifier + number_literal) )))) + (pointer_expression "*(ulong *)(lVar4 + 0x60)" * (cast_expression "(ulong *)(lVar4 + 0x60)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x60)" ( (binary_expression "lVar4 + 0x60" identifier + number_literal) ))))) & (unary_expression "~*(ulong *)(lVar4 + 0x60)" ~ (pointer_expression "*(ulong *)(lVar4 + 0x60)" * (cast_expression "(ulong *)(lVar4 + 0x60)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x60)" ( (binary_expression "lVar4 + 0x60" identifier + number_literal) ))))))) ;) (expression_statement "uVar2 = *(ulong *)(lVar4 + 0x50);" (assignment_expression "uVar2 = *(ulong *)(lVar4 + 0x50)" identifier = (pointer_expression "*(ulong *)(lVar4 + 0x50)" * (cast_expression "(ulong *)(lVar4 + 0x50)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x50)" ( (binary_expression "lVar4 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "*(ulong *)(lVar4 + 0x48) = uVar6;" (assignment_expression "*(ulong *)(lVar4 + 0x48) = uVar6" (pointer_expression "*(ulong *)(lVar4 + 0x48)" * (cast_expression "(ulong *)(lVar4 + 0x48)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x48)" ( (binary_expression "lVar4 + 0x48" identifier + number_literal) )))) = identifier) ;) (if_statement "if (uVar2 - *(long *)(lVar4 + 0x38) < uVar6 - *(long *)(lVar4 + 0x38)) {\n    *(ulong *)(lVar4 + 0x48) = uVar2;\n    uVar6 = uVar2;\n  }" if (parenthesized_expression "(uVar2 - *(long *)(lVar4 + 0x38) < uVar6 - *(long *)(lVar4 + 0x38))" ( (binary_expression "uVar2 - *(long *)(lVar4 + 0x38) < uVar6 - *(long *)(lVar4 + 0x38)" (binary_expression "uVar2 - *(long *)(lVar4 + 0x38)" identifier - (pointer_expression "*(long *)(lVar4 + 0x38)" * (cast_expression "(long *)(lVar4 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x38)" ( (binary_expression "lVar4 + 0x38" identifier + number_literal) ))))) < (binary_expression "uVar6 - *(long *)(lVar4 + 0x38)" identifier - (pointer_expression "*(long *)(lVar4 + 0x38)" * (cast_expression "(long *)(lVar4 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x38)" ( (binary_expression "lVar4 + 0x38" identifier + number_literal) )))))) )) (compound_statement "{\n    *(ulong *)(lVar4 + 0x48) = uVar2;\n    uVar6 = uVar2;\n  }" { (expression_statement "*(ulong *)(lVar4 + 0x48) = uVar2;" (assignment_expression "*(ulong *)(lVar4 + 0x48) = uVar2" (pointer_expression "*(ulong *)(lVar4 + 0x48)" * (cast_expression "(ulong *)(lVar4 + 0x48)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x48)" ( (binary_expression "lVar4 + 0x48" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar6 = uVar2;" (assignment_expression "uVar6 = uVar2" identifier = identifier) ;) })) (expression_statement "*(ulong *)(lVar4 + 0x40) = uVar6;" (assignment_expression "*(ulong *)(lVar4 + 0x40) = uVar6" (pointer_expression "*(ulong *)(lVar4 + 0x40)" * (cast_expression "(ulong *)(lVar4 + 0x40)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x40)" ( (binary_expression "lVar4 + 0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "lVar7 = FUN_00116bb0(lVar4 + 0x30);" (assignment_expression "lVar7 = FUN_00116bb0(lVar4 + 0x30)" identifier = (call_expression "FUN_00116bb0(lVar4 + 0x30)" identifier (argument_list "(lVar4 + 0x30)" ( (binary_expression "lVar4 + 0x30" identifier + number_literal) )))) ;) (expression_statement "DAT_001e4648 = lVar7;" (assignment_expression "DAT_001e4648 = lVar7" identifier = identifier) ;) (expression_statement "uVar8 = FUN_00118700(lVar7 + 0x48);" (assignment_expression "uVar8 = FUN_00118700(lVar7 + 0x48)" identifier = (call_expression "FUN_00118700(lVar7 + 0x48)" identifier (argument_list "(lVar7 + 0x48)" ( (binary_expression "lVar7 + 0x48" identifier + number_literal) )))) ;) (expression_statement "uVar3 = DAT_001e4738;" (assignment_expression "uVar3 = DAT_001e4738" identifier = identifier) ;) (expression_statement "*(undefined8 *)(lVar7 + 0x40) = uVar8;" (assignment_expression "*(undefined8 *)(lVar7 + 0x40) = uVar8" (pointer_expression "*(undefined8 *)(lVar7 + 0x40)" * (cast_expression "(undefined8 *)(lVar7 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x40)" ( (binary_expression "lVar7 + 0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "lVar7 = DAT_001e4648;" (assignment_expression "lVar7 = DAT_001e4648" identifier = identifier) ;) (expression_statement "*(long *)(lVar1 + 0x38) = DAT_001e4648;" (assignment_expression "*(long *)(lVar1 + 0x38) = DAT_001e4648" (pointer_expression "*(long *)(lVar1 + 0x38)" * (cast_expression "(long *)(lVar1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x38)" ( (binary_expression "lVar1 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(long *)(lVar4 + 8) = lVar7;" (assignment_expression "*(long *)(lVar4 + 8) = lVar7" (pointer_expression "*(long *)(lVar4 + 8)" * (cast_expression "(long *)(lVar4 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 8)" ( (binary_expression "lVar4 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(lVar7 + 0x50) = uVar3;" (assignment_expression "*(undefined8 *)(lVar7 + 0x50) = uVar3" (pointer_expression "*(undefined8 *)(lVar7 + 0x50)" * (cast_expression "(undefined8 *)(lVar7 + 0x50)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x50)" ( (binary_expression "lVar7 + 0x50" identifier + number_literal) )))) = identifier) ;) (if_statement "if (lVar7 != *(long *)(DAT_001e4830 + 8)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0011dd00("../../gas/frags.c",0xc6,"frag_new");\n  }" if (parenthesized_expression "(lVar7 != *(long *)(DAT_001e4830 + 8))" ( (binary_expression "lVar7 != *(long *)(DAT_001e4830 + 8)" identifier != (pointer_expression "*(long *)(DAT_001e4830 + 8)" * (cast_expression "(long *)(DAT_001e4830 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e4830 + 8)" ( (binary_expression "DAT_001e4830 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0011dd00("../../gas/frags.c",0xc6,"frag_new");\n  }" { comment (expression_statement "FUN_0011dd00("../../gas/frags.c",0xc6,"frag_new");" (call_expression "FUN_0011dd00("../../gas/frags.c",0xc6,"frag_new")" identifier (argument_list "("../../gas/frags.c",0xc6,"frag_new")" ( (string_literal ""../../gas/frags.c"" " string_content ") , number_literal , (string_literal ""frag_new"" " string_content ") ))) ;) })) (expression_statement "*(undefined8 *)(lVar7 + 0x38) = 0;" (assignment_expression "*(undefined8 *)(lVar7 + 0x38) = 0" (pointer_expression "*(undefined8 *)(lVar7 + 0x38)" * (cast_expression "(undefined8 *)(lVar7 + 0x38)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x38)" ( (binary_expression "lVar7 + 0x38" identifier + number_literal) )))) = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit "void frag_new(size_t old_frags_var_max_size)\n\n{\n  undefined1 *puVar1;\n  fragS *pfVar2;\n  ulong uVar3;\n  _obstack_chunk *p_Var4;\n  list_info_struct *plVar5;\n  frchainS *pfVar6;\n  addressT aVar7;\n  char *pcVar8;\n  fragS *pfVar9;\n  char *pcVar10;\n  \n  pfVar6 = frchain_now;\n  pfVar9 = frag_now;\n  pfVar2 = frchain_now->frch_last;\n  if (pfVar2 != frag_now) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/frags.c",0xa5,"frag_new");\n  }\n  aVar7 = abs_section_offset;\n  if (now_seg != (segT)(_bfd_std_section + 0x230)) {\n    aVar7 = (long)(frchain_now->frch_obstack).next_free - (long)pfVar2->fr_literal;\n  }\n  frag_now->fr_fix = aVar7 - old_frags_var_max_size;\n  if (pfVar9->fr_type == rs_dummy) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/frags.c",0xaa,"frag_new");\n  }\n  pcVar10 = (pfVar6->frch_obstack).next_free;\n  if (pcVar10 == (pfVar6->frch_obstack).object_base) {\n    puVar1 = &(pfVar6->frch_obstack).field_0x50;\n    *puVar1 = *puVar1 | 2;\n  }\n  uVar3 = (pfVar6->frch_obstack).alignment_mask;\n  p_Var4 = (pfVar6->frch_obstack).chunk;\n  pcVar8 = (char *)((ulong)(pcVar10 + uVar3) & ~uVar3);\n  pcVar10 = (pfVar6->frch_obstack).chunk_limit;\n  (pfVar6->frch_obstack).next_free = pcVar8;\n  if ((ulong)((long)pcVar10 - (long)p_Var4) < (ulong)((long)pcVar8 - (long)p_Var4)) {\n    (pfVar6->frch_obstack).next_free = pcVar10;\n    pcVar8 = pcVar10;\n  }\n  (pfVar6->frch_obstack).object_base = pcVar8;\n  pfVar9 = frag_alloc(&pfVar6->frch_obstack);\n  frag_now = pfVar9;\n  pcVar10 = as_where(&pfVar9->fr_line);\n  plVar5 = listing_tail;\n  pfVar9->fr_file = pcVar10;\n  pfVar9 = frag_now;\n  pfVar2->fr_next = frag_now;\n  pfVar6->frch_last = pfVar9;\n  pfVar9->line = plVar5;\n  if (pfVar9 != frchain_now->frch_last) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/frags.c",0xc6,"frag_new");\n  }\n  pfVar9->fr_next = (frag *)0x0;\n  return;\n}\n\n" (function_definition "void frag_new(size_t old_frags_var_max_size)\n\n{\n  undefined1 *puVar1;\n  fragS *pfVar2;\n  ulong uVar3;\n  _obstack_chunk *p_Var4;\n  list_info_struct *plVar5;\n  frchainS *pfVar6;\n  addressT aVar7;\n  char *pcVar8;\n  fragS *pfVar9;\n  char *pcVar10;\n  \n  pfVar6 = frchain_now;\n  pfVar9 = frag_now;\n  pfVar2 = frchain_now->frch_last;\n  if (pfVar2 != frag_now) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/frags.c",0xa5,"frag_new");\n  }\n  aVar7 = abs_section_offset;\n  if (now_seg != (segT)(_bfd_std_section + 0x230)) {\n    aVar7 = (long)(frchain_now->frch_obstack).next_free - (long)pfVar2->fr_literal;\n  }\n  frag_now->fr_fix = aVar7 - old_frags_var_max_size;\n  if (pfVar9->fr_type == rs_dummy) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/frags.c",0xaa,"frag_new");\n  }\n  pcVar10 = (pfVar6->frch_obstack).next_free;\n  if (pcVar10 == (pfVar6->frch_obstack).object_base) {\n    puVar1 = &(pfVar6->frch_obstack).field_0x50;\n    *puVar1 = *puVar1 | 2;\n  }\n  uVar3 = (pfVar6->frch_obstack).alignment_mask;\n  p_Var4 = (pfVar6->frch_obstack).chunk;\n  pcVar8 = (char *)((ulong)(pcVar10 + uVar3) & ~uVar3);\n  pcVar10 = (pfVar6->frch_obstack).chunk_limit;\n  (pfVar6->frch_obstack).next_free = pcVar8;\n  if ((ulong)((long)pcVar10 - (long)p_Var4) < (ulong)((long)pcVar8 - (long)p_Var4)) {\n    (pfVar6->frch_obstack).next_free = pcVar10;\n    pcVar8 = pcVar10;\n  }\n  (pfVar6->frch_obstack).object_base = pcVar8;\n  pfVar9 = frag_alloc(&pfVar6->frch_obstack);\n  frag_now = pfVar9;\n  pcVar10 = as_where(&pfVar9->fr_line);\n  plVar5 = listing_tail;\n  pfVar9->fr_file = pcVar10;\n  pfVar9 = frag_now;\n  pfVar2->fr_next = frag_now;\n  pfVar6->frch_last = pfVar9;\n  pfVar9->line = plVar5;\n  if (pfVar9 != frchain_now->frch_last) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/frags.c",0xc6,"frag_new");\n  }\n  pfVar9->fr_next = (frag *)0x0;\n  return;\n}" primitive_type (function_declarator "frag_new(size_t old_frags_var_max_size)" identifier (parameter_list "(size_t old_frags_var_max_size)" ( (parameter_declaration "size_t old_frags_var_max_size" primitive_type identifier) ))) (compound_statement "{\n  undefined1 *puVar1;\n  fragS *pfVar2;\n  ulong uVar3;\n  _obstack_chunk *p_Var4;\n  list_info_struct *plVar5;\n  frchainS *pfVar6;\n  addressT aVar7;\n  char *pcVar8;\n  fragS *pfVar9;\n  char *pcVar10;\n  \n  pfVar6 = frchain_now;\n  pfVar9 = frag_now;\n  pfVar2 = frchain_now->frch_last;\n  if (pfVar2 != frag_now) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/frags.c",0xa5,"frag_new");\n  }\n  aVar7 = abs_section_offset;\n  if (now_seg != (segT)(_bfd_std_section + 0x230)) {\n    aVar7 = (long)(frchain_now->frch_obstack).next_free - (long)pfVar2->fr_literal;\n  }\n  frag_now->fr_fix = aVar7 - old_frags_var_max_size;\n  if (pfVar9->fr_type == rs_dummy) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/frags.c",0xaa,"frag_new");\n  }\n  pcVar10 = (pfVar6->frch_obstack).next_free;\n  if (pcVar10 == (pfVar6->frch_obstack).object_base) {\n    puVar1 = &(pfVar6->frch_obstack).field_0x50;\n    *puVar1 = *puVar1 | 2;\n  }\n  uVar3 = (pfVar6->frch_obstack).alignment_mask;\n  p_Var4 = (pfVar6->frch_obstack).chunk;\n  pcVar8 = (char *)((ulong)(pcVar10 + uVar3) & ~uVar3);\n  pcVar10 = (pfVar6->frch_obstack).chunk_limit;\n  (pfVar6->frch_obstack).next_free = pcVar8;\n  if ((ulong)((long)pcVar10 - (long)p_Var4) < (ulong)((long)pcVar8 - (long)p_Var4)) {\n    (pfVar6->frch_obstack).next_free = pcVar10;\n    pcVar8 = pcVar10;\n  }\n  (pfVar6->frch_obstack).object_base = pcVar8;\n  pfVar9 = frag_alloc(&pfVar6->frch_obstack);\n  frag_now = pfVar9;\n  pcVar10 = as_where(&pfVar9->fr_line);\n  plVar5 = listing_tail;\n  pfVar9->fr_file = pcVar10;\n  pfVar9 = frag_now;\n  pfVar2->fr_next = frag_now;\n  pfVar6->frch_last = pfVar9;\n  pfVar9->line = plVar5;\n  if (pfVar9 != frchain_now->frch_last) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/frags.c",0xc6,"frag_new");\n  }\n  pfVar9->fr_next = (frag *)0x0;\n  return;\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "fragS *pfVar2;" type_identifier (pointer_declarator "*pfVar2" * identifier) ;) (declaration "ulong uVar3;" type_identifier identifier ;) (declaration "_obstack_chunk *p_Var4;" type_identifier (pointer_declarator "*p_Var4" * identifier) ;) (declaration "list_info_struct *plVar5;" type_identifier (pointer_declarator "*plVar5" * identifier) ;) (declaration "frchainS *pfVar6;" type_identifier (pointer_declarator "*pfVar6" * identifier) ;) (declaration "addressT aVar7;" type_identifier identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "fragS *pfVar9;" type_identifier (pointer_declarator "*pfVar9" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (expression_statement "pfVar6 = frchain_now;" (assignment_expression "pfVar6 = frchain_now" identifier = identifier) ;) (expression_statement "pfVar9 = frag_now;" (assignment_expression "pfVar9 = frag_now" identifier = identifier) ;) (expression_statement "pfVar2 = frchain_now->frch_last;" (assignment_expression "pfVar2 = frchain_now->frch_last" identifier = (field_expression "frchain_now->frch_last" identifier -> field_identifier)) ;) (if_statement "if (pfVar2 != frag_now) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/frags.c",0xa5,"frag_new");\n  }" if (parenthesized_expression "(pfVar2 != frag_now)" ( (binary_expression "pfVar2 != frag_now" identifier != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/frags.c",0xa5,"frag_new");\n  }" { comment (expression_statement "as_abort("../../gas/frags.c",0xa5,"frag_new");" (call_expression "as_abort("../../gas/frags.c",0xa5,"frag_new")" identifier (argument_list "("../../gas/frags.c",0xa5,"frag_new")" ( (string_literal ""../../gas/frags.c"" " string_content ") , number_literal , (string_literal ""frag_new"" " string_content ") ))) ;) })) (expression_statement "aVar7 = abs_section_offset;" (assignment_expression "aVar7 = abs_section_offset" identifier = identifier) ;) (if_statement "if (now_seg != (segT)(_bfd_std_section + 0x230)) {\n    aVar7 = (long)(frchain_now->frch_obstack).next_free - (long)pfVar2->fr_literal;\n  }" if (parenthesized_expression "(now_seg != (segT)(_bfd_std_section + 0x230))" ( (binary_expression "now_seg != (segT)(_bfd_std_section + 0x230)" identifier != (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) )))) )) (compound_statement "{\n    aVar7 = (long)(frchain_now->frch_obstack).next_free - (long)pfVar2->fr_literal;\n  }" { (expression_statement "aVar7 = (long)(frchain_now->frch_obstack).next_free - (long)pfVar2->fr_literal;" (assignment_expression "aVar7 = (long)(frchain_now->frch_obstack).next_free - (long)pfVar2->fr_literal" identifier = (binary_expression "(long)(frchain_now->frch_obstack).next_free - (long)pfVar2->fr_literal" (cast_expression "(long)(frchain_now->frch_obstack).next_free" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(frchain_now->frch_obstack).next_free" (parenthesized_expression "(frchain_now->frch_obstack)" ( (field_expression "frchain_now->frch_obstack" identifier -> field_identifier) )) . field_identifier)) - (cast_expression "(long)pfVar2->fr_literal" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "pfVar2->fr_literal" identifier -> field_identifier)))) ;) })) (expression_statement "frag_now->fr_fix = aVar7 - old_frags_var_max_size;" (assignment_expression "frag_now->fr_fix = aVar7 - old_frags_var_max_size" (field_expression "frag_now->fr_fix" identifier -> field_identifier) = (binary_expression "aVar7 - old_frags_var_max_size" identifier - identifier)) ;) (if_statement "if (pfVar9->fr_type == rs_dummy) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/frags.c",0xaa,"frag_new");\n  }" if (parenthesized_expression "(pfVar9->fr_type == rs_dummy)" ( (binary_expression "pfVar9->fr_type == rs_dummy" (field_expression "pfVar9->fr_type" identifier -> field_identifier) == identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/frags.c",0xaa,"frag_new");\n  }" { comment (expression_statement "as_abort("../../gas/frags.c",0xaa,"frag_new");" (call_expression "as_abort("../../gas/frags.c",0xaa,"frag_new")" identifier (argument_list "("../../gas/frags.c",0xaa,"frag_new")" ( (string_literal ""../../gas/frags.c"" " string_content ") , number_literal , (string_literal ""frag_new"" " string_content ") ))) ;) })) (expression_statement "pcVar10 = (pfVar6->frch_obstack).next_free;" (assignment_expression "pcVar10 = (pfVar6->frch_obstack).next_free" identifier = (field_expression "(pfVar6->frch_obstack).next_free" (parenthesized_expression "(pfVar6->frch_obstack)" ( (field_expression "pfVar6->frch_obstack" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (pcVar10 == (pfVar6->frch_obstack).object_base) {\n    puVar1 = &(pfVar6->frch_obstack).field_0x50;\n    *puVar1 = *puVar1 | 2;\n  }" if (parenthesized_expression "(pcVar10 == (pfVar6->frch_obstack).object_base)" ( (binary_expression "pcVar10 == (pfVar6->frch_obstack).object_base" identifier == (field_expression "(pfVar6->frch_obstack).object_base" (parenthesized_expression "(pfVar6->frch_obstack)" ( (field_expression "pfVar6->frch_obstack" identifier -> field_identifier) )) . field_identifier)) )) (compound_statement "{\n    puVar1 = &(pfVar6->frch_obstack).field_0x50;\n    *puVar1 = *puVar1 | 2;\n  }" { (expression_statement "puVar1 = &(pfVar6->frch_obstack).field_0x50;" (assignment_expression "puVar1 = &(pfVar6->frch_obstack).field_0x50" identifier = (pointer_expression "&(pfVar6->frch_obstack).field_0x50" & (field_expression "(pfVar6->frch_obstack).field_0x50" (parenthesized_expression "(pfVar6->frch_obstack)" ( (field_expression "pfVar6->frch_obstack" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "*puVar1 = *puVar1 | 2;" (assignment_expression "*puVar1 = *puVar1 | 2" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 | 2" (pointer_expression "*puVar1" * identifier) | number_literal)) ;) })) (expression_statement "uVar3 = (pfVar6->frch_obstack).alignment_mask;" (assignment_expression "uVar3 = (pfVar6->frch_obstack).alignment_mask" identifier = (field_expression "(pfVar6->frch_obstack).alignment_mask" (parenthesized_expression "(pfVar6->frch_obstack)" ( (field_expression "pfVar6->frch_obstack" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "p_Var4 = (pfVar6->frch_obstack).chunk;" (assignment_expression "p_Var4 = (pfVar6->frch_obstack).chunk" identifier = (field_expression "(pfVar6->frch_obstack).chunk" (parenthesized_expression "(pfVar6->frch_obstack)" ( (field_expression "pfVar6->frch_obstack" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pcVar8 = (char *)((ulong)(pcVar10 + uVar3) & ~uVar3);" (assignment_expression "pcVar8 = (char *)((ulong)(pcVar10 + uVar3) & ~uVar3)" identifier = (cast_expression "(char *)((ulong)(pcVar10 + uVar3) & ~uVar3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(pcVar10 + uVar3) & ~uVar3)" ( (binary_expression "(ulong)(pcVar10 + uVar3) & ~uVar3" (call_expression "(ulong)(pcVar10 + uVar3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(pcVar10 + uVar3)" ( (binary_expression "pcVar10 + uVar3" identifier + identifier) ))) & (unary_expression "~uVar3" ~ identifier)) )))) ;) (expression_statement "pcVar10 = (pfVar6->frch_obstack).chunk_limit;" (assignment_expression "pcVar10 = (pfVar6->frch_obstack).chunk_limit" identifier = (field_expression "(pfVar6->frch_obstack).chunk_limit" (parenthesized_expression "(pfVar6->frch_obstack)" ( (field_expression "pfVar6->frch_obstack" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "(pfVar6->frch_obstack).next_free = pcVar8;" (assignment_expression "(pfVar6->frch_obstack).next_free = pcVar8" (field_expression "(pfVar6->frch_obstack).next_free" (parenthesized_expression "(pfVar6->frch_obstack)" ( (field_expression "pfVar6->frch_obstack" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (if_statement "if ((ulong)((long)pcVar10 - (long)p_Var4) < (ulong)((long)pcVar8 - (long)p_Var4)) {\n    (pfVar6->frch_obstack).next_free = pcVar10;\n    pcVar8 = pcVar10;\n  }" if (parenthesized_expression "((ulong)((long)pcVar10 - (long)p_Var4) < (ulong)((long)pcVar8 - (long)p_Var4))" ( (binary_expression "(ulong)((long)pcVar10 - (long)p_Var4) < (ulong)((long)pcVar8 - (long)p_Var4)" (call_expression "(ulong)((long)pcVar10 - (long)p_Var4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)pcVar10 - (long)p_Var4)" ( (binary_expression "(long)pcVar10 - (long)p_Var4" (cast_expression "(long)pcVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)p_Var4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) < (call_expression "(ulong)((long)pcVar8 - (long)p_Var4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)pcVar8 - (long)p_Var4)" ( (binary_expression "(long)pcVar8 - (long)p_Var4" (cast_expression "(long)pcVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)p_Var4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) )) (compound_statement "{\n    (pfVar6->frch_obstack).next_free = pcVar10;\n    pcVar8 = pcVar10;\n  }" { (expression_statement "(pfVar6->frch_obstack).next_free = pcVar10;" (assignment_expression "(pfVar6->frch_obstack).next_free = pcVar10" (field_expression "(pfVar6->frch_obstack).next_free" (parenthesized_expression "(pfVar6->frch_obstack)" ( (field_expression "pfVar6->frch_obstack" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "pcVar8 = pcVar10;" (assignment_expression "pcVar8 = pcVar10" identifier = identifier) ;) })) (expression_statement "(pfVar6->frch_obstack).object_base = pcVar8;" (assignment_expression "(pfVar6->frch_obstack).object_base = pcVar8" (field_expression "(pfVar6->frch_obstack).object_base" (parenthesized_expression "(pfVar6->frch_obstack)" ( (field_expression "pfVar6->frch_obstack" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "pfVar9 = frag_alloc(&pfVar6->frch_obstack);" (assignment_expression "pfVar9 = frag_alloc(&pfVar6->frch_obstack)" identifier = (call_expression "frag_alloc(&pfVar6->frch_obstack)" identifier (argument_list "(&pfVar6->frch_obstack)" ( (pointer_expression "&pfVar6->frch_obstack" & (field_expression "pfVar6->frch_obstack" identifier -> field_identifier)) )))) ;) (expression_statement "frag_now = pfVar9;" (assignment_expression "frag_now = pfVar9" identifier = identifier) ;) (expression_statement "pcVar10 = as_where(&pfVar9->fr_line);" (assignment_expression "pcVar10 = as_where(&pfVar9->fr_line)" identifier = (call_expression "as_where(&pfVar9->fr_line)" identifier (argument_list "(&pfVar9->fr_line)" ( (pointer_expression "&pfVar9->fr_line" & (field_expression "pfVar9->fr_line" identifier -> field_identifier)) )))) ;) (expression_statement "plVar5 = listing_tail;" (assignment_expression "plVar5 = listing_tail" identifier = identifier) ;) (expression_statement "pfVar9->fr_file = pcVar10;" (assignment_expression "pfVar9->fr_file = pcVar10" (field_expression "pfVar9->fr_file" identifier -> field_identifier) = identifier) ;) (expression_statement "pfVar9 = frag_now;" (assignment_expression "pfVar9 = frag_now" identifier = identifier) ;) (expression_statement "pfVar2->fr_next = frag_now;" (assignment_expression "pfVar2->fr_next = frag_now" (field_expression "pfVar2->fr_next" identifier -> field_identifier) = identifier) ;) (expression_statement "pfVar6->frch_last = pfVar9;" (assignment_expression "pfVar6->frch_last = pfVar9" (field_expression "pfVar6->frch_last" identifier -> field_identifier) = identifier) ;) (expression_statement "pfVar9->line = plVar5;" (assignment_expression "pfVar9->line = plVar5" (field_expression "pfVar9->line" identifier -> field_identifier) = identifier) ;) (if_statement "if (pfVar9 != frchain_now->frch_last) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/frags.c",0xc6,"frag_new");\n  }" if (parenthesized_expression "(pfVar9 != frchain_now->frch_last)" ( (binary_expression "pfVar9 != frchain_now->frch_last" identifier != (field_expression "frchain_now->frch_last" identifier -> field_identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/frags.c",0xc6,"frag_new");\n  }" { comment (expression_statement "as_abort("../../gas/frags.c",0xc6,"frag_new");" (call_expression "as_abort("../../gas/frags.c",0xc6,"frag_new")" identifier (argument_list "("../../gas/frags.c",0xc6,"frag_new")" ( (string_literal ""../../gas/frags.c"" " string_content ") , number_literal , (string_literal ""frag_new"" " string_content ") ))) ;) })) (expression_statement "pfVar9->fr_next = (frag *)0x0;" (assignment_expression "pfVar9->fr_next = (frag *)0x0" (field_expression "pfVar9->fr_next" identifier -> field_identifier) = (cast_expression "(frag *)0x0" ( (type_descriptor "frag *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00116d00(long param_1)\n\n{\n  long lVar1;\n  ulong uVar2;\n  undefined8 uVar3;\n  long lVar4;\n  long lVar5;\n  ulong uVar6;\n  long lVar7;\n  undefined8 uVar8;\n  \n  lVar4 = DAT_001e4830;\n  lVar7 = DAT_001e4648;\n  lVar1 = *(long *)(DAT_001e4830 + 8);\n  if (lVar1 != DAT_001e4648) {\n                    \n    FUN_0011dd00("../../gas/frags.c",0xa5,"frag_new");\n  }\n  lVar5 = DAT_001e4778;\n  if (DAT_001e44a8 != 0x1dae90) {\n    lVar5 = *(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80);\n  }\n  *(long *)(DAT_001e4648 + 0x10) = lVar5 - param_1;\n  if (*(int *)(lVar7 + 0x5c) == 0) {\n                    \n    FUN_0011dd00("../../gas/frags.c",0xaa,"frag_new");\n  }\n  if (*(long *)(lVar4 + 0x48) == *(long *)(lVar4 + 0x40)) {\n    *(byte *)(lVar4 + 0x80) = *(byte *)(lVar4 + 0x80) | 2;\n  }\n  uVar6 = *(long *)(lVar4 + 0x48) + *(ulong *)(lVar4 + 0x60) & ~*(ulong *)(lVar4 + 0x60);\n  uVar2 = *(ulong *)(lVar4 + 0x50);\n  *(ulong *)(lVar4 + 0x48) = uVar6;\n  if (uVar2 - *(long *)(lVar4 + 0x38) < uVar6 - *(long *)(lVar4 + 0x38)) {\n    *(ulong *)(lVar4 + 0x48) = uVar2;\n    uVar6 = uVar2;\n  }\n  *(ulong *)(lVar4 + 0x40) = uVar6;\n  lVar7 = FUN_00116bb0(lVar4 + 0x30);\n  DAT_001e4648 = lVar7;\n  uVar8 = FUN_00118700(lVar7 + 0x48);\n  uVar3 = DAT_001e4738;\n  *(undefined8 *)(lVar7 + 0x40) = uVar8;\n  lVar7 = DAT_001e4648;\n  *(long *)(lVar1 + 0x38) = DAT_001e4648;\n  *(long *)(lVar4 + 8) = lVar7;\n  *(undefined8 *)(lVar7 + 0x50) = uVar3;\n  if (lVar7 != *(long *)(DAT_001e4830 + 8)) {\n                    \n    FUN_0011dd00("../../gas/frags.c",0xc6,"frag_new");\n  }\n  *(undefined8 *)(lVar7 + 0x38) = 0;\n  return;\n}\n\n" (function_definition "void FUN_00116d00(long param_1)\n\n{\n  long lVar1;\n  ulong uVar2;\n  undefined8 uVar3;\n  long lVar4;\n  long lVar5;\n  ulong uVar6;\n  long lVar7;\n  undefined8 uVar8;\n  \n  lVar4 = DAT_001e4830;\n  lVar7 = DAT_001e4648;\n  lVar1 = *(long *)(DAT_001e4830 + 8);\n  if (lVar1 != DAT_001e4648) {\n                    \n    FUN_0011dd00("../../gas/frags.c",0xa5,"frag_new");\n  }\n  lVar5 = DAT_001e4778;\n  if (DAT_001e44a8 != 0x1dae90) {\n    lVar5 = *(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80);\n  }\n  *(long *)(DAT_001e4648 + 0x10) = lVar5 - param_1;\n  if (*(int *)(lVar7 + 0x5c) == 0) {\n                    \n    FUN_0011dd00("../../gas/frags.c",0xaa,"frag_new");\n  }\n  if (*(long *)(lVar4 + 0x48) == *(long *)(lVar4 + 0x40)) {\n    *(byte *)(lVar4 + 0x80) = *(byte *)(lVar4 + 0x80) | 2;\n  }\n  uVar6 = *(long *)(lVar4 + 0x48) + *(ulong *)(lVar4 + 0x60) & ~*(ulong *)(lVar4 + 0x60);\n  uVar2 = *(ulong *)(lVar4 + 0x50);\n  *(ulong *)(lVar4 + 0x48) = uVar6;\n  if (uVar2 - *(long *)(lVar4 + 0x38) < uVar6 - *(long *)(lVar4 + 0x38)) {\n    *(ulong *)(lVar4 + 0x48) = uVar2;\n    uVar6 = uVar2;\n  }\n  *(ulong *)(lVar4 + 0x40) = uVar6;\n  lVar7 = FUN_00116bb0(lVar4 + 0x30);\n  DAT_001e4648 = lVar7;\n  uVar8 = FUN_00118700(lVar7 + 0x48);\n  uVar3 = DAT_001e4738;\n  *(undefined8 *)(lVar7 + 0x40) = uVar8;\n  lVar7 = DAT_001e4648;\n  *(long *)(lVar1 + 0x38) = DAT_001e4648;\n  *(long *)(lVar4 + 8) = lVar7;\n  *(undefined8 *)(lVar7 + 0x50) = uVar3;\n  if (lVar7 != *(long *)(DAT_001e4830 + 8)) {\n                    \n    FUN_0011dd00("../../gas/frags.c",0xc6,"frag_new");\n  }\n  *(undefined8 *)(lVar7 + 0x38) = 0;\n  return;\n}" primitive_type (function_declarator "FUN_00116d00(long param_1)" identifier (parameter_list "(long param_1)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  long lVar1;\n  ulong uVar2;\n  undefined8 uVar3;\n  long lVar4;\n  long lVar5;\n  ulong uVar6;\n  long lVar7;\n  undefined8 uVar8;\n  \n  lVar4 = DAT_001e4830;\n  lVar7 = DAT_001e4648;\n  lVar1 = *(long *)(DAT_001e4830 + 8);\n  if (lVar1 != DAT_001e4648) {\n                    \n    FUN_0011dd00("../../gas/frags.c",0xa5,"frag_new");\n  }\n  lVar5 = DAT_001e4778;\n  if (DAT_001e44a8 != 0x1dae90) {\n    lVar5 = *(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80);\n  }\n  *(long *)(DAT_001e4648 + 0x10) = lVar5 - param_1;\n  if (*(int *)(lVar7 + 0x5c) == 0) {\n                    \n    FUN_0011dd00("../../gas/frags.c",0xaa,"frag_new");\n  }\n  if (*(long *)(lVar4 + 0x48) == *(long *)(lVar4 + 0x40)) {\n    *(byte *)(lVar4 + 0x80) = *(byte *)(lVar4 + 0x80) | 2;\n  }\n  uVar6 = *(long *)(lVar4 + 0x48) + *(ulong *)(lVar4 + 0x60) & ~*(ulong *)(lVar4 + 0x60);\n  uVar2 = *(ulong *)(lVar4 + 0x50);\n  *(ulong *)(lVar4 + 0x48) = uVar6;\n  if (uVar2 - *(long *)(lVar4 + 0x38) < uVar6 - *(long *)(lVar4 + 0x38)) {\n    *(ulong *)(lVar4 + 0x48) = uVar2;\n    uVar6 = uVar2;\n  }\n  *(ulong *)(lVar4 + 0x40) = uVar6;\n  lVar7 = FUN_00116bb0(lVar4 + 0x30);\n  DAT_001e4648 = lVar7;\n  uVar8 = FUN_00118700(lVar7 + 0x48);\n  uVar3 = DAT_001e4738;\n  *(undefined8 *)(lVar7 + 0x40) = uVar8;\n  lVar7 = DAT_001e4648;\n  *(long *)(lVar1 + 0x38) = DAT_001e4648;\n  *(long *)(lVar4 + 8) = lVar7;\n  *(undefined8 *)(lVar7 + 0x50) = uVar3;\n  if (lVar7 != *(long *)(DAT_001e4830 + 8)) {\n                    \n    FUN_0011dd00("../../gas/frags.c",0xc6,"frag_new");\n  }\n  *(undefined8 *)(lVar7 + 0x38) = 0;\n  return;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar2;" type_identifier identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar6;" type_identifier identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (expression_statement "lVar4 = DAT_001e4830;" (assignment_expression "lVar4 = DAT_001e4830" identifier = identifier) ;) (expression_statement "lVar7 = DAT_001e4648;" (assignment_expression "lVar7 = DAT_001e4648" identifier = identifier) ;) (expression_statement "lVar1 = *(long *)(DAT_001e4830 + 8);" (assignment_expression "lVar1 = *(long *)(DAT_001e4830 + 8)" identifier = (pointer_expression "*(long *)(DAT_001e4830 + 8)" * (cast_expression "(long *)(DAT_001e4830 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e4830 + 8)" ( (binary_expression "DAT_001e4830 + 8" identifier + number_literal) ))))) ;) (if_statement "if (lVar1 != DAT_001e4648) {\n                    \n    FUN_0011dd00("../../gas/frags.c",0xa5,"frag_new");\n  }" if (parenthesized_expression "(lVar1 != DAT_001e4648)" ( (binary_expression "lVar1 != DAT_001e4648" identifier != identifier) )) (compound_statement "{\n                    \n    FUN_0011dd00("../../gas/frags.c",0xa5,"frag_new");\n  }" { (expression_statement "FUN_0011dd00("../../gas/frags.c",0xa5,"frag_new");" (call_expression "FUN_0011dd00("../../gas/frags.c",0xa5,"frag_new")" identifier (argument_list "("../../gas/frags.c",0xa5,"frag_new")" ( (string_literal ""../../gas/frags.c"" " string_content ") , number_literal , (string_literal ""frag_new"" " string_content ") ))) ;) })) (expression_statement "lVar5 = DAT_001e4778;" (assignment_expression "lVar5 = DAT_001e4778" identifier = identifier) ;) (if_statement "if (DAT_001e44a8 != 0x1dae90) {\n    lVar5 = *(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80);\n  }" if (parenthesized_expression "(DAT_001e44a8 != 0x1dae90)" ( (binary_expression "DAT_001e44a8 != 0x1dae90" identifier != number_literal) )) (compound_statement "{\n    lVar5 = *(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80);\n  }" { (expression_statement "lVar5 = *(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80);" (assignment_expression "lVar5 = *(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80)" identifier = (binary_expression "*(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80)" (pointer_expression "*(long *)(DAT_001e4830 + 0x48)" * (cast_expression "(long *)(DAT_001e4830 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e4830 + 0x48)" ( (binary_expression "DAT_001e4830 + 0x48" identifier + number_literal) )))) - (parenthesized_expression "(lVar1 + 0x80)" ( (binary_expression "lVar1 + 0x80" identifier + number_literal) )))) ;) })) (expression_statement "*(long *)(DAT_001e4648 + 0x10) = lVar5 - param_1;" (assignment_expression "*(long *)(DAT_001e4648 + 0x10) = lVar5 - param_1" (pointer_expression "*(long *)(DAT_001e4648 + 0x10)" * (cast_expression "(long *)(DAT_001e4648 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e4648 + 0x10)" ( (binary_expression "DAT_001e4648 + 0x10" identifier + number_literal) )))) = (binary_expression "lVar5 - param_1" identifier - identifier)) ;) (if_statement "if (*(int *)(lVar7 + 0x5c) == 0) {\n                    \n    FUN_0011dd00("../../gas/frags.c",0xaa,"frag_new");\n  }" if (parenthesized_expression "(*(int *)(lVar7 + 0x5c) == 0)" ( (binary_expression "*(int *)(lVar7 + 0x5c) == 0" (pointer_expression "*(int *)(lVar7 + 0x5c)" * (cast_expression "(int *)(lVar7 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x5c)" ( (binary_expression "lVar7 + 0x5c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n    FUN_0011dd00("../../gas/frags.c",0xaa,"frag_new");\n  }" { (expression_statement "FUN_0011dd00("../../gas/frags.c",0xaa,"frag_new");" (call_expression "FUN_0011dd00("../../gas/frags.c",0xaa,"frag_new")" identifier (argument_list "("../../gas/frags.c",0xaa,"frag_new")" ( (string_literal ""../../gas/frags.c"" " string_content ") , number_literal , (string_literal ""frag_new"" " string_content ") ))) ;) })) (if_statement "if (*(long *)(lVar4 + 0x48) == *(long *)(lVar4 + 0x40)) {\n    *(byte *)(lVar4 + 0x80) = *(byte *)(lVar4 + 0x80) | 2;\n  }" if (parenthesized_expression "(*(long *)(lVar4 + 0x48) == *(long *)(lVar4 + 0x40))" ( (binary_expression "*(long *)(lVar4 + 0x48) == *(long *)(lVar4 + 0x40)" (pointer_expression "*(long *)(lVar4 + 0x48)" * (cast_expression "(long *)(lVar4 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x48)" ( (binary_expression "lVar4 + 0x48" identifier + number_literal) )))) == (pointer_expression "*(long *)(lVar4 + 0x40)" * (cast_expression "(long *)(lVar4 + 0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x40)" ( (binary_expression "lVar4 + 0x40" identifier + number_literal) ))))) )) (compound_statement "{\n    *(byte *)(lVar4 + 0x80) = *(byte *)(lVar4 + 0x80) | 2;\n  }" { (expression_statement "*(byte *)(lVar4 + 0x80) = *(byte *)(lVar4 + 0x80) | 2;" (assignment_expression "*(byte *)(lVar4 + 0x80) = *(byte *)(lVar4 + 0x80) | 2" (pointer_expression "*(byte *)(lVar4 + 0x80)" * (cast_expression "(byte *)(lVar4 + 0x80)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x80)" ( (binary_expression "lVar4 + 0x80" identifier + number_literal) )))) = (binary_expression "*(byte *)(lVar4 + 0x80) | 2" (pointer_expression "*(byte *)(lVar4 + 0x80)" * (cast_expression "(byte *)(lVar4 + 0x80)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x80)" ( (binary_expression "lVar4 + 0x80" identifier + number_literal) )))) | number_literal)) ;) })) (expression_statement "uVar6 = *(long *)(lVar4 + 0x48) + *(ulong *)(lVar4 + 0x60) & ~*(ulong *)(lVar4 + 0x60);" (assignment_expression "uVar6 = *(long *)(lVar4 + 0x48) + *(ulong *)(lVar4 + 0x60) & ~*(ulong *)(lVar4 + 0x60)" identifier = (binary_expression "*(long *)(lVar4 + 0x48) + *(ulong *)(lVar4 + 0x60) & ~*(ulong *)(lVar4 + 0x60)" (binary_expression "*(long *)(lVar4 + 0x48) + *(ulong *)(lVar4 + 0x60)" (pointer_expression "*(long *)(lVar4 + 0x48)" * (cast_expression "(long *)(lVar4 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x48)" ( (binary_expression "lVar4 + 0x48" identifier + number_literal) )))) + (pointer_expression "*(ulong *)(lVar4 + 0x60)" * (cast_expression "(ulong *)(lVar4 + 0x60)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x60)" ( (binary_expression "lVar4 + 0x60" identifier + number_literal) ))))) & (unary_expression "~*(ulong *)(lVar4 + 0x60)" ~ (pointer_expression "*(ulong *)(lVar4 + 0x60)" * (cast_expression "(ulong *)(lVar4 + 0x60)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x60)" ( (binary_expression "lVar4 + 0x60" identifier + number_literal) ))))))) ;) (expression_statement "uVar2 = *(ulong *)(lVar4 + 0x50);" (assignment_expression "uVar2 = *(ulong *)(lVar4 + 0x50)" identifier = (pointer_expression "*(ulong *)(lVar4 + 0x50)" * (cast_expression "(ulong *)(lVar4 + 0x50)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x50)" ( (binary_expression "lVar4 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "*(ulong *)(lVar4 + 0x48) = uVar6;" (assignment_expression "*(ulong *)(lVar4 + 0x48) = uVar6" (pointer_expression "*(ulong *)(lVar4 + 0x48)" * (cast_expression "(ulong *)(lVar4 + 0x48)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x48)" ( (binary_expression "lVar4 + 0x48" identifier + number_literal) )))) = identifier) ;) (if_statement "if (uVar2 - *(long *)(lVar4 + 0x38) < uVar6 - *(long *)(lVar4 + 0x38)) {\n    *(ulong *)(lVar4 + 0x48) = uVar2;\n    uVar6 = uVar2;\n  }" if (parenthesized_expression "(uVar2 - *(long *)(lVar4 + 0x38) < uVar6 - *(long *)(lVar4 + 0x38))" ( (binary_expression "uVar2 - *(long *)(lVar4 + 0x38) < uVar6 - *(long *)(lVar4 + 0x38)" (binary_expression "uVar2 - *(long *)(lVar4 + 0x38)" identifier - (pointer_expression "*(long *)(lVar4 + 0x38)" * (cast_expression "(long *)(lVar4 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x38)" ( (binary_expression "lVar4 + 0x38" identifier + number_literal) ))))) < (binary_expression "uVar6 - *(long *)(lVar4 + 0x38)" identifier - (pointer_expression "*(long *)(lVar4 + 0x38)" * (cast_expression "(long *)(lVar4 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x38)" ( (binary_expression "lVar4 + 0x38" identifier + number_literal) )))))) )) (compound_statement "{\n    *(ulong *)(lVar4 + 0x48) = uVar2;\n    uVar6 = uVar2;\n  }" { (expression_statement "*(ulong *)(lVar4 + 0x48) = uVar2;" (assignment_expression "*(ulong *)(lVar4 + 0x48) = uVar2" (pointer_expression "*(ulong *)(lVar4 + 0x48)" * (cast_expression "(ulong *)(lVar4 + 0x48)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x48)" ( (binary_expression "lVar4 + 0x48" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar6 = uVar2;" (assignment_expression "uVar6 = uVar2" identifier = identifier) ;) })) (expression_statement "*(ulong *)(lVar4 + 0x40) = uVar6;" (assignment_expression "*(ulong *)(lVar4 + 0x40) = uVar6" (pointer_expression "*(ulong *)(lVar4 + 0x40)" * (cast_expression "(ulong *)(lVar4 + 0x40)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x40)" ( (binary_expression "lVar4 + 0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "lVar7 = FUN_00116bb0(lVar4 + 0x30);" (assignment_expression "lVar7 = FUN_00116bb0(lVar4 + 0x30)" identifier = (call_expression "FUN_00116bb0(lVar4 + 0x30)" identifier (argument_list "(lVar4 + 0x30)" ( (binary_expression "lVar4 + 0x30" identifier + number_literal) )))) ;) (expression_statement "DAT_001e4648 = lVar7;" (assignment_expression "DAT_001e4648 = lVar7" identifier = identifier) ;) (expression_statement "uVar8 = FUN_00118700(lVar7 + 0x48);" (assignment_expression "uVar8 = FUN_00118700(lVar7 + 0x48)" identifier = (call_expression "FUN_00118700(lVar7 + 0x48)" identifier (argument_list "(lVar7 + 0x48)" ( (binary_expression "lVar7 + 0x48" identifier + number_literal) )))) ;) (expression_statement "uVar3 = DAT_001e4738;" (assignment_expression "uVar3 = DAT_001e4738" identifier = identifier) ;) (expression_statement "*(undefined8 *)(lVar7 + 0x40) = uVar8;" (assignment_expression "*(undefined8 *)(lVar7 + 0x40) = uVar8" (pointer_expression "*(undefined8 *)(lVar7 + 0x40)" * (cast_expression "(undefined8 *)(lVar7 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x40)" ( (binary_expression "lVar7 + 0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "lVar7 = DAT_001e4648;" (assignment_expression "lVar7 = DAT_001e4648" identifier = identifier) ;) (expression_statement "*(long *)(lVar1 + 0x38) = DAT_001e4648;" (assignment_expression "*(long *)(lVar1 + 0x38) = DAT_001e4648" (pointer_expression "*(long *)(lVar1 + 0x38)" * (cast_expression "(long *)(lVar1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x38)" ( (binary_expression "lVar1 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(long *)(lVar4 + 8) = lVar7;" (assignment_expression "*(long *)(lVar4 + 8) = lVar7" (pointer_expression "*(long *)(lVar4 + 8)" * (cast_expression "(long *)(lVar4 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 8)" ( (binary_expression "lVar4 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(lVar7 + 0x50) = uVar3;" (assignment_expression "*(undefined8 *)(lVar7 + 0x50) = uVar3" (pointer_expression "*(undefined8 *)(lVar7 + 0x50)" * (cast_expression "(undefined8 *)(lVar7 + 0x50)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x50)" ( (binary_expression "lVar7 + 0x50" identifier + number_literal) )))) = identifier) ;) (if_statement "if (lVar7 != *(long *)(DAT_001e4830 + 8)) {\n                    \n    FUN_0011dd00("../../gas/frags.c",0xc6,"frag_new");\n  }" if (parenthesized_expression "(lVar7 != *(long *)(DAT_001e4830 + 8))" ( (binary_expression "lVar7 != *(long *)(DAT_001e4830 + 8)" identifier != (pointer_expression "*(long *)(DAT_001e4830 + 8)" * (cast_expression "(long *)(DAT_001e4830 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e4830 + 8)" ( (binary_expression "DAT_001e4830 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    FUN_0011dd00("../../gas/frags.c",0xc6,"frag_new");\n  }" { (expression_statement "FUN_0011dd00("../../gas/frags.c",0xc6,"frag_new");" (call_expression "FUN_0011dd00("../../gas/frags.c",0xc6,"frag_new")" identifier (argument_list "("../../gas/frags.c",0xc6,"frag_new")" ( (string_literal ""../../gas/frags.c"" " string_content ") , number_literal , (string_literal ""frag_new"" " string_content ") ))) ;) })) (expression_statement "*(undefined8 *)(lVar7 + 0x38) = 0;" (assignment_expression "*(undefined8 *)(lVar7 + 0x38) = 0" (pointer_expression "*(undefined8 *)(lVar7 + 0x38)" * (cast_expression "(undefined8 *)(lVar7 + 0x38)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x38)" ( (binary_expression "lVar7 + 0x38" identifier + number_literal) )))) = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) & (unary_expression ~ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) < (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (compound_statement { (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 = IDENT) ;) })) (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 = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (return_statement return ;) })))
(function_definition "void FUN_00116d00(long param_1)\n\n{\n  long lVar1;\n  ulong uVar2;\n  undefined8 uVar3;\n  long lVar4;\n  long lVar5;\n  ulong uVar6;\n  long lVar7;\n  undefined8 uVar8;\n  \n  lVar4 = DAT_001e4830;\n  lVar7 = DAT_001e4648;\n  lVar1 = *(long *)(DAT_001e4830 + 8);\n  if (lVar1 != DAT_001e4648) {\n                    \n    FUN_0011dd00("../../gas/frags.c",0xa5,"frag_new");\n  }\n  lVar5 = DAT_001e4778;\n  if (DAT_001e44a8 != 0x1dae90) {\n    lVar5 = *(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80);\n  }\n  *(long *)(DAT_001e4648 + 0x10) = lVar5 - param_1;\n  if (*(int *)(lVar7 + 0x5c) == 0) {\n                    \n    FUN_0011dd00("../../gas/frags.c",0xaa,"frag_new");\n  }\n  if (*(long *)(lVar4 + 0x48) == *(long *)(lVar4 + 0x40)) {\n    *(byte *)(lVar4 + 0x80) = *(byte *)(lVar4 + 0x80) | 2;\n  }\n  uVar6 = *(long *)(lVar4 + 0x48) + *(ulong *)(lVar4 + 0x60) & ~*(ulong *)(lVar4 + 0x60);\n  uVar2 = *(ulong *)(lVar4 + 0x50);\n  *(ulong *)(lVar4 + 0x48) = uVar6;\n  if (uVar2 - *(long *)(lVar4 + 0x38) < uVar6 - *(long *)(lVar4 + 0x38)) {\n    *(ulong *)(lVar4 + 0x48) = uVar2;\n    uVar6 = uVar2;\n  }\n  *(ulong *)(lVar4 + 0x40) = uVar6;\n  lVar7 = FUN_00116bb0(lVar4 + 0x30);\n  DAT_001e4648 = lVar7;\n  uVar8 = FUN_00118700(lVar7 + 0x48);\n  uVar3 = DAT_001e4738;\n  *(undefined8 *)(lVar7 + 0x40) = uVar8;\n  lVar7 = DAT_001e4648;\n  *(long *)(lVar1 + 0x38) = DAT_001e4648;\n  *(long *)(lVar4 + 8) = lVar7;\n  *(undefined8 *)(lVar7 + 0x50) = uVar3;\n  if (lVar7 != *(long *)(DAT_001e4830 + 8)) {\n                    \n    FUN_0011dd00("../../gas/frags.c",0xc6,"frag_new");\n  }\n  *(undefined8 *)(lVar7 + 0x38) = 0;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00116d00(long param_1)" (identifier "FUN_00116d00") (parameter_list "(long param_1)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) () ")"))) (compound_statement "{\n  long lVar1;\n  ulong uVar2;\n  undefined8 uVar3;\n  long lVar4;\n  long lVar5;\n  ulong uVar6;\n  long lVar7;\n  undefined8 uVar8;\n  \n  lVar4 = DAT_001e4830;\n  lVar7 = DAT_001e4648;\n  lVar1 = *(long *)(DAT_001e4830 + 8);\n  if (lVar1 != DAT_001e4648) {\n                    \n    FUN_0011dd00("../../gas/frags.c",0xa5,"frag_new");\n  }\n  lVar5 = DAT_001e4778;\n  if (DAT_001e44a8 != 0x1dae90) {\n    lVar5 = *(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80);\n  }\n  *(long *)(DAT_001e4648 + 0x10) = lVar5 - param_1;\n  if (*(int *)(lVar7 + 0x5c) == 0) {\n                    \n    FUN_0011dd00("../../gas/frags.c",0xaa,"frag_new");\n  }\n  if (*(long *)(lVar4 + 0x48) == *(long *)(lVar4 + 0x40)) {\n    *(byte *)(lVar4 + 0x80) = *(byte *)(lVar4 + 0x80) | 2;\n  }\n  uVar6 = *(long *)(lVar4 + 0x48) + *(ulong *)(lVar4 + 0x60) & ~*(ulong *)(lVar4 + 0x60);\n  uVar2 = *(ulong *)(lVar4 + 0x50);\n  *(ulong *)(lVar4 + 0x48) = uVar6;\n  if (uVar2 - *(long *)(lVar4 + 0x38) < uVar6 - *(long *)(lVar4 + 0x38)) {\n    *(ulong *)(lVar4 + 0x48) = uVar2;\n    uVar6 = uVar2;\n  }\n  *(ulong *)(lVar4 + 0x40) = uVar6;\n  lVar7 = FUN_00116bb0(lVar4 + 0x30);\n  DAT_001e4648 = lVar7;\n  uVar8 = FUN_00118700(lVar7 + 0x48);\n  uVar3 = DAT_001e4738;\n  *(undefined8 *)(lVar7 + 0x40) = uVar8;\n  lVar7 = DAT_001e4648;\n  *(long *)(lVar1 + 0x38) = DAT_001e4648;\n  *(long *)(lVar4 + 8) = lVar7;\n  *(undefined8 *)(lVar7 + 0x50) = uVar3;\n  if (lVar7 != *(long *)(DAT_001e4830 + 8)) {\n                    \n    FUN_0011dd00("../../gas/frags.c",0xc6,"frag_new");\n  }\n  *(undefined8 *)(lVar7 + 0x38) = 0;\n  return;\n}" ({ "{") (declaration "long lVar1;" (sized_type_specifier "long" (long "long")) (identifier "lVar1") (; ";")) (declaration "ulong uVar2;" (type_identifier "ulong") (identifier "uVar2") (; ";")) (declaration "undefined8 uVar3;" (type_identifier "undefined8") (identifier "uVar3") (; ";")) (declaration "long lVar4;" (sized_type_specifier "long" (long "long")) (identifier "lVar4") (; ";")) (declaration "long lVar5;" (sized_type_specifier "long" (long "long")) (identifier "lVar5") (; ";")) (declaration "ulong uVar6;" (type_identifier "ulong") (identifier "uVar6") (; ";")) (declaration "long lVar7;" (sized_type_specifier "long" (long "long")) (identifier "lVar7") (; ";")) (declaration "undefined8 uVar8;" (type_identifier "undefined8") (identifier "uVar8") (; ";")) (expression_statement "lVar4 = DAT_001e4830;" (assignment_expression "lVar4 = DAT_001e4830" (identifier "lVar4") (= "=") (identifier "DAT_001e4830")) (; ";")) (expression_statement "lVar7 = DAT_001e4648;" (assignment_expression "lVar7 = DAT_001e4648" (identifier "lVar7") (= "=") (identifier "DAT_001e4648")) (; ";")) (expression_statement "lVar1 = *(long *)(DAT_001e4830 + 8);" (assignment_expression "lVar1 = *(long *)(DAT_001e4830 + 8)" (identifier "lVar1") (= "=") (pointer_expression "*(long *)(DAT_001e4830 + 8)" (* "*") (cast_expression "(long *)(DAT_001e4830 + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001e4830 + 8)" (( "(") (binary_expression "DAT_001e4830 + 8" (identifier "DAT_001e4830") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (lVar1 != DAT_001e4648) {\n                    \n    FUN_0011dd00("../../gas/frags.c",0xa5,"frag_new");\n  }" (if "if") (parenthesized_expression "(lVar1 != DAT_001e4648)" (( "(") (binary_expression "lVar1 != DAT_001e4648" (identifier "lVar1") (!= "!=") (identifier "DAT_001e4648")) () ")")) (compound_statement "{\n                    \n    FUN_0011dd00("../../gas/frags.c",0xa5,"frag_new");\n  }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/frags.c",0xa5,"frag_new");" (call_expression "FUN_0011dd00("../../gas/frags.c",0xa5,"frag_new")" (identifier "FUN_0011dd00") (argument_list "("../../gas/frags.c",0xa5,"frag_new")" (( "(") (string_literal ""../../gas/frags.c"" (" """) (string_content "../../gas/frags.c") (" """)) (, ",") (number_literal "0xa5") (, ",") (string_literal ""frag_new"" (" """) (string_content "frag_new") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar5 = DAT_001e4778;" (assignment_expression "lVar5 = DAT_001e4778" (identifier "lVar5") (= "=") (identifier "DAT_001e4778")) (; ";")) (if_statement "if (DAT_001e44a8 != 0x1dae90) {\n    lVar5 = *(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80);\n  }" (if "if") (parenthesized_expression "(DAT_001e44a8 != 0x1dae90)" (( "(") (binary_expression "DAT_001e44a8 != 0x1dae90" (identifier "DAT_001e44a8") (!= "!=") (number_literal "0x1dae90")) () ")")) (compound_statement "{\n    lVar5 = *(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80);\n  }" ({ "{") (expression_statement "lVar5 = *(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80);" (assignment_expression "lVar5 = *(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80)" (identifier "lVar5") (= "=") (binary_expression "*(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80)" (pointer_expression "*(long *)(DAT_001e4830 + 0x48)" (* "*") (cast_expression "(long *)(DAT_001e4830 + 0x48)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001e4830 + 0x48)" (( "(") (binary_expression "DAT_001e4830 + 0x48" (identifier "DAT_001e4830") (+ "+") (number_literal "0x48")) () ")")))) (- "-") (parenthesized_expression "(lVar1 + 0x80)" (( "(") (binary_expression "lVar1 + 0x80" (identifier "lVar1") (+ "+") (number_literal "0x80")) () ")")))) (; ";")) (} "}"))) (expression_statement "*(long *)(DAT_001e4648 + 0x10) = lVar5 - param_1;" (assignment_expression "*(long *)(DAT_001e4648 + 0x10) = lVar5 - param_1" (pointer_expression "*(long *)(DAT_001e4648 + 0x10)" (* "*") (cast_expression "(long *)(DAT_001e4648 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001e4648 + 0x10)" (( "(") (binary_expression "DAT_001e4648 + 0x10" (identifier "DAT_001e4648") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "lVar5 - param_1" (identifier "lVar5") (- "-") (identifier "param_1"))) (; ";")) (if_statement "if (*(int *)(lVar7 + 0x5c) == 0) {\n                    \n    FUN_0011dd00("../../gas/frags.c",0xaa,"frag_new");\n  }" (if "if") (parenthesized_expression "(*(int *)(lVar7 + 0x5c) == 0)" (( "(") (binary_expression "*(int *)(lVar7 + 0x5c) == 0" (pointer_expression "*(int *)(lVar7 + 0x5c)" (* "*") (cast_expression "(int *)(lVar7 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar7 + 0x5c)" (( "(") (binary_expression "lVar7 + 0x5c" (identifier "lVar7") (+ "+") (number_literal "0x5c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_0011dd00("../../gas/frags.c",0xaa,"frag_new");\n  }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/frags.c",0xaa,"frag_new");" (call_expression "FUN_0011dd00("../../gas/frags.c",0xaa,"frag_new")" (identifier "FUN_0011dd00") (argument_list "("../../gas/frags.c",0xaa,"frag_new")" (( "(") (string_literal ""../../gas/frags.c"" (" """) (string_content "../../gas/frags.c") (" """)) (, ",") (number_literal "0xaa") (, ",") (string_literal ""frag_new"" (" """) (string_content "frag_new") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(long *)(lVar4 + 0x48) == *(long *)(lVar4 + 0x40)) {\n    *(byte *)(lVar4 + 0x80) = *(byte *)(lVar4 + 0x80) | 2;\n  }" (if "if") (parenthesized_expression "(*(long *)(lVar4 + 0x48) == *(long *)(lVar4 + 0x40))" (( "(") (binary_expression "*(long *)(lVar4 + 0x48) == *(long *)(lVar4 + 0x40)" (pointer_expression "*(long *)(lVar4 + 0x48)" (* "*") (cast_expression "(long *)(lVar4 + 0x48)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x48)" (( "(") (binary_expression "lVar4 + 0x48" (identifier "lVar4") (+ "+") (number_literal "0x48")) () ")")))) (== "==") (pointer_expression "*(long *)(lVar4 + 0x40)" (* "*") (cast_expression "(long *)(lVar4 + 0x40)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x40)" (( "(") (binary_expression "lVar4 + 0x40" (identifier "lVar4") (+ "+") (number_literal "0x40")) () ")"))))) () ")")) (compound_statement "{\n    *(byte *)(lVar4 + 0x80) = *(byte *)(lVar4 + 0x80) | 2;\n  }" ({ "{") (expression_statement "*(byte *)(lVar4 + 0x80) = *(byte *)(lVar4 + 0x80) | 2;" (assignment_expression "*(byte *)(lVar4 + 0x80) = *(byte *)(lVar4 + 0x80) | 2" (pointer_expression "*(byte *)(lVar4 + 0x80)" (* "*") (cast_expression "(byte *)(lVar4 + 0x80)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x80)" (( "(") (binary_expression "lVar4 + 0x80" (identifier "lVar4") (+ "+") (number_literal "0x80")) () ")")))) (= "=") (binary_expression "*(byte *)(lVar4 + 0x80) | 2" (pointer_expression "*(byte *)(lVar4 + 0x80)" (* "*") (cast_expression "(byte *)(lVar4 + 0x80)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x80)" (( "(") (binary_expression "lVar4 + 0x80" (identifier "lVar4") (+ "+") (number_literal "0x80")) () ")")))) (| "|") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "uVar6 = *(long *)(lVar4 + 0x48) + *(ulong *)(lVar4 + 0x60) & ~*(ulong *)(lVar4 + 0x60);" (assignment_expression "uVar6 = *(long *)(lVar4 + 0x48) + *(ulong *)(lVar4 + 0x60) & ~*(ulong *)(lVar4 + 0x60)" (identifier "uVar6") (= "=") (binary_expression "*(long *)(lVar4 + 0x48) + *(ulong *)(lVar4 + 0x60) & ~*(ulong *)(lVar4 + 0x60)" (binary_expression "*(long *)(lVar4 + 0x48) + *(ulong *)(lVar4 + 0x60)" (pointer_expression "*(long *)(lVar4 + 0x48)" (* "*") (cast_expression "(long *)(lVar4 + 0x48)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x48)" (( "(") (binary_expression "lVar4 + 0x48" (identifier "lVar4") (+ "+") (number_literal "0x48")) () ")")))) (+ "+") (pointer_expression "*(ulong *)(lVar4 + 0x60)" (* "*") (cast_expression "(ulong *)(lVar4 + 0x60)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x60)" (( "(") (binary_expression "lVar4 + 0x60" (identifier "lVar4") (+ "+") (number_literal "0x60")) () ")"))))) (& "&") (unary_expression "~*(ulong *)(lVar4 + 0x60)" (~ "~") (pointer_expression "*(ulong *)(lVar4 + 0x60)" (* "*") (cast_expression "(ulong *)(lVar4 + 0x60)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x60)" (( "(") (binary_expression "lVar4 + 0x60" (identifier "lVar4") (+ "+") (number_literal "0x60")) () ")"))))))) (; ";")) (expression_statement "uVar2 = *(ulong *)(lVar4 + 0x50);" (assignment_expression "uVar2 = *(ulong *)(lVar4 + 0x50)" (identifier "uVar2") (= "=") (pointer_expression "*(ulong *)(lVar4 + 0x50)" (* "*") (cast_expression "(ulong *)(lVar4 + 0x50)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x50)" (( "(") (binary_expression "lVar4 + 0x50" (identifier "lVar4") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (expression_statement "*(ulong *)(lVar4 + 0x48) = uVar6;" (assignment_expression "*(ulong *)(lVar4 + 0x48) = uVar6" (pointer_expression "*(ulong *)(lVar4 + 0x48)" (* "*") (cast_expression "(ulong *)(lVar4 + 0x48)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x48)" (( "(") (binary_expression "lVar4 + 0x48" (identifier "lVar4") (+ "+") (number_literal "0x48")) () ")")))) (= "=") (identifier "uVar6")) (; ";")) (if_statement "if (uVar2 - *(long *)(lVar4 + 0x38) < uVar6 - *(long *)(lVar4 + 0x38)) {\n    *(ulong *)(lVar4 + 0x48) = uVar2;\n    uVar6 = uVar2;\n  }" (if "if") (parenthesized_expression "(uVar2 - *(long *)(lVar4 + 0x38) < uVar6 - *(long *)(lVar4 + 0x38))" (( "(") (binary_expression "uVar2 - *(long *)(lVar4 + 0x38) < uVar6 - *(long *)(lVar4 + 0x38)" (binary_expression "uVar2 - *(long *)(lVar4 + 0x38)" (identifier "uVar2") (- "-") (pointer_expression "*(long *)(lVar4 + 0x38)" (* "*") (cast_expression "(long *)(lVar4 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x38)" (( "(") (binary_expression "lVar4 + 0x38" (identifier "lVar4") (+ "+") (number_literal "0x38")) () ")"))))) (< "<") (binary_expression "uVar6 - *(long *)(lVar4 + 0x38)" (identifier "uVar6") (- "-") (pointer_expression "*(long *)(lVar4 + 0x38)" (* "*") (cast_expression "(long *)(lVar4 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x38)" (( "(") (binary_expression "lVar4 + 0x38" (identifier "lVar4") (+ "+") (number_literal "0x38")) () ")")))))) () ")")) (compound_statement "{\n    *(ulong *)(lVar4 + 0x48) = uVar2;\n    uVar6 = uVar2;\n  }" ({ "{") (expression_statement "*(ulong *)(lVar4 + 0x48) = uVar2;" (assignment_expression "*(ulong *)(lVar4 + 0x48) = uVar2" (pointer_expression "*(ulong *)(lVar4 + 0x48)" (* "*") (cast_expression "(ulong *)(lVar4 + 0x48)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x48)" (( "(") (binary_expression "lVar4 + 0x48" (identifier "lVar4") (+ "+") (number_literal "0x48")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "uVar6 = uVar2;" (assignment_expression "uVar6 = uVar2" (identifier "uVar6") (= "=") (identifier "uVar2")) (; ";")) (} "}"))) (expression_statement "*(ulong *)(lVar4 + 0x40) = uVar6;" (assignment_expression "*(ulong *)(lVar4 + 0x40) = uVar6" (pointer_expression "*(ulong *)(lVar4 + 0x40)" (* "*") (cast_expression "(ulong *)(lVar4 + 0x40)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x40)" (( "(") (binary_expression "lVar4 + 0x40" (identifier "lVar4") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "lVar7 = FUN_00116bb0(lVar4 + 0x30);" (assignment_expression "lVar7 = FUN_00116bb0(lVar4 + 0x30)" (identifier "lVar7") (= "=") (call_expression "FUN_00116bb0(lVar4 + 0x30)" (identifier "FUN_00116bb0") (argument_list "(lVar4 + 0x30)" (( "(") (binary_expression "lVar4 + 0x30" (identifier "lVar4") (+ "+") (number_literal "0x30")) () ")")))) (; ";")) (expression_statement "DAT_001e4648 = lVar7;" (assignment_expression "DAT_001e4648 = lVar7" (identifier "DAT_001e4648") (= "=") (identifier "lVar7")) (; ";")) (expression_statement "uVar8 = FUN_00118700(lVar7 + 0x48);" (assignment_expression "uVar8 = FUN_00118700(lVar7 + 0x48)" (identifier "uVar8") (= "=") (call_expression "FUN_00118700(lVar7 + 0x48)" (identifier "FUN_00118700") (argument_list "(lVar7 + 0x48)" (( "(") (binary_expression "lVar7 + 0x48" (identifier "lVar7") (+ "+") (number_literal "0x48")) () ")")))) (; ";")) (expression_statement "uVar3 = DAT_001e4738;" (assignment_expression "uVar3 = DAT_001e4738" (identifier "uVar3") (= "=") (identifier "DAT_001e4738")) (; ";")) (expression_statement "*(undefined8 *)(lVar7 + 0x40) = uVar8;" (assignment_expression "*(undefined8 *)(lVar7 + 0x40) = uVar8" (pointer_expression "*(undefined8 *)(lVar7 + 0x40)" (* "*") (cast_expression "(undefined8 *)(lVar7 + 0x40)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar7 + 0x40)" (( "(") (binary_expression "lVar7 + 0x40" (identifier "lVar7") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "lVar7 = DAT_001e4648;" (assignment_expression "lVar7 = DAT_001e4648" (identifier "lVar7") (= "=") (identifier "DAT_001e4648")) (; ";")) (expression_statement "*(long *)(lVar1 + 0x38) = DAT_001e4648;" (assignment_expression "*(long *)(lVar1 + 0x38) = DAT_001e4648" (pointer_expression "*(long *)(lVar1 + 0x38)" (* "*") (cast_expression "(long *)(lVar1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x38)" (( "(") (binary_expression "lVar1 + 0x38" (identifier "lVar1") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "DAT_001e4648")) (; ";")) (expression_statement "*(long *)(lVar4 + 8) = lVar7;" (assignment_expression "*(long *)(lVar4 + 8) = lVar7" (pointer_expression "*(long *)(lVar4 + 8)" (* "*") (cast_expression "(long *)(lVar4 + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 8)" (( "(") (binary_expression "lVar4 + 8" (identifier "lVar4") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "lVar7")) (; ";")) (expression_statement "*(undefined8 *)(lVar7 + 0x50) = uVar3;" (assignment_expression "*(undefined8 *)(lVar7 + 0x50) = uVar3" (pointer_expression "*(undefined8 *)(lVar7 + 0x50)" (* "*") (cast_expression "(undefined8 *)(lVar7 + 0x50)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar7 + 0x50)" (( "(") (binary_expression "lVar7 + 0x50" (identifier "lVar7") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (if_statement "if (lVar7 != *(long *)(DAT_001e4830 + 8)) {\n                    \n    FUN_0011dd00("../../gas/frags.c",0xc6,"frag_new");\n  }" (if "if") (parenthesized_expression "(lVar7 != *(long *)(DAT_001e4830 + 8))" (( "(") (binary_expression "lVar7 != *(long *)(DAT_001e4830 + 8)" (identifier "lVar7") (!= "!=") (pointer_expression "*(long *)(DAT_001e4830 + 8)" (* "*") (cast_expression "(long *)(DAT_001e4830 + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001e4830 + 8)" (( "(") (binary_expression "DAT_001e4830 + 8" (identifier "DAT_001e4830") (+ "+") (number_literal "8")) () ")"))))) () ")")) (compound_statement "{\n                    \n    FUN_0011dd00("../../gas/frags.c",0xc6,"frag_new");\n  }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/frags.c",0xc6,"frag_new");" (call_expression "FUN_0011dd00("../../gas/frags.c",0xc6,"frag_new")" (identifier "FUN_0011dd00") (argument_list "("../../gas/frags.c",0xc6,"frag_new")" (( "(") (string_literal ""../../gas/frags.c"" (" """) (string_content "../../gas/frags.c") (" """)) (, ",") (number_literal "0xc6") (, ",") (string_literal ""frag_new"" (" """) (string_content "frag_new") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined8 *)(lVar7 + 0x38) = 0;" (assignment_expression "*(undefined8 *)(lVar7 + 0x38) = 0" (pointer_expression "*(undefined8 *)(lVar7 + 0x38)" (* "*") (cast_expression "(undefined8 *)(lVar7 + 0x38)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar7 + 0x38)" (( "(") (binary_expression "lVar7 + 0x38" (identifier "lVar7") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(size_t var_7)

{
  type_1 *puVar1;
  type_2 *var_1;
  type_3 var_10;
  type_4 *p_Var4;
  type_5 *plVar5;
  type_6 *pfVar6;
  type_7 var_6;
  char *pcVar8;
  type_2 *var_13;
  char *var_9;
  
  pfVar6 = frchain_now;
  var_13 = var_2;
  var_1 = frchain_now->frch_last;
  if (var_1 != var_2) {
                    /* WARNING: Subroutine does not return */
    var_3("../../gas/frags.c",0xa5,"frag_new");
  }
  var_6 = abs_section_offset;
  if (var_4 != (segT)(var_5 + 0x230)) {
    var_6 = (long)(frchain_now->frch_obstack).next_free - (long)var_1->fr_literal;
  }
  var_2->fr_fix = var_6 - var_7;
  if (var_13->fr_type == var_8) {
                    /* WARNING: Subroutine does not return */
    var_3("../../gas/frags.c",0xaa,"frag_new");
  }
  var_9 = (pfVar6->frch_obstack).next_free;
  if (var_9 == (pfVar6->frch_obstack).object_base) {
    puVar1 = &(pfVar6->frch_obstack).field_0x50;
    *puVar1 = *puVar1 | 2;
  }
  var_10 = (pfVar6->frch_obstack).alignment_mask;
  p_Var4 = (pfVar6->frch_obstack).chunk;
  pcVar8 = (char *)((type_3)(var_9 + var_10) & ~var_10);
  var_9 = (pfVar6->frch_obstack).chunk_limit;
  (pfVar6->frch_obstack).next_free = pcVar8;
  if ((type_3)((long)var_9 - (long)p_Var4) < (type_3)((long)pcVar8 - (long)p_Var4)) {
    (pfVar6->frch_obstack).next_free = var_9;
    pcVar8 = var_9;
  }
  (pfVar6->frch_obstack).object_base = pcVar8;
  var_13 = var_11(&pfVar6->frch_obstack);
  var_2 = var_13;
  var_9 = var_12(&var_13->fr_line);
  plVar5 = listing_tail;
  var_13->fr_file = var_9;
  var_13 = var_2;
  var_1->fr_next = var_2;
  pfVar6->frch_last = var_13;
  var_13->line = plVar5;
  if (var_13 != frchain_now->frch_last) {
                    /* WARNING: Subroutine does not return */
    var_3("../../gas/frags.c",0xc6,"frag_new");
  }
  var_13->fr_next = (type_8 *)0x0;
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (sized_type_specifier) declarator: (identifier)))) body: (compound_statement (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (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: (binary_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: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (unary_expression argument: (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))))))))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) consequence: (compound_statement (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: (identifier))))) (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: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (expression_statement (assignment_expression left: (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: (number_literal))) (return_statement))))

void MASKED(long param_1)

{
  long lVar1;
  ulong uVar2;
  undefined8 uVar3;
  long lVar4;
  long lVar5;
  ulong uVar6;
  long lVar7;
  undefined8 uVar8;
  
  lVar4 = DAT_001e4830;
  lVar7 = DAT_001e4648;
  lVar1 = *(long *)(DAT_001e4830 + 8);
  if (lVar1 != DAT_001e4648) {
                    /* WARNING: Subroutine does not return */
    FUN_0011dd00("../../gas/frags.c",0xa5,"frag_new");
  }
  lVar5 = DAT_001e4778;
  if (DAT_001e44a8 != 0x1dae90) {
    lVar5 = *(long *)(DAT_001e4830 + 0x48) - (lVar1 + 0x80);
  }
  *(long *)(DAT_001e4648 + 0x10) = lVar5 - param_1;
  if (*(int *)(lVar7 + 0x5c) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0011dd00("../../gas/frags.c",0xaa,"frag_new");
  }
  if (*(long *)(lVar4 + 0x48) == *(long *)(lVar4 + 0x40)) {
    *(byte *)(lVar4 + 0x80) = *(byte *)(lVar4 + 0x80) | 2;
  }
  uVar6 = *(long *)(lVar4 + 0x48) + *(ulong *)(lVar4 + 0x60) & ~*(ulong *)(lVar4 + 0x60);
  uVar2 = *(ulong *)(lVar4 + 0x50);
  *(ulong *)(lVar4 + 0x48) = uVar6;
  if (uVar2 - *(long *)(lVar4 + 0x38) < uVar6 - *(long *)(lVar4 + 0x38)) {
    *(ulong *)(lVar4 + 0x48) = uVar2;
    uVar6 = uVar2;
  }
  *(ulong *)(lVar4 + 0x40) = uVar6;
  lVar7 = FUN_00116bb0(lVar4 + 0x30);
  DAT_001e4648 = lVar7;
  uVar8 = FUN_00118700(lVar7 + 0x48);
  uVar3 = DAT_001e4738;
  *(undefined8 *)(lVar7 + 0x40) = uVar8;
  lVar7 = DAT_001e4648;
  *(long *)(lVar1 + 0x38) = DAT_001e4648;
  *(long *)(lVar4 + 8) = lVar7;
  *(undefined8 *)(lVar7 + 0x50) = uVar3;
  if (lVar7 != *(long *)(DAT_001e4830 + 8)) {
                    /* WARNING: Subroutine does not return */
    FUN_0011dd00("../../gas/frags.c",0xc6,"frag_new");
  }
  *(undefined8 *)(lVar7 + 0x38) = 0;
  return;
}

