
void do_org(segT segment,expressionS *exp,int fill)

{
  char *pcVar1;
  char *pcVar2;
  symbolS *symbol;
  offsetT offset;
  
  if (((segment != (segT)(_bfd_std_section + 0x230)) && (now_seg != segment)) &&
     (expr_section != segment)) {
    pcVar2 = segment->name;
    pcVar1 = (char *)dcgettext(0,"invalid segment \"%s\"",5);
    as_bad(pcVar1,pcVar2);
  }
  if (now_seg != (segT)(_bfd_std_section + 0x230)) {
    symbol = exp->X_add_symbol;
    offset = exp->X_add_number;
    if ((fill != 0) && ((now_seg->flags & 0x103) == 1)) {
      pcVar2 = now_seg->name;
      pcVar1 = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5);
      as_warn(pcVar1,pcVar2);
    }
    if (1 < (byte)(exp->field_0x18 - 2)) {
      symbol = make_expr_symbol(exp);
      offset = 0;
    }
    pcVar2 = frag_var(rs_org,1,1,0,symbol,offset,(char *)0x0);
    *pcVar2 = (char)fill;
    return;
  }
  if (fill != 0) {
    pcVar2 = (char *)dcgettext(0,"ignoring fill value in absolute section",5);
    as_warn(pcVar2);
  }
  if (exp->field_0x18 == '\x02') {
    abs_section_offset = exp->X_add_number;
  }
  else {
    pcVar2 = (char *)dcgettext(0,"only constant offsets supported in absolute section",5);
    as_bad(pcVar2);
    exp->X_add_number = 0;
    abs_section_offset = 0;
  }
  return;
}



undefined1  [16] FUN_0011e7e0(undefined8 *param_1,undefined8 *param_2,undefined8 param_3)

{
  undefined8 uVar1;
  undefined1 auVar2 [16];
  undefined8 uVar3;
  undefined1 *puVar4;
  undefined8 uVar5;
  undefined8 uVar6;
  undefined8 extraout_RDX;
  undefined8 extraout_RDX_00;
  undefined8 extraout_RDX_01;
  undefined1 auVar7 [16];
  ulong uStack_40;
  
  uVar5 = param_3;
  if (((param_1 != (undefined8 *)(_bfd_std_section + 0x230)) && (DAT_001e44a8 != param_1)) &&
     (DAT_001e4480 != param_1)) {
    uVar5 = *param_1;
    uVar3 = dcgettext(0,"invalid segment \"%s\"",5);
    uStack_40 = 0x11e834;
    FUN_0011da70(uVar3,uVar5);
    uVar5 = extraout_RDX;
  }
  if (DAT_001e44a8 != (undefined8 *)(_bfd_std_section + 0x230)) {
    uVar5 = *param_2;
    uVar3 = param_2[2];
    if (((int)param_3 != 0) && ((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1)) {
      uVar1 = *DAT_001e44a8;
      uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5);
      uStack_40 = 0x11e934;
      FUN_0011d8a0(uVar6,uVar1);
    }
    if (1 < (byte)(*(char *)(param_2 + 3) - 2U)) {
      uStack_40 = 0x11e8a0;
      uVar5 = FUN_00113ee0(param_2);
      uVar3 = 0;
    }
    puVar4 = (undefined1 *)FUN_00116fe0(5,1,1,0,uVar5,uVar3);
    *puVar4 = (char)param_3;
    auVar2._8_8_ = 0;
    auVar2._0_8_ = uStack_40;
    return auVar2 << 0x40;
  }
  if ((int)param_3 != 0) {
    uVar5 = dcgettext(0,"ignoring fill value in absolute section",5);
    FUN_0011d8a0(uVar5);
    uVar5 = extraout_RDX_01;
  }
  if (*(char *)(param_2 + 3) == '\x02') {
    DAT_001e4778 = param_2[2];
  }
  else {
    uVar5 = dcgettext(0,"only constant offsets supported in absolute section",5);
    FUN_0011da70(uVar5);
    param_2[2] = 0;
    DAT_001e4778 = 0;
    uVar5 = extraout_RDX_00;
  }
  auVar7._8_8_ = uVar5;
  auVar7._0_8_ = DAT_001e4778;
  return auVar7;
}


PUSH R13
PUSH R12
MOV R12D,EDX
PUSH RBP
LEA RBP,[0x1dae90]
PUSH RBX
MOV RBX,RSI
SUB RSP,0x18
MOV RAX,qword ptr [0x001e44a8]
CMP RDI,RBP
JZ 0x0011e83b
CMP RAX,RDI
JZ 0x0011e83b
CMP qword ptr [0x001e4480],RDI
JZ 0x0011e83b
MOV R13,qword ptr [RDI]
MOV EDX,0x5
LEA RSI,[0x14e531]
XOR EDI,EDI
CALL 0x001081c0
MOV RDI,RAX
MOV RSI,R13
XOR EAX,EAX
CALL 0x0011da70
MOV RAX,qword ptr [0x001e44a8]
CMP RAX,RBP
JZ 0x0011e8b0
MOV R8,qword ptr [RBX]
MOV R9,qword ptr [RBX + 0x10]
TEST R12D,R12D
JZ 0x0011e85e
MOV EDX,dword ptr [RAX + 0x20]
AND EDX,0x103
CMP EDX,0x1
JZ 0x0011e908
MOVZX EAX,byte ptr [RBX + 0x18]
SUB EAX,0x2
CMP AL,0x1
JA 0x0011e898
SUB RSP,0x8
MOV EDX,0x1
XOR ECX,ECX
MOV ESI,0x1
PUSH 0x0
MOV EDI,0x5
CALL 0x00116fe0
MOV byte ptr [RAX],R12B
POP RAX
POP RDX
ADD RSP,0x18
POP RBX
POP RBP
POP R12
POP R13
RET
MOV RDI,RBX
CALL 0x00113ee0
XOR R9D,R9D
MOV R8,RAX
JMP 0x0011e869
TEST R12D,R12D
JNZ 0x0011e948
CMP byte ptr [RBX + 0x18],0x2
JNZ 0x0011e8d8
MOV RAX,qword ptr [RBX + 0x10]
MOV qword ptr [0x001e4778],RAX
ADD RSP,0x18
POP RBX
POP RBP
POP R12
POP R13
RET
MOV EDX,0x5
LEA RSI,[0x14d840]
XOR EDI,EDI
CALL 0x001081c0
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0011da70
MOV qword ptr [RBX + 0x10],0x0
XOR EAX,EAX
JMP 0x0011e8c3
MOV RBP,qword ptr [RAX]
MOV EDX,0x5
XOR EDI,EDI
MOV qword ptr [RSP + 0x8],R9
LEA RSI,[0x14d878]
MOV qword ptr [RSP],R8
CALL 0x001081c0
MOV RSI,RBP
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0011d8a0
MOV R9,qword ptr [RSP + 0x8]
MOV R8,qword ptr [RSP]
JMP 0x0011e85e
XOR EDI,EDI
MOV EDX,0x5
LEA RSI,[0x14d818]
CALL 0x001081c0
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0011d8a0
JMP 0x0011e8b9
(translation_unit "undefined1  [16] FUN_0011e7e0(undefined8 *param_1,undefined8 *param_2,undefined8 param_3)\n\n{\n  undefined8 uVar1;\n  undefined1 auVar2 [16];\n  undefined8 uVar3;\n  undefined1 *puVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 extraout_RDX;\n  undefined8 extraout_RDX_00;\n  undefined8 extraout_RDX_01;\n  undefined1 auVar7 [16];\n  ulong uStack_40;\n  \n  uVar5 = param_3;\n  if (((param_1 != (undefined8 *)(_bfd_std_section + 0x230)) && (DAT_001e44a8 != param_1)) &&\n     (DAT_001e4480 != param_1)) {\n    uVar5 = *param_1;\n    uVar3 = dcgettext(0,"invalid segment \"%s\"",5);\n    uStack_40 = 0x11e834;\n    FUN_0011da70(uVar3,uVar5);\n    uVar5 = extraout_RDX;\n  }\n  if (DAT_001e44a8 != (undefined8 *)(_bfd_std_section + 0x230)) {\n    uVar5 = *param_2;\n    uVar3 = param_2[2];\n    if (((int)param_3 != 0) && ((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1)) {\n      uVar1 = *DAT_001e44a8;\n      uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      uStack_40 = 0x11e934;\n      FUN_0011d8a0(uVar6,uVar1);\n    }\n    if (1 < (byte)(*(char *)(param_2 + 3) - 2U)) {\n      uStack_40 = 0x11e8a0;\n      uVar5 = FUN_00113ee0(param_2);\n      uVar3 = 0;\n    }\n    puVar4 = (undefined1 *)FUN_00116fe0(5,1,1,0,uVar5,uVar3);\n    *puVar4 = (char)param_3;\n    auVar2._8_8_ = 0;\n    auVar2._0_8_ = uStack_40;\n    return auVar2 << 0x40;\n  }\n  if ((int)param_3 != 0) {\n    uVar5 = dcgettext(0,"ignoring fill value in absolute section",5);\n    FUN_0011d8a0(uVar5);\n    uVar5 = extraout_RDX_01;\n  }\n  if (*(char *)(param_2 + 3) == '\x02') {\n    DAT_001e4778 = param_2[2];\n  }\n  else {\n    uVar5 = dcgettext(0,"only constant offsets supported in absolute section",5);\n    FUN_0011da70(uVar5);\n    param_2[2] = 0;\n    DAT_001e4778 = 0;\n    uVar5 = extraout_RDX_00;\n  }\n  auVar7._8_8_ = uVar5;\n  auVar7._0_8_ = DAT_001e4778;\n  return auVar7;\n}\n\n" (expression_statement "undefined1  [16]" (subscript_expression "undefined1  [16]" identifier [ number_literal ]) ;) (expression_statement "FUN_0011e7e0(undefined8 *param_1,undefined8 *param_2,undefined8 param_3)" (call_expression "FUN_0011e7e0(undefined8 *param_1,undefined8 *param_2,undefined8 param_3)" identifier (argument_list "(undefined8 *param_1,undefined8 *param_2,undefined8 param_3)" ( (binary_expression "undefined8 *param_1" identifier * identifier) , (binary_expression "undefined8 *param_2" identifier * identifier) , identifier (ERROR "param_3" identifier) ))) ;) (compound_statement "{\n  undefined8 uVar1;\n  undefined1 auVar2 [16];\n  undefined8 uVar3;\n  undefined1 *puVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 extraout_RDX;\n  undefined8 extraout_RDX_00;\n  undefined8 extraout_RDX_01;\n  undefined1 auVar7 [16];\n  ulong uStack_40;\n  \n  uVar5 = param_3;\n  if (((param_1 != (undefined8 *)(_bfd_std_section + 0x230)) && (DAT_001e44a8 != param_1)) &&\n     (DAT_001e4480 != param_1)) {\n    uVar5 = *param_1;\n    uVar3 = dcgettext(0,"invalid segment \"%s\"",5);\n    uStack_40 = 0x11e834;\n    FUN_0011da70(uVar3,uVar5);\n    uVar5 = extraout_RDX;\n  }\n  if (DAT_001e44a8 != (undefined8 *)(_bfd_std_section + 0x230)) {\n    uVar5 = *param_2;\n    uVar3 = param_2[2];\n    if (((int)param_3 != 0) && ((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1)) {\n      uVar1 = *DAT_001e44a8;\n      uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      uStack_40 = 0x11e934;\n      FUN_0011d8a0(uVar6,uVar1);\n    }\n    if (1 < (byte)(*(char *)(param_2 + 3) - 2U)) {\n      uStack_40 = 0x11e8a0;\n      uVar5 = FUN_00113ee0(param_2);\n      uVar3 = 0;\n    }\n    puVar4 = (undefined1 *)FUN_00116fe0(5,1,1,0,uVar5,uVar3);\n    *puVar4 = (char)param_3;\n    auVar2._8_8_ = 0;\n    auVar2._0_8_ = uStack_40;\n    return auVar2 << 0x40;\n  }\n  if ((int)param_3 != 0) {\n    uVar5 = dcgettext(0,"ignoring fill value in absolute section",5);\n    FUN_0011d8a0(uVar5);\n    uVar5 = extraout_RDX_01;\n  }\n  if (*(char *)(param_2 + 3) == '\x02') {\n    DAT_001e4778 = param_2[2];\n  }\n  else {\n    uVar5 = dcgettext(0,"only constant offsets supported in absolute section",5);\n    FUN_0011da70(uVar5);\n    param_2[2] = 0;\n    DAT_001e4778 = 0;\n    uVar5 = extraout_RDX_00;\n  }\n  auVar7._8_8_ = uVar5;\n  auVar7._0_8_ = DAT_001e4778;\n  return auVar7;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "undefined1 auVar2 [16];" type_identifier (array_declarator "auVar2 [16]" identifier [ number_literal ]) ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "undefined1 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "undefined8 extraout_RDX;" type_identifier identifier ;) (declaration "undefined8 extraout_RDX_00;" type_identifier identifier ;) (declaration "undefined8 extraout_RDX_01;" type_identifier identifier ;) (declaration "undefined1 auVar7 [16];" type_identifier (array_declarator "auVar7 [16]" identifier [ number_literal ]) ;) (declaration "ulong uStack_40;" type_identifier identifier ;) (expression_statement "uVar5 = param_3;" (assignment_expression "uVar5 = param_3" identifier = identifier) ;) (if_statement "if (((param_1 != (undefined8 *)(_bfd_std_section + 0x230)) && (DAT_001e44a8 != param_1)) &&\n     (DAT_001e4480 != param_1)) {\n    uVar5 = *param_1;\n    uVar3 = dcgettext(0,"invalid segment \"%s\"",5);\n    uStack_40 = 0x11e834;\n    FUN_0011da70(uVar3,uVar5);\n    uVar5 = extraout_RDX;\n  }" if (parenthesized_expression "(((param_1 != (undefined8 *)(_bfd_std_section + 0x230)) && (DAT_001e44a8 != param_1)) &&\n     (DAT_001e4480 != param_1))" ( (binary_expression "((param_1 != (undefined8 *)(_bfd_std_section + 0x230)) && (DAT_001e44a8 != param_1)) &&\n     (DAT_001e4480 != param_1)" (parenthesized_expression "((param_1 != (undefined8 *)(_bfd_std_section + 0x230)) && (DAT_001e44a8 != param_1))" ( (binary_expression "(param_1 != (undefined8 *)(_bfd_std_section + 0x230)) && (DAT_001e44a8 != param_1)" (parenthesized_expression "(param_1 != (undefined8 *)(_bfd_std_section + 0x230))" ( (binary_expression "param_1 != (undefined8 *)(_bfd_std_section + 0x230)" identifier != (cast_expression "(undefined8 *)(_bfd_std_section + 0x230)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(_bfd_std_section + 0x230)" ( (binary_expression "_bfd_std_section + 0x230" identifier + number_literal) )))) )) && (parenthesized_expression "(DAT_001e44a8 != param_1)" ( (binary_expression "DAT_001e44a8 != param_1" identifier != identifier) ))) )) && (parenthesized_expression "(DAT_001e4480 != param_1)" ( (binary_expression "DAT_001e4480 != param_1" identifier != identifier) ))) )) (compound_statement "{\n    uVar5 = *param_1;\n    uVar3 = dcgettext(0,"invalid segment \"%s\"",5);\n    uStack_40 = 0x11e834;\n    FUN_0011da70(uVar3,uVar5);\n    uVar5 = extraout_RDX;\n  }" { (expression_statement "uVar5 = *param_1;" (assignment_expression "uVar5 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar3 = dcgettext(0,"invalid segment \"%s\"",5);" (assignment_expression "uVar3 = dcgettext(0,"invalid segment \"%s\"",5)" identifier = (call_expression "dcgettext(0,"invalid segment \"%s\"",5)" identifier (argument_list "(0,"invalid segment \"%s\"",5)" ( number_literal , (string_literal ""invalid segment \"%s\""" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "uStack_40 = 0x11e834;" (assignment_expression "uStack_40 = 0x11e834" identifier = number_literal) ;) (expression_statement "FUN_0011da70(uVar3,uVar5);" (call_expression "FUN_0011da70(uVar3,uVar5)" identifier (argument_list "(uVar3,uVar5)" ( identifier , identifier ))) ;) (expression_statement "uVar5 = extraout_RDX;" (assignment_expression "uVar5 = extraout_RDX" identifier = identifier) ;) })) (if_statement "if (DAT_001e44a8 != (undefined8 *)(_bfd_std_section + 0x230)) {\n    uVar5 = *param_2;\n    uVar3 = param_2[2];\n    if (((int)param_3 != 0) && ((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1)) {\n      uVar1 = *DAT_001e44a8;\n      uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      uStack_40 = 0x11e934;\n      FUN_0011d8a0(uVar6,uVar1);\n    }\n    if (1 < (byte)(*(char *)(param_2 + 3) - 2U)) {\n      uStack_40 = 0x11e8a0;\n      uVar5 = FUN_00113ee0(param_2);\n      uVar3 = 0;\n    }\n    puVar4 = (undefined1 *)FUN_00116fe0(5,1,1,0,uVar5,uVar3);\n    *puVar4 = (char)param_3;\n    auVar2._8_8_ = 0;\n    auVar2._0_8_ = uStack_40;\n    return auVar2 << 0x40;\n  }" if (parenthesized_expression "(DAT_001e44a8 != (undefined8 *)(_bfd_std_section + 0x230))" ( (binary_expression "DAT_001e44a8 != (undefined8 *)(_bfd_std_section + 0x230)" identifier != (cast_expression "(undefined8 *)(_bfd_std_section + 0x230)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(_bfd_std_section + 0x230)" ( (binary_expression "_bfd_std_section + 0x230" identifier + number_literal) )))) )) (compound_statement "{\n    uVar5 = *param_2;\n    uVar3 = param_2[2];\n    if (((int)param_3 != 0) && ((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1)) {\n      uVar1 = *DAT_001e44a8;\n      uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      uStack_40 = 0x11e934;\n      FUN_0011d8a0(uVar6,uVar1);\n    }\n    if (1 < (byte)(*(char *)(param_2 + 3) - 2U)) {\n      uStack_40 = 0x11e8a0;\n      uVar5 = FUN_00113ee0(param_2);\n      uVar3 = 0;\n    }\n    puVar4 = (undefined1 *)FUN_00116fe0(5,1,1,0,uVar5,uVar3);\n    *puVar4 = (char)param_3;\n    auVar2._8_8_ = 0;\n    auVar2._0_8_ = uStack_40;\n    return auVar2 << 0x40;\n  }" { (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar3 = param_2[2];" (assignment_expression "uVar3 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (if_statement "if (((int)param_3 != 0) && ((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1)) {\n      uVar1 = *DAT_001e44a8;\n      uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      uStack_40 = 0x11e934;\n      FUN_0011d8a0(uVar6,uVar1);\n    }" if (parenthesized_expression "(((int)param_3 != 0) && ((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1))" ( (binary_expression "((int)param_3 != 0) && ((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1)" (parenthesized_expression "((int)param_3 != 0)" ( (binary_expression "(int)param_3 != 0" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )) && (parenthesized_expression "((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1)" ( (binary_expression "(*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1" (parenthesized_expression "(*(uint *)(DAT_001e44a8 + 4) & 0x103)" ( (binary_expression "*(uint *)(DAT_001e44a8 + 4) & 0x103" (pointer_expression "*(uint *)(DAT_001e44a8 + 4)" * (cast_expression "(uint *)(DAT_001e44a8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e44a8 + 4)" ( (binary_expression "DAT_001e44a8 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n      uVar1 = *DAT_001e44a8;\n      uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      uStack_40 = 0x11e934;\n      FUN_0011d8a0(uVar6,uVar1);\n    }" { (expression_statement "uVar1 = *DAT_001e44a8;" (assignment_expression "uVar1 = *DAT_001e44a8" identifier = (pointer_expression "*DAT_001e44a8" * identifier)) ;) (expression_statement "uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5);" (assignment_expression "uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5)" identifier = (call_expression "dcgettext(0,"ignoring fill value in section `%s\'",5)" identifier (argument_list "(0,"ignoring fill value in section `%s\'",5)" ( number_literal , (string_literal ""ignoring fill value in section `%s\'"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "uStack_40 = 0x11e934;" (assignment_expression "uStack_40 = 0x11e934" identifier = number_literal) ;) (expression_statement "FUN_0011d8a0(uVar6,uVar1);" (call_expression "FUN_0011d8a0(uVar6,uVar1)" identifier (argument_list "(uVar6,uVar1)" ( identifier , identifier ))) ;) })) (if_statement "if (1 < (byte)(*(char *)(param_2 + 3) - 2U)) {\n      uStack_40 = 0x11e8a0;\n      uVar5 = FUN_00113ee0(param_2);\n      uVar3 = 0;\n    }" if (parenthesized_expression "(1 < (byte)(*(char *)(param_2 + 3) - 2U))" ( (binary_expression "1 < (byte)(*(char *)(param_2 + 3) - 2U)" number_literal < (call_expression "(byte)(*(char *)(param_2 + 3) - 2U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*(char *)(param_2 + 3) - 2U)" ( (binary_expression "*(char *)(param_2 + 3) - 2U" (pointer_expression "*(char *)(param_2 + 3)" * (cast_expression "(char *)(param_2 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 3)" ( (binary_expression "param_2 + 3" identifier + number_literal) )))) - number_literal) )))) )) (compound_statement "{\n      uStack_40 = 0x11e8a0;\n      uVar5 = FUN_00113ee0(param_2);\n      uVar3 = 0;\n    }" { (expression_statement "uStack_40 = 0x11e8a0;" (assignment_expression "uStack_40 = 0x11e8a0" identifier = number_literal) ;) (expression_statement "uVar5 = FUN_00113ee0(param_2);" (assignment_expression "uVar5 = FUN_00113ee0(param_2)" identifier = (call_expression "FUN_00113ee0(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) })) (expression_statement "puVar4 = (undefined1 *)FUN_00116fe0(5,1,1,0,uVar5,uVar3);" (assignment_expression "puVar4 = (undefined1 *)FUN_00116fe0(5,1,1,0,uVar5,uVar3)" identifier = (cast_expression "(undefined1 *)FUN_00116fe0(5,1,1,0,uVar5,uVar3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00116fe0(5,1,1,0,uVar5,uVar3)" identifier (argument_list "(5,1,1,0,uVar5,uVar3)" ( number_literal , number_literal , number_literal , number_literal , identifier , identifier ))))) ;) (expression_statement "*puVar4 = (char)param_3;" (assignment_expression "*puVar4 = (char)param_3" (pointer_expression "*puVar4" * identifier) = (cast_expression "(char)param_3" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "auVar2._8_8_ = 0;" (assignment_expression "auVar2._8_8_ = 0" (field_expression "auVar2._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar2._0_8_ = uStack_40;" (assignment_expression "auVar2._0_8_ = uStack_40" (field_expression "auVar2._0_8_" identifier . field_identifier) = identifier) ;) (return_statement "return auVar2 << 0x40;" return (binary_expression "auVar2 << 0x40" identifier << number_literal) ;) })) (if_statement "if ((int)param_3 != 0) {\n    uVar5 = dcgettext(0,"ignoring fill value in absolute section",5);\n    FUN_0011d8a0(uVar5);\n    uVar5 = extraout_RDX_01;\n  }" if (parenthesized_expression "((int)param_3 != 0)" ( (binary_expression "(int)param_3 != 0" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )) (compound_statement "{\n    uVar5 = dcgettext(0,"ignoring fill value in absolute section",5);\n    FUN_0011d8a0(uVar5);\n    uVar5 = extraout_RDX_01;\n  }" { (expression_statement "uVar5 = dcgettext(0,"ignoring fill value in absolute section",5);" (assignment_expression "uVar5 = dcgettext(0,"ignoring fill value in absolute section",5)" identifier = (call_expression "dcgettext(0,"ignoring fill value in absolute section",5)" identifier (argument_list "(0,"ignoring fill value in absolute section",5)" ( number_literal , (string_literal ""ignoring fill value in absolute section"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0011d8a0(uVar5);" (call_expression "FUN_0011d8a0(uVar5)" identifier (argument_list "(uVar5)" ( identifier ))) ;) (expression_statement "uVar5 = extraout_RDX_01;" (assignment_expression "uVar5 = extraout_RDX_01" identifier = identifier) ;) })) (if_statement "if (*(char *)(param_2 + 3) == '\x02') {\n    DAT_001e4778 = param_2[2];\n  }\n  else {\n    uVar5 = dcgettext(0,"only constant offsets supported in absolute section",5);\n    FUN_0011da70(uVar5);\n    param_2[2] = 0;\n    DAT_001e4778 = 0;\n    uVar5 = extraout_RDX_00;\n  }" if (parenthesized_expression "(*(char *)(param_2 + 3) == '\x02')" ( (binary_expression "*(char *)(param_2 + 3) == '\x02'" (pointer_expression "*(char *)(param_2 + 3)" * (cast_expression "(char *)(param_2 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 3)" ( (binary_expression "param_2 + 3" identifier + number_literal) )))) == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n    DAT_001e4778 = param_2[2];\n  }" { (expression_statement "DAT_001e4778 = param_2[2];" (assignment_expression "DAT_001e4778 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) }) (else_clause "else {\n    uVar5 = dcgettext(0,"only constant offsets supported in absolute section",5);\n    FUN_0011da70(uVar5);\n    param_2[2] = 0;\n    DAT_001e4778 = 0;\n    uVar5 = extraout_RDX_00;\n  }" else (compound_statement "{\n    uVar5 = dcgettext(0,"only constant offsets supported in absolute section",5);\n    FUN_0011da70(uVar5);\n    param_2[2] = 0;\n    DAT_001e4778 = 0;\n    uVar5 = extraout_RDX_00;\n  }" { (expression_statement "uVar5 = dcgettext(0,"only constant offsets supported in absolute section",5);" (assignment_expression "uVar5 = dcgettext(0,"only constant offsets supported in absolute section",5)" identifier = (call_expression "dcgettext(0,"only constant offsets supported in absolute section",5)" identifier (argument_list "(0,"only constant offsets supported in absolute section",5)" ( number_literal , (string_literal ""only constant offsets supported in absolute section"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0011da70(uVar5);" (call_expression "FUN_0011da70(uVar5)" identifier (argument_list "(uVar5)" ( identifier ))) ;) (expression_statement "param_2[2] = 0;" (assignment_expression "param_2[2] = 0" (subscript_expression "param_2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "DAT_001e4778 = 0;" (assignment_expression "DAT_001e4778 = 0" identifier = number_literal) ;) (expression_statement "uVar5 = extraout_RDX_00;" (assignment_expression "uVar5 = extraout_RDX_00" identifier = identifier) ;) }))) (expression_statement "auVar7._8_8_ = uVar5;" (assignment_expression "auVar7._8_8_ = uVar5" (field_expression "auVar7._8_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar7._0_8_ = DAT_001e4778;" (assignment_expression "auVar7._0_8_ = DAT_001e4778" (field_expression "auVar7._0_8_" identifier . field_identifier) = identifier) ;) (return_statement "return auVar7;" return identifier ;) }))
(translation_unit "void do_org(segT segment,expressionS *exp,int fill)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  symbolS *symbol;\n  offsetT offset;\n  \n  if (((segment != (segT)(_bfd_std_section + 0x230)) && (now_seg != segment)) &&\n     (expr_section != segment)) {\n    pcVar2 = segment->name;\n    pcVar1 = (char *)dcgettext(0,"invalid segment \"%s\"",5);\n    as_bad(pcVar1,pcVar2);\n  }\n  if (now_seg != (segT)(_bfd_std_section + 0x230)) {\n    symbol = exp->X_add_symbol;\n    offset = exp->X_add_number;\n    if ((fill != 0) && ((now_seg->flags & 0x103) == 1)) {\n      pcVar2 = now_seg->name;\n      pcVar1 = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5);\n      as_warn(pcVar1,pcVar2);\n    }\n    if (1 < (byte)(exp->field_0x18 - 2)) {\n      symbol = make_expr_symbol(exp);\n      offset = 0;\n    }\n    pcVar2 = frag_var(rs_org,1,1,0,symbol,offset,(char *)0x0);\n    *pcVar2 = (char)fill;\n    return;\n  }\n  if (fill != 0) {\n    pcVar2 = (char *)dcgettext(0,"ignoring fill value in absolute section",5);\n    as_warn(pcVar2);\n  }\n  if (exp->field_0x18 == '\x02') {\n    abs_section_offset = exp->X_add_number;\n  }\n  else {\n    pcVar2 = (char *)dcgettext(0,"only constant offsets supported in absolute section",5);\n    as_bad(pcVar2);\n    exp->X_add_number = 0;\n    abs_section_offset = 0;\n  }\n  return;\n}\n\n" (function_definition "void do_org(segT segment,expressionS *exp,int fill)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  symbolS *symbol;\n  offsetT offset;\n  \n  if (((segment != (segT)(_bfd_std_section + 0x230)) && (now_seg != segment)) &&\n     (expr_section != segment)) {\n    pcVar2 = segment->name;\n    pcVar1 = (char *)dcgettext(0,"invalid segment \"%s\"",5);\n    as_bad(pcVar1,pcVar2);\n  }\n  if (now_seg != (segT)(_bfd_std_section + 0x230)) {\n    symbol = exp->X_add_symbol;\n    offset = exp->X_add_number;\n    if ((fill != 0) && ((now_seg->flags & 0x103) == 1)) {\n      pcVar2 = now_seg->name;\n      pcVar1 = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5);\n      as_warn(pcVar1,pcVar2);\n    }\n    if (1 < (byte)(exp->field_0x18 - 2)) {\n      symbol = make_expr_symbol(exp);\n      offset = 0;\n    }\n    pcVar2 = frag_var(rs_org,1,1,0,symbol,offset,(char *)0x0);\n    *pcVar2 = (char)fill;\n    return;\n  }\n  if (fill != 0) {\n    pcVar2 = (char *)dcgettext(0,"ignoring fill value in absolute section",5);\n    as_warn(pcVar2);\n  }\n  if (exp->field_0x18 == '\x02') {\n    abs_section_offset = exp->X_add_number;\n  }\n  else {\n    pcVar2 = (char *)dcgettext(0,"only constant offsets supported in absolute section",5);\n    as_bad(pcVar2);\n    exp->X_add_number = 0;\n    abs_section_offset = 0;\n  }\n  return;\n}" primitive_type (function_declarator "do_org(segT segment,expressionS *exp,int fill)" identifier (parameter_list "(segT segment,expressionS *exp,int fill)" ( (parameter_declaration "segT segment" type_identifier identifier) , (parameter_declaration "expressionS *exp" type_identifier (pointer_declarator "*exp" * identifier)) , (parameter_declaration "int fill" primitive_type identifier) ))) (compound_statement "{\n  char *pcVar1;\n  char *pcVar2;\n  symbolS *symbol;\n  offsetT offset;\n  \n  if (((segment != (segT)(_bfd_std_section + 0x230)) && (now_seg != segment)) &&\n     (expr_section != segment)) {\n    pcVar2 = segment->name;\n    pcVar1 = (char *)dcgettext(0,"invalid segment \"%s\"",5);\n    as_bad(pcVar1,pcVar2);\n  }\n  if (now_seg != (segT)(_bfd_std_section + 0x230)) {\n    symbol = exp->X_add_symbol;\n    offset = exp->X_add_number;\n    if ((fill != 0) && ((now_seg->flags & 0x103) == 1)) {\n      pcVar2 = now_seg->name;\n      pcVar1 = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5);\n      as_warn(pcVar1,pcVar2);\n    }\n    if (1 < (byte)(exp->field_0x18 - 2)) {\n      symbol = make_expr_symbol(exp);\n      offset = 0;\n    }\n    pcVar2 = frag_var(rs_org,1,1,0,symbol,offset,(char *)0x0);\n    *pcVar2 = (char)fill;\n    return;\n  }\n  if (fill != 0) {\n    pcVar2 = (char *)dcgettext(0,"ignoring fill value in absolute section",5);\n    as_warn(pcVar2);\n  }\n  if (exp->field_0x18 == '\x02') {\n    abs_section_offset = exp->X_add_number;\n  }\n  else {\n    pcVar2 = (char *)dcgettext(0,"only constant offsets supported in absolute section",5);\n    as_bad(pcVar2);\n    exp->X_add_number = 0;\n    abs_section_offset = 0;\n  }\n  return;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "symbolS *symbol;" type_identifier (pointer_declarator "*symbol" * identifier) ;) (declaration "offsetT offset;" type_identifier identifier ;) (if_statement "if (((segment != (segT)(_bfd_std_section + 0x230)) && (now_seg != segment)) &&\n     (expr_section != segment)) {\n    pcVar2 = segment->name;\n    pcVar1 = (char *)dcgettext(0,"invalid segment \"%s\"",5);\n    as_bad(pcVar1,pcVar2);\n  }" if (parenthesized_expression "(((segment != (segT)(_bfd_std_section + 0x230)) && (now_seg != segment)) &&\n     (expr_section != segment))" ( (binary_expression "((segment != (segT)(_bfd_std_section + 0x230)) && (now_seg != segment)) &&\n     (expr_section != segment)" (parenthesized_expression "((segment != (segT)(_bfd_std_section + 0x230)) && (now_seg != segment))" ( (binary_expression "(segment != (segT)(_bfd_std_section + 0x230)) && (now_seg != segment)" (parenthesized_expression "(segment != (segT)(_bfd_std_section + 0x230))" ( (binary_expression "segment != (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) )))) )) && (parenthesized_expression "(now_seg != segment)" ( (binary_expression "now_seg != segment" identifier != identifier) ))) )) && (parenthesized_expression "(expr_section != segment)" ( (binary_expression "expr_section != segment" identifier != identifier) ))) )) (compound_statement "{\n    pcVar2 = segment->name;\n    pcVar1 = (char *)dcgettext(0,"invalid segment \"%s\"",5);\n    as_bad(pcVar1,pcVar2);\n  }" { (expression_statement "pcVar2 = segment->name;" (assignment_expression "pcVar2 = segment->name" identifier = (field_expression "segment->name" identifier -> field_identifier)) ;) (expression_statement "pcVar1 = (char *)dcgettext(0,"invalid segment \"%s\"",5);" (assignment_expression "pcVar1 = (char *)dcgettext(0,"invalid segment \"%s\"",5)" identifier = (cast_expression "(char *)dcgettext(0,"invalid segment \"%s\"",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"invalid segment \"%s\"",5)" identifier (argument_list "(0,"invalid segment \"%s\"",5)" ( number_literal , (string_literal ""invalid segment \"%s\""" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar1,pcVar2);" (call_expression "as_bad(pcVar1,pcVar2)" identifier (argument_list "(pcVar1,pcVar2)" ( identifier , identifier ))) ;) })) (if_statement "if (now_seg != (segT)(_bfd_std_section + 0x230)) {\n    symbol = exp->X_add_symbol;\n    offset = exp->X_add_number;\n    if ((fill != 0) && ((now_seg->flags & 0x103) == 1)) {\n      pcVar2 = now_seg->name;\n      pcVar1 = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5);\n      as_warn(pcVar1,pcVar2);\n    }\n    if (1 < (byte)(exp->field_0x18 - 2)) {\n      symbol = make_expr_symbol(exp);\n      offset = 0;\n    }\n    pcVar2 = frag_var(rs_org,1,1,0,symbol,offset,(char *)0x0);\n    *pcVar2 = (char)fill;\n    return;\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    symbol = exp->X_add_symbol;\n    offset = exp->X_add_number;\n    if ((fill != 0) && ((now_seg->flags & 0x103) == 1)) {\n      pcVar2 = now_seg->name;\n      pcVar1 = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5);\n      as_warn(pcVar1,pcVar2);\n    }\n    if (1 < (byte)(exp->field_0x18 - 2)) {\n      symbol = make_expr_symbol(exp);\n      offset = 0;\n    }\n    pcVar2 = frag_var(rs_org,1,1,0,symbol,offset,(char *)0x0);\n    *pcVar2 = (char)fill;\n    return;\n  }" { (expression_statement "symbol = exp->X_add_symbol;" (assignment_expression "symbol = exp->X_add_symbol" identifier = (field_expression "exp->X_add_symbol" identifier -> field_identifier)) ;) (expression_statement "offset = exp->X_add_number;" (assignment_expression "offset = exp->X_add_number" identifier = (field_expression "exp->X_add_number" identifier -> field_identifier)) ;) (if_statement "if ((fill != 0) && ((now_seg->flags & 0x103) == 1)) {\n      pcVar2 = now_seg->name;\n      pcVar1 = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5);\n      as_warn(pcVar1,pcVar2);\n    }" if (parenthesized_expression "((fill != 0) && ((now_seg->flags & 0x103) == 1))" ( (binary_expression "(fill != 0) && ((now_seg->flags & 0x103) == 1)" (parenthesized_expression "(fill != 0)" ( (binary_expression "fill != 0" identifier != number_literal) )) && (parenthesized_expression "((now_seg->flags & 0x103) == 1)" ( (binary_expression "(now_seg->flags & 0x103) == 1" (parenthesized_expression "(now_seg->flags & 0x103)" ( (binary_expression "now_seg->flags & 0x103" (field_expression "now_seg->flags" identifier -> field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n      pcVar2 = now_seg->name;\n      pcVar1 = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5);\n      as_warn(pcVar1,pcVar2);\n    }" { (expression_statement "pcVar2 = now_seg->name;" (assignment_expression "pcVar2 = now_seg->name" identifier = (field_expression "now_seg->name" identifier -> field_identifier)) ;) (expression_statement "pcVar1 = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5);" (assignment_expression "pcVar1 = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5)" identifier = (cast_expression "(char *)dcgettext(0,"ignoring fill value in section `%s\'",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"ignoring fill value in section `%s\'",5)" identifier (argument_list "(0,"ignoring fill value in section `%s\'",5)" ( number_literal , (string_literal ""ignoring fill value in section `%s\'"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "as_warn(pcVar1,pcVar2);" (call_expression "as_warn(pcVar1,pcVar2)" identifier (argument_list "(pcVar1,pcVar2)" ( identifier , identifier ))) ;) })) (if_statement "if (1 < (byte)(exp->field_0x18 - 2)) {\n      symbol = make_expr_symbol(exp);\n      offset = 0;\n    }" if (parenthesized_expression "(1 < (byte)(exp->field_0x18 - 2))" ( (binary_expression "1 < (byte)(exp->field_0x18 - 2)" number_literal < (call_expression "(byte)(exp->field_0x18 - 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(exp->field_0x18 - 2)" ( (binary_expression "exp->field_0x18 - 2" (field_expression "exp->field_0x18" identifier -> field_identifier) - number_literal) )))) )) (compound_statement "{\n      symbol = make_expr_symbol(exp);\n      offset = 0;\n    }" { (expression_statement "symbol = make_expr_symbol(exp);" (assignment_expression "symbol = make_expr_symbol(exp)" identifier = (call_expression "make_expr_symbol(exp)" identifier (argument_list "(exp)" ( identifier )))) ;) (expression_statement "offset = 0;" (assignment_expression "offset = 0" identifier = number_literal) ;) })) (expression_statement "pcVar2 = frag_var(rs_org,1,1,0,symbol,offset,(char *)0x0);" (assignment_expression "pcVar2 = frag_var(rs_org,1,1,0,symbol,offset,(char *)0x0)" identifier = (call_expression "frag_var(rs_org,1,1,0,symbol,offset,(char *)0x0)" identifier (argument_list "(rs_org,1,1,0,symbol,offset,(char *)0x0)" ( identifier , number_literal , number_literal , number_literal , identifier , identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "*pcVar2 = (char)fill;" (assignment_expression "*pcVar2 = (char)fill" (pointer_expression "*pcVar2" * identifier) = (cast_expression "(char)fill" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (return_statement "return;" return ;) })) (if_statement "if (fill != 0) {\n    pcVar2 = (char *)dcgettext(0,"ignoring fill value in absolute section",5);\n    as_warn(pcVar2);\n  }" if (parenthesized_expression "(fill != 0)" ( (binary_expression "fill != 0" identifier != number_literal) )) (compound_statement "{\n    pcVar2 = (char *)dcgettext(0,"ignoring fill value in absolute section",5);\n    as_warn(pcVar2);\n  }" { (expression_statement "pcVar2 = (char *)dcgettext(0,"ignoring fill value in absolute section",5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,"ignoring fill value in absolute section",5)" identifier = (cast_expression "(char *)dcgettext(0,"ignoring fill value in absolute section",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"ignoring fill value in absolute section",5)" identifier (argument_list "(0,"ignoring fill value in absolute section",5)" ( number_literal , (string_literal ""ignoring fill value in absolute section"" " string_content ") , number_literal ))))) ;) (expression_statement "as_warn(pcVar2);" (call_expression "as_warn(pcVar2)" identifier (argument_list "(pcVar2)" ( identifier ))) ;) })) (if_statement "if (exp->field_0x18 == '\x02') {\n    abs_section_offset = exp->X_add_number;\n  }\n  else {\n    pcVar2 = (char *)dcgettext(0,"only constant offsets supported in absolute section",5);\n    as_bad(pcVar2);\n    exp->X_add_number = 0;\n    abs_section_offset = 0;\n  }" if (parenthesized_expression "(exp->field_0x18 == '\x02')" ( (binary_expression "exp->field_0x18 == '\x02'" (field_expression "exp->field_0x18" identifier -> field_identifier) == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n    abs_section_offset = exp->X_add_number;\n  }" { (expression_statement "abs_section_offset = exp->X_add_number;" (assignment_expression "abs_section_offset = exp->X_add_number" identifier = (field_expression "exp->X_add_number" identifier -> field_identifier)) ;) }) (else_clause "else {\n    pcVar2 = (char *)dcgettext(0,"only constant offsets supported in absolute section",5);\n    as_bad(pcVar2);\n    exp->X_add_number = 0;\n    abs_section_offset = 0;\n  }" else (compound_statement "{\n    pcVar2 = (char *)dcgettext(0,"only constant offsets supported in absolute section",5);\n    as_bad(pcVar2);\n    exp->X_add_number = 0;\n    abs_section_offset = 0;\n  }" { (expression_statement "pcVar2 = (char *)dcgettext(0,"only constant offsets supported in absolute section",5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,"only constant offsets supported in absolute section",5)" identifier = (cast_expression "(char *)dcgettext(0,"only constant offsets supported in absolute section",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"only constant offsets supported in absolute section",5)" identifier (argument_list "(0,"only constant offsets supported in absolute section",5)" ( number_literal , (string_literal ""only constant offsets supported in absolute section"" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar2);" (call_expression "as_bad(pcVar2)" identifier (argument_list "(pcVar2)" ( identifier ))) ;) (expression_statement "exp->X_add_number = 0;" (assignment_expression "exp->X_add_number = 0" (field_expression "exp->X_add_number" identifier -> field_identifier) = number_literal) ;) (expression_statement "abs_section_offset = 0;" (assignment_expression "abs_section_offset = 0" identifier = number_literal) ;) }))) (return_statement "return;" return ;) })))
(translation_unit "undefined1  [16] FUN_0011e7e0(undefined8 *param_1,undefined8 *param_2,undefined8 param_3)\n\n{\n  undefined8 uVar1;\n  undefined1 auVar2 [16];\n  undefined8 uVar3;\n  undefined1 *puVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 extraout_RDX;\n  undefined8 extraout_RDX_00;\n  undefined8 extraout_RDX_01;\n  undefined1 auVar7 [16];\n  ulong uStack_40;\n  \n  uVar5 = param_3;\n  if (((param_1 != (undefined8 *)(_bfd_std_section + 0x230)) && (DAT_001e44a8 != param_1)) &&\n     (DAT_001e4480 != param_1)) {\n    uVar5 = *param_1;\n    uVar3 = dcgettext(0,"invalid segment \"%s\"",5);\n    uStack_40 = 0x11e834;\n    FUN_0011da70(uVar3,uVar5);\n    uVar5 = extraout_RDX;\n  }\n  if (DAT_001e44a8 != (undefined8 *)(_bfd_std_section + 0x230)) {\n    uVar5 = *param_2;\n    uVar3 = param_2[2];\n    if (((int)param_3 != 0) && ((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1)) {\n      uVar1 = *DAT_001e44a8;\n      uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      uStack_40 = 0x11e934;\n      FUN_0011d8a0(uVar6,uVar1);\n    }\n    if (1 < (byte)(*(char *)(param_2 + 3) - 2U)) {\n      uStack_40 = 0x11e8a0;\n      uVar5 = FUN_00113ee0(param_2);\n      uVar3 = 0;\n    }\n    puVar4 = (undefined1 *)FUN_00116fe0(5,1,1,0,uVar5,uVar3);\n    *puVar4 = (char)param_3;\n    auVar2._8_8_ = 0;\n    auVar2._0_8_ = uStack_40;\n    return auVar2 << 0x40;\n  }\n  if ((int)param_3 != 0) {\n    uVar5 = dcgettext(0,"ignoring fill value in absolute section",5);\n    FUN_0011d8a0(uVar5);\n    uVar5 = extraout_RDX_01;\n  }\n  if (*(char *)(param_2 + 3) == '\x02') {\n    DAT_001e4778 = param_2[2];\n  }\n  else {\n    uVar5 = dcgettext(0,"only constant offsets supported in absolute section",5);\n    FUN_0011da70(uVar5);\n    param_2[2] = 0;\n    DAT_001e4778 = 0;\n    uVar5 = extraout_RDX_00;\n  }\n  auVar7._8_8_ = uVar5;\n  auVar7._0_8_ = DAT_001e4778;\n  return auVar7;\n}\n\n" (expression_statement "undefined1  [16]" (subscript_expression "undefined1  [16]" identifier [ number_literal ]) ;) (expression_statement "FUN_0011e7e0(undefined8 *param_1,undefined8 *param_2,undefined8 param_3)" (call_expression "FUN_0011e7e0(undefined8 *param_1,undefined8 *param_2,undefined8 param_3)" identifier (argument_list "(undefined8 *param_1,undefined8 *param_2,undefined8 param_3)" ( (binary_expression "undefined8 *param_1" identifier * identifier) , (binary_expression "undefined8 *param_2" identifier * identifier) , identifier (ERROR "param_3" identifier) ))) ;) (compound_statement "{\n  undefined8 uVar1;\n  undefined1 auVar2 [16];\n  undefined8 uVar3;\n  undefined1 *puVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 extraout_RDX;\n  undefined8 extraout_RDX_00;\n  undefined8 extraout_RDX_01;\n  undefined1 auVar7 [16];\n  ulong uStack_40;\n  \n  uVar5 = param_3;\n  if (((param_1 != (undefined8 *)(_bfd_std_section + 0x230)) && (DAT_001e44a8 != param_1)) &&\n     (DAT_001e4480 != param_1)) {\n    uVar5 = *param_1;\n    uVar3 = dcgettext(0,"invalid segment \"%s\"",5);\n    uStack_40 = 0x11e834;\n    FUN_0011da70(uVar3,uVar5);\n    uVar5 = extraout_RDX;\n  }\n  if (DAT_001e44a8 != (undefined8 *)(_bfd_std_section + 0x230)) {\n    uVar5 = *param_2;\n    uVar3 = param_2[2];\n    if (((int)param_3 != 0) && ((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1)) {\n      uVar1 = *DAT_001e44a8;\n      uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      uStack_40 = 0x11e934;\n      FUN_0011d8a0(uVar6,uVar1);\n    }\n    if (1 < (byte)(*(char *)(param_2 + 3) - 2U)) {\n      uStack_40 = 0x11e8a0;\n      uVar5 = FUN_00113ee0(param_2);\n      uVar3 = 0;\n    }\n    puVar4 = (undefined1 *)FUN_00116fe0(5,1,1,0,uVar5,uVar3);\n    *puVar4 = (char)param_3;\n    auVar2._8_8_ = 0;\n    auVar2._0_8_ = uStack_40;\n    return auVar2 << 0x40;\n  }\n  if ((int)param_3 != 0) {\n    uVar5 = dcgettext(0,"ignoring fill value in absolute section",5);\n    FUN_0011d8a0(uVar5);\n    uVar5 = extraout_RDX_01;\n  }\n  if (*(char *)(param_2 + 3) == '\x02') {\n    DAT_001e4778 = param_2[2];\n  }\n  else {\n    uVar5 = dcgettext(0,"only constant offsets supported in absolute section",5);\n    FUN_0011da70(uVar5);\n    param_2[2] = 0;\n    DAT_001e4778 = 0;\n    uVar5 = extraout_RDX_00;\n  }\n  auVar7._8_8_ = uVar5;\n  auVar7._0_8_ = DAT_001e4778;\n  return auVar7;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "undefined1 auVar2 [16];" type_identifier (array_declarator "auVar2 [16]" identifier [ number_literal ]) ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "undefined1 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "undefined8 extraout_RDX;" type_identifier identifier ;) (declaration "undefined8 extraout_RDX_00;" type_identifier identifier ;) (declaration "undefined8 extraout_RDX_01;" type_identifier identifier ;) (declaration "undefined1 auVar7 [16];" type_identifier (array_declarator "auVar7 [16]" identifier [ number_literal ]) ;) (declaration "ulong uStack_40;" type_identifier identifier ;) (expression_statement "uVar5 = param_3;" (assignment_expression "uVar5 = param_3" identifier = identifier) ;) (if_statement "if (((param_1 != (undefined8 *)(_bfd_std_section + 0x230)) && (DAT_001e44a8 != param_1)) &&\n     (DAT_001e4480 != param_1)) {\n    uVar5 = *param_1;\n    uVar3 = dcgettext(0,"invalid segment \"%s\"",5);\n    uStack_40 = 0x11e834;\n    FUN_0011da70(uVar3,uVar5);\n    uVar5 = extraout_RDX;\n  }" if (parenthesized_expression "(((param_1 != (undefined8 *)(_bfd_std_section + 0x230)) && (DAT_001e44a8 != param_1)) &&\n     (DAT_001e4480 != param_1))" ( (binary_expression "((param_1 != (undefined8 *)(_bfd_std_section + 0x230)) && (DAT_001e44a8 != param_1)) &&\n     (DAT_001e4480 != param_1)" (parenthesized_expression "((param_1 != (undefined8 *)(_bfd_std_section + 0x230)) && (DAT_001e44a8 != param_1))" ( (binary_expression "(param_1 != (undefined8 *)(_bfd_std_section + 0x230)) && (DAT_001e44a8 != param_1)" (parenthesized_expression "(param_1 != (undefined8 *)(_bfd_std_section + 0x230))" ( (binary_expression "param_1 != (undefined8 *)(_bfd_std_section + 0x230)" identifier != (cast_expression "(undefined8 *)(_bfd_std_section + 0x230)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(_bfd_std_section + 0x230)" ( (binary_expression "_bfd_std_section + 0x230" identifier + number_literal) )))) )) && (parenthesized_expression "(DAT_001e44a8 != param_1)" ( (binary_expression "DAT_001e44a8 != param_1" identifier != identifier) ))) )) && (parenthesized_expression "(DAT_001e4480 != param_1)" ( (binary_expression "DAT_001e4480 != param_1" identifier != identifier) ))) )) (compound_statement "{\n    uVar5 = *param_1;\n    uVar3 = dcgettext(0,"invalid segment \"%s\"",5);\n    uStack_40 = 0x11e834;\n    FUN_0011da70(uVar3,uVar5);\n    uVar5 = extraout_RDX;\n  }" { (expression_statement "uVar5 = *param_1;" (assignment_expression "uVar5 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar3 = dcgettext(0,"invalid segment \"%s\"",5);" (assignment_expression "uVar3 = dcgettext(0,"invalid segment \"%s\"",5)" identifier = (call_expression "dcgettext(0,"invalid segment \"%s\"",5)" identifier (argument_list "(0,"invalid segment \"%s\"",5)" ( number_literal , (string_literal ""invalid segment \"%s\""" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "uStack_40 = 0x11e834;" (assignment_expression "uStack_40 = 0x11e834" identifier = number_literal) ;) (expression_statement "FUN_0011da70(uVar3,uVar5);" (call_expression "FUN_0011da70(uVar3,uVar5)" identifier (argument_list "(uVar3,uVar5)" ( identifier , identifier ))) ;) (expression_statement "uVar5 = extraout_RDX;" (assignment_expression "uVar5 = extraout_RDX" identifier = identifier) ;) })) (if_statement "if (DAT_001e44a8 != (undefined8 *)(_bfd_std_section + 0x230)) {\n    uVar5 = *param_2;\n    uVar3 = param_2[2];\n    if (((int)param_3 != 0) && ((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1)) {\n      uVar1 = *DAT_001e44a8;\n      uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      uStack_40 = 0x11e934;\n      FUN_0011d8a0(uVar6,uVar1);\n    }\n    if (1 < (byte)(*(char *)(param_2 + 3) - 2U)) {\n      uStack_40 = 0x11e8a0;\n      uVar5 = FUN_00113ee0(param_2);\n      uVar3 = 0;\n    }\n    puVar4 = (undefined1 *)FUN_00116fe0(5,1,1,0,uVar5,uVar3);\n    *puVar4 = (char)param_3;\n    auVar2._8_8_ = 0;\n    auVar2._0_8_ = uStack_40;\n    return auVar2 << 0x40;\n  }" if (parenthesized_expression "(DAT_001e44a8 != (undefined8 *)(_bfd_std_section + 0x230))" ( (binary_expression "DAT_001e44a8 != (undefined8 *)(_bfd_std_section + 0x230)" identifier != (cast_expression "(undefined8 *)(_bfd_std_section + 0x230)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(_bfd_std_section + 0x230)" ( (binary_expression "_bfd_std_section + 0x230" identifier + number_literal) )))) )) (compound_statement "{\n    uVar5 = *param_2;\n    uVar3 = param_2[2];\n    if (((int)param_3 != 0) && ((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1)) {\n      uVar1 = *DAT_001e44a8;\n      uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      uStack_40 = 0x11e934;\n      FUN_0011d8a0(uVar6,uVar1);\n    }\n    if (1 < (byte)(*(char *)(param_2 + 3) - 2U)) {\n      uStack_40 = 0x11e8a0;\n      uVar5 = FUN_00113ee0(param_2);\n      uVar3 = 0;\n    }\n    puVar4 = (undefined1 *)FUN_00116fe0(5,1,1,0,uVar5,uVar3);\n    *puVar4 = (char)param_3;\n    auVar2._8_8_ = 0;\n    auVar2._0_8_ = uStack_40;\n    return auVar2 << 0x40;\n  }" { (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar3 = param_2[2];" (assignment_expression "uVar3 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (if_statement "if (((int)param_3 != 0) && ((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1)) {\n      uVar1 = *DAT_001e44a8;\n      uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      uStack_40 = 0x11e934;\n      FUN_0011d8a0(uVar6,uVar1);\n    }" if (parenthesized_expression "(((int)param_3 != 0) && ((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1))" ( (binary_expression "((int)param_3 != 0) && ((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1)" (parenthesized_expression "((int)param_3 != 0)" ( (binary_expression "(int)param_3 != 0" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )) && (parenthesized_expression "((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1)" ( (binary_expression "(*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1" (parenthesized_expression "(*(uint *)(DAT_001e44a8 + 4) & 0x103)" ( (binary_expression "*(uint *)(DAT_001e44a8 + 4) & 0x103" (pointer_expression "*(uint *)(DAT_001e44a8 + 4)" * (cast_expression "(uint *)(DAT_001e44a8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e44a8 + 4)" ( (binary_expression "DAT_001e44a8 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n      uVar1 = *DAT_001e44a8;\n      uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      uStack_40 = 0x11e934;\n      FUN_0011d8a0(uVar6,uVar1);\n    }" { (expression_statement "uVar1 = *DAT_001e44a8;" (assignment_expression "uVar1 = *DAT_001e44a8" identifier = (pointer_expression "*DAT_001e44a8" * identifier)) ;) (expression_statement "uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5);" (assignment_expression "uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5)" identifier = (call_expression "dcgettext(0,"ignoring fill value in section `%s\'",5)" identifier (argument_list "(0,"ignoring fill value in section `%s\'",5)" ( number_literal , (string_literal ""ignoring fill value in section `%s\'"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "uStack_40 = 0x11e934;" (assignment_expression "uStack_40 = 0x11e934" identifier = number_literal) ;) (expression_statement "FUN_0011d8a0(uVar6,uVar1);" (call_expression "FUN_0011d8a0(uVar6,uVar1)" identifier (argument_list "(uVar6,uVar1)" ( identifier , identifier ))) ;) })) (if_statement "if (1 < (byte)(*(char *)(param_2 + 3) - 2U)) {\n      uStack_40 = 0x11e8a0;\n      uVar5 = FUN_00113ee0(param_2);\n      uVar3 = 0;\n    }" if (parenthesized_expression "(1 < (byte)(*(char *)(param_2 + 3) - 2U))" ( (binary_expression "1 < (byte)(*(char *)(param_2 + 3) - 2U)" number_literal < (call_expression "(byte)(*(char *)(param_2 + 3) - 2U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*(char *)(param_2 + 3) - 2U)" ( (binary_expression "*(char *)(param_2 + 3) - 2U" (pointer_expression "*(char *)(param_2 + 3)" * (cast_expression "(char *)(param_2 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 3)" ( (binary_expression "param_2 + 3" identifier + number_literal) )))) - number_literal) )))) )) (compound_statement "{\n      uStack_40 = 0x11e8a0;\n      uVar5 = FUN_00113ee0(param_2);\n      uVar3 = 0;\n    }" { (expression_statement "uStack_40 = 0x11e8a0;" (assignment_expression "uStack_40 = 0x11e8a0" identifier = number_literal) ;) (expression_statement "uVar5 = FUN_00113ee0(param_2);" (assignment_expression "uVar5 = FUN_00113ee0(param_2)" identifier = (call_expression "FUN_00113ee0(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) })) (expression_statement "puVar4 = (undefined1 *)FUN_00116fe0(5,1,1,0,uVar5,uVar3);" (assignment_expression "puVar4 = (undefined1 *)FUN_00116fe0(5,1,1,0,uVar5,uVar3)" identifier = (cast_expression "(undefined1 *)FUN_00116fe0(5,1,1,0,uVar5,uVar3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00116fe0(5,1,1,0,uVar5,uVar3)" identifier (argument_list "(5,1,1,0,uVar5,uVar3)" ( number_literal , number_literal , number_literal , number_literal , identifier , identifier ))))) ;) (expression_statement "*puVar4 = (char)param_3;" (assignment_expression "*puVar4 = (char)param_3" (pointer_expression "*puVar4" * identifier) = (cast_expression "(char)param_3" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "auVar2._8_8_ = 0;" (assignment_expression "auVar2._8_8_ = 0" (field_expression "auVar2._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar2._0_8_ = uStack_40;" (assignment_expression "auVar2._0_8_ = uStack_40" (field_expression "auVar2._0_8_" identifier . field_identifier) = identifier) ;) (return_statement "return auVar2 << 0x40;" return (binary_expression "auVar2 << 0x40" identifier << number_literal) ;) })) (if_statement "if ((int)param_3 != 0) {\n    uVar5 = dcgettext(0,"ignoring fill value in absolute section",5);\n    FUN_0011d8a0(uVar5);\n    uVar5 = extraout_RDX_01;\n  }" if (parenthesized_expression "((int)param_3 != 0)" ( (binary_expression "(int)param_3 != 0" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )) (compound_statement "{\n    uVar5 = dcgettext(0,"ignoring fill value in absolute section",5);\n    FUN_0011d8a0(uVar5);\n    uVar5 = extraout_RDX_01;\n  }" { (expression_statement "uVar5 = dcgettext(0,"ignoring fill value in absolute section",5);" (assignment_expression "uVar5 = dcgettext(0,"ignoring fill value in absolute section",5)" identifier = (call_expression "dcgettext(0,"ignoring fill value in absolute section",5)" identifier (argument_list "(0,"ignoring fill value in absolute section",5)" ( number_literal , (string_literal ""ignoring fill value in absolute section"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0011d8a0(uVar5);" (call_expression "FUN_0011d8a0(uVar5)" identifier (argument_list "(uVar5)" ( identifier ))) ;) (expression_statement "uVar5 = extraout_RDX_01;" (assignment_expression "uVar5 = extraout_RDX_01" identifier = identifier) ;) })) (if_statement "if (*(char *)(param_2 + 3) == '\x02') {\n    DAT_001e4778 = param_2[2];\n  }\n  else {\n    uVar5 = dcgettext(0,"only constant offsets supported in absolute section",5);\n    FUN_0011da70(uVar5);\n    param_2[2] = 0;\n    DAT_001e4778 = 0;\n    uVar5 = extraout_RDX_00;\n  }" if (parenthesized_expression "(*(char *)(param_2 + 3) == '\x02')" ( (binary_expression "*(char *)(param_2 + 3) == '\x02'" (pointer_expression "*(char *)(param_2 + 3)" * (cast_expression "(char *)(param_2 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 3)" ( (binary_expression "param_2 + 3" identifier + number_literal) )))) == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n    DAT_001e4778 = param_2[2];\n  }" { (expression_statement "DAT_001e4778 = param_2[2];" (assignment_expression "DAT_001e4778 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) }) (else_clause "else {\n    uVar5 = dcgettext(0,"only constant offsets supported in absolute section",5);\n    FUN_0011da70(uVar5);\n    param_2[2] = 0;\n    DAT_001e4778 = 0;\n    uVar5 = extraout_RDX_00;\n  }" else (compound_statement "{\n    uVar5 = dcgettext(0,"only constant offsets supported in absolute section",5);\n    FUN_0011da70(uVar5);\n    param_2[2] = 0;\n    DAT_001e4778 = 0;\n    uVar5 = extraout_RDX_00;\n  }" { (expression_statement "uVar5 = dcgettext(0,"only constant offsets supported in absolute section",5);" (assignment_expression "uVar5 = dcgettext(0,"only constant offsets supported in absolute section",5)" identifier = (call_expression "dcgettext(0,"only constant offsets supported in absolute section",5)" identifier (argument_list "(0,"only constant offsets supported in absolute section",5)" ( number_literal , (string_literal ""only constant offsets supported in absolute section"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0011da70(uVar5);" (call_expression "FUN_0011da70(uVar5)" identifier (argument_list "(uVar5)" ( identifier ))) ;) (expression_statement "param_2[2] = 0;" (assignment_expression "param_2[2] = 0" (subscript_expression "param_2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "DAT_001e4778 = 0;" (assignment_expression "DAT_001e4778 = 0" identifier = number_literal) ;) (expression_statement "uVar5 = extraout_RDX_00;" (assignment_expression "uVar5 = extraout_RDX_00" identifier = identifier) ;) }))) (expression_statement "auVar7._8_8_ = uVar5;" (assignment_expression "auVar7._8_8_ = uVar5" (field_expression "auVar7._8_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar7._0_8_ = DAT_001e4778;" (assignment_expression "auVar7._0_8_ = DAT_001e4778" (field_expression "auVar7._0_8_" identifier . field_identifier) = identifier) ;) (return_statement "return auVar7;" return identifier ;) }))
(translation_unit (expression_statement (subscript_expression IDENT [ LIT ]) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) , (binary_expression IDENT * IDENT) , IDENT (ERROR IDENT) ))) ;) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) && (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) && (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , LIT , LIT , LIT , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (return_statement return (binary_expression IDENT << LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (return_statement return IDENT ;) }))
(expression_statement "undefined1  [16]" (subscript_expression "undefined1  [16]" (identifier "undefined1") ([ "[") (number_literal "16") (] "]")) (; "")) (expression_statement "FUN_0011e7e0(undefined8 *param_1,undefined8 *param_2,undefined8 param_3)" (call_expression "FUN_0011e7e0(undefined8 *param_1,undefined8 *param_2,undefined8 param_3)" (identifier "FUN_0011e7e0") (argument_list "(undefined8 *param_1,undefined8 *param_2,undefined8 param_3)" (( "(") (binary_expression "undefined8 *param_1" (identifier "undefined8") (* "*") (identifier "param_1")) (, ",") (binary_expression "undefined8 *param_2" (identifier "undefined8") (* "*") (identifier "param_2")) (, ",") (identifier "undefined8") (ERROR "param_3" (identifier "param_3")) () ")"))) (; "")) (compound_statement "{\n  undefined8 uVar1;\n  undefined1 auVar2 [16];\n  undefined8 uVar3;\n  undefined1 *puVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 extraout_RDX;\n  undefined8 extraout_RDX_00;\n  undefined8 extraout_RDX_01;\n  undefined1 auVar7 [16];\n  ulong uStack_40;\n  \n  uVar5 = param_3;\n  if (((param_1 != (undefined8 *)(_bfd_std_section + 0x230)) && (DAT_001e44a8 != param_1)) &&\n     (DAT_001e4480 != param_1)) {\n    uVar5 = *param_1;\n    uVar3 = dcgettext(0,"invalid segment \"%s\"",5);\n    uStack_40 = 0x11e834;\n    FUN_0011da70(uVar3,uVar5);\n    uVar5 = extraout_RDX;\n  }\n  if (DAT_001e44a8 != (undefined8 *)(_bfd_std_section + 0x230)) {\n    uVar5 = *param_2;\n    uVar3 = param_2[2];\n    if (((int)param_3 != 0) && ((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1)) {\n      uVar1 = *DAT_001e44a8;\n      uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      uStack_40 = 0x11e934;\n      FUN_0011d8a0(uVar6,uVar1);\n    }\n    if (1 < (byte)(*(char *)(param_2 + 3) - 2U)) {\n      uStack_40 = 0x11e8a0;\n      uVar5 = FUN_00113ee0(param_2);\n      uVar3 = 0;\n    }\n    puVar4 = (undefined1 *)FUN_00116fe0(5,1,1,0,uVar5,uVar3);\n    *puVar4 = (char)param_3;\n    auVar2._8_8_ = 0;\n    auVar2._0_8_ = uStack_40;\n    return auVar2 << 0x40;\n  }\n  if ((int)param_3 != 0) {\n    uVar5 = dcgettext(0,"ignoring fill value in absolute section",5);\n    FUN_0011d8a0(uVar5);\n    uVar5 = extraout_RDX_01;\n  }\n  if (*(char *)(param_2 + 3) == '\x02') {\n    DAT_001e4778 = param_2[2];\n  }\n  else {\n    uVar5 = dcgettext(0,"only constant offsets supported in absolute section",5);\n    FUN_0011da70(uVar5);\n    param_2[2] = 0;\n    DAT_001e4778 = 0;\n    uVar5 = extraout_RDX_00;\n  }\n  auVar7._8_8_ = uVar5;\n  auVar7._0_8_ = DAT_001e4778;\n  return auVar7;\n}" ({ "{") (declaration "undefined8 uVar1;" (type_identifier "undefined8") (identifier "uVar1") (; ";")) (declaration "undefined1 auVar2 [16];" (type_identifier "undefined1") (array_declarator "auVar2 [16]" (identifier "auVar2") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined8 uVar3;" (type_identifier "undefined8") (identifier "uVar3") (; ";")) (declaration "undefined1 *puVar4;" (type_identifier "undefined1") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined8 uVar5;" (type_identifier "undefined8") (identifier "uVar5") (; ";")) (declaration "undefined8 uVar6;" (type_identifier "undefined8") (identifier "uVar6") (; ";")) (declaration "undefined8 extraout_RDX;" (type_identifier "undefined8") (identifier "extraout_RDX") (; ";")) (declaration "undefined8 extraout_RDX_00;" (type_identifier "undefined8") (identifier "extraout_RDX_00") (; ";")) (declaration "undefined8 extraout_RDX_01;" (type_identifier "undefined8") (identifier "extraout_RDX_01") (; ";")) (declaration "undefined1 auVar7 [16];" (type_identifier "undefined1") (array_declarator "auVar7 [16]" (identifier "auVar7") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "ulong uStack_40;" (type_identifier "ulong") (identifier "uStack_40") (; ";")) (expression_statement "uVar5 = param_3;" (assignment_expression "uVar5 = param_3" (identifier "uVar5") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (((param_1 != (undefined8 *)(_bfd_std_section + 0x230)) && (DAT_001e44a8 != param_1)) &&\n     (DAT_001e4480 != param_1)) {\n    uVar5 = *param_1;\n    uVar3 = dcgettext(0,"invalid segment \"%s\"",5);\n    uStack_40 = 0x11e834;\n    FUN_0011da70(uVar3,uVar5);\n    uVar5 = extraout_RDX;\n  }" (if "if") (parenthesized_expression "(((param_1 != (undefined8 *)(_bfd_std_section + 0x230)) && (DAT_001e44a8 != param_1)) &&\n     (DAT_001e4480 != param_1))" (( "(") (binary_expression "((param_1 != (undefined8 *)(_bfd_std_section + 0x230)) && (DAT_001e44a8 != param_1)) &&\n     (DAT_001e4480 != param_1)" (parenthesized_expression "((param_1 != (undefined8 *)(_bfd_std_section + 0x230)) && (DAT_001e44a8 != param_1))" (( "(") (binary_expression "(param_1 != (undefined8 *)(_bfd_std_section + 0x230)) && (DAT_001e44a8 != param_1)" (parenthesized_expression "(param_1 != (undefined8 *)(_bfd_std_section + 0x230))" (( "(") (binary_expression "param_1 != (undefined8 *)(_bfd_std_section + 0x230)" (identifier "param_1") (!= "!=") (cast_expression "(undefined8 *)(_bfd_std_section + 0x230)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(_bfd_std_section + 0x230)" (( "(") (binary_expression "_bfd_std_section + 0x230" (identifier "_bfd_std_section") (+ "+") (number_literal "0x230")) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(DAT_001e44a8 != param_1)" (( "(") (binary_expression "DAT_001e44a8 != param_1" (identifier "DAT_001e44a8") (!= "!=") (identifier "param_1")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(DAT_001e4480 != param_1)" (( "(") (binary_expression "DAT_001e4480 != param_1" (identifier "DAT_001e4480") (!= "!=") (identifier "param_1")) () ")"))) () ")")) (compound_statement "{\n    uVar5 = *param_1;\n    uVar3 = dcgettext(0,"invalid segment \"%s\"",5);\n    uStack_40 = 0x11e834;\n    FUN_0011da70(uVar3,uVar5);\n    uVar5 = extraout_RDX;\n  }" ({ "{") (expression_statement "uVar5 = *param_1;" (assignment_expression "uVar5 = *param_1" (identifier "uVar5") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uVar3 = dcgettext(0,"invalid segment \"%s\"",5);" (assignment_expression "uVar3 = dcgettext(0,"invalid segment \"%s\"",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"invalid segment \"%s\"",5)" (identifier "dcgettext") (argument_list "(0,"invalid segment \"%s\"",5)" (( "(") (number_literal "0") (, ",") (string_literal ""invalid segment \"%s\""" (" """) (string_content "invalid segment ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "uStack_40 = 0x11e834;" (assignment_expression "uStack_40 = 0x11e834" (identifier "uStack_40") (= "=") (number_literal "0x11e834")) (; ";")) (expression_statement "FUN_0011da70(uVar3,uVar5);" (call_expression "FUN_0011da70(uVar3,uVar5)" (identifier "FUN_0011da70") (argument_list "(uVar3,uVar5)" (( "(") (identifier "uVar3") (, ",") (identifier "uVar5") () ")"))) (; ";")) (expression_statement "uVar5 = extraout_RDX;" (assignment_expression "uVar5 = extraout_RDX" (identifier "uVar5") (= "=") (identifier "extraout_RDX")) (; ";")) (} "}"))) (if_statement "if (DAT_001e44a8 != (undefined8 *)(_bfd_std_section + 0x230)) {\n    uVar5 = *param_2;\n    uVar3 = param_2[2];\n    if (((int)param_3 != 0) && ((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1)) {\n      uVar1 = *DAT_001e44a8;\n      uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      uStack_40 = 0x11e934;\n      FUN_0011d8a0(uVar6,uVar1);\n    }\n    if (1 < (byte)(*(char *)(param_2 + 3) - 2U)) {\n      uStack_40 = 0x11e8a0;\n      uVar5 = FUN_00113ee0(param_2);\n      uVar3 = 0;\n    }\n    puVar4 = (undefined1 *)FUN_00116fe0(5,1,1,0,uVar5,uVar3);\n    *puVar4 = (char)param_3;\n    auVar2._8_8_ = 0;\n    auVar2._0_8_ = uStack_40;\n    return auVar2 << 0x40;\n  }" (if "if") (parenthesized_expression "(DAT_001e44a8 != (undefined8 *)(_bfd_std_section + 0x230))" (( "(") (binary_expression "DAT_001e44a8 != (undefined8 *)(_bfd_std_section + 0x230)" (identifier "DAT_001e44a8") (!= "!=") (cast_expression "(undefined8 *)(_bfd_std_section + 0x230)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(_bfd_std_section + 0x230)" (( "(") (binary_expression "_bfd_std_section + 0x230" (identifier "_bfd_std_section") (+ "+") (number_literal "0x230")) () ")")))) () ")")) (compound_statement "{\n    uVar5 = *param_2;\n    uVar3 = param_2[2];\n    if (((int)param_3 != 0) && ((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1)) {\n      uVar1 = *DAT_001e44a8;\n      uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      uStack_40 = 0x11e934;\n      FUN_0011d8a0(uVar6,uVar1);\n    }\n    if (1 < (byte)(*(char *)(param_2 + 3) - 2U)) {\n      uStack_40 = 0x11e8a0;\n      uVar5 = FUN_00113ee0(param_2);\n      uVar3 = 0;\n    }\n    puVar4 = (undefined1 *)FUN_00116fe0(5,1,1,0,uVar5,uVar3);\n    *puVar4 = (char)param_3;\n    auVar2._8_8_ = 0;\n    auVar2._0_8_ = uStack_40;\n    return auVar2 << 0x40;\n  }" ({ "{") (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" (identifier "uVar5") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar3 = param_2[2];" (assignment_expression "uVar3 = param_2[2]" (identifier "uVar3") (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (((int)param_3 != 0) && ((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1)) {\n      uVar1 = *DAT_001e44a8;\n      uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      uStack_40 = 0x11e934;\n      FUN_0011d8a0(uVar6,uVar1);\n    }" (if "if") (parenthesized_expression "(((int)param_3 != 0) && ((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1))" (( "(") (binary_expression "((int)param_3 != 0) && ((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1)" (parenthesized_expression "((int)param_3 != 0)" (( "(") (binary_expression "(int)param_3 != 0" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1)" (( "(") (binary_expression "(*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1" (parenthesized_expression "(*(uint *)(DAT_001e44a8 + 4) & 0x103)" (( "(") (binary_expression "*(uint *)(DAT_001e44a8 + 4) & 0x103" (pointer_expression "*(uint *)(DAT_001e44a8 + 4)" (* "*") (cast_expression "(uint *)(DAT_001e44a8 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001e44a8 + 4)" (( "(") (binary_expression "DAT_001e44a8 + 4" (identifier "DAT_001e44a8") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "0x103")) () ")")) (== "==") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n      uVar1 = *DAT_001e44a8;\n      uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      uStack_40 = 0x11e934;\n      FUN_0011d8a0(uVar6,uVar1);\n    }" ({ "{") (expression_statement "uVar1 = *DAT_001e44a8;" (assignment_expression "uVar1 = *DAT_001e44a8" (identifier "uVar1") (= "=") (pointer_expression "*DAT_001e44a8" (* "*") (identifier "DAT_001e44a8"))) (; ";")) (expression_statement "uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5);" (assignment_expression "uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5)" (identifier "uVar6") (= "=") (call_expression "dcgettext(0,"ignoring fill value in section `%s\'",5)" (identifier "dcgettext") (argument_list "(0,"ignoring fill value in section `%s\'",5)" (( "(") (number_literal "0") (, ",") (string_literal ""ignoring fill value in section `%s\'"" (" """) (string_content "ignoring fill value in section `%s") (escape_sequence "\'") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "uStack_40 = 0x11e934;" (assignment_expression "uStack_40 = 0x11e934" (identifier "uStack_40") (= "=") (number_literal "0x11e934")) (; ";")) (expression_statement "FUN_0011d8a0(uVar6,uVar1);" (call_expression "FUN_0011d8a0(uVar6,uVar1)" (identifier "FUN_0011d8a0") (argument_list "(uVar6,uVar1)" (( "(") (identifier "uVar6") (, ",") (identifier "uVar1") () ")"))) (; ";")) (} "}"))) (if_statement "if (1 < (byte)(*(char *)(param_2 + 3) - 2U)) {\n      uStack_40 = 0x11e8a0;\n      uVar5 = FUN_00113ee0(param_2);\n      uVar3 = 0;\n    }" (if "if") (parenthesized_expression "(1 < (byte)(*(char *)(param_2 + 3) - 2U))" (( "(") (binary_expression "1 < (byte)(*(char *)(param_2 + 3) - 2U)" (number_literal "1") (< "<") (call_expression "(byte)(*(char *)(param_2 + 3) - 2U)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(*(char *)(param_2 + 3) - 2U)" (( "(") (binary_expression "*(char *)(param_2 + 3) - 2U" (pointer_expression "*(char *)(param_2 + 3)" (* "*") (cast_expression "(char *)(param_2 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 3)" (( "(") (binary_expression "param_2 + 3" (identifier "param_2") (+ "+") (number_literal "3")) () ")")))) (- "-") (number_literal "2U")) () ")")))) () ")")) (compound_statement "{\n      uStack_40 = 0x11e8a0;\n      uVar5 = FUN_00113ee0(param_2);\n      uVar3 = 0;\n    }" ({ "{") (expression_statement "uStack_40 = 0x11e8a0;" (assignment_expression "uStack_40 = 0x11e8a0" (identifier "uStack_40") (= "=") (number_literal "0x11e8a0")) (; ";")) (expression_statement "uVar5 = FUN_00113ee0(param_2);" (assignment_expression "uVar5 = FUN_00113ee0(param_2)" (identifier "uVar5") (= "=") (call_expression "FUN_00113ee0(param_2)" (identifier "FUN_00113ee0") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" (identifier "uVar3") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "puVar4 = (undefined1 *)FUN_00116fe0(5,1,1,0,uVar5,uVar3);" (assignment_expression "puVar4 = (undefined1 *)FUN_00116fe0(5,1,1,0,uVar5,uVar3)" (identifier "puVar4") (= "=") (cast_expression "(undefined1 *)FUN_00116fe0(5,1,1,0,uVar5,uVar3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00116fe0(5,1,1,0,uVar5,uVar3)" (identifier "FUN_00116fe0") (argument_list "(5,1,1,0,uVar5,uVar3)" (( "(") (number_literal "5") (, ",") (number_literal "1") (, ",") (number_literal "1") (, ",") (number_literal "0") (, ",") (identifier "uVar5") (, ",") (identifier "uVar3") () ")"))))) (; ";")) (expression_statement "*puVar4 = (char)param_3;" (assignment_expression "*puVar4 = (char)param_3" (pointer_expression "*puVar4" (* "*") (identifier "puVar4")) (= "=") (cast_expression "(char)param_3" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "param_3"))) (; ";")) (expression_statement "auVar2._8_8_ = 0;" (assignment_expression "auVar2._8_8_ = 0" (field_expression "auVar2._8_8_" (identifier "auVar2") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar2._0_8_ = uStack_40;" (assignment_expression "auVar2._0_8_ = uStack_40" (field_expression "auVar2._0_8_" (identifier "auVar2") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uStack_40")) (; ";")) (return_statement "return auVar2 << 0x40;" (return "return") (binary_expression "auVar2 << 0x40" (identifier "auVar2") (<< "<<") (number_literal "0x40")) (; ";")) (} "}"))) (if_statement "if ((int)param_3 != 0) {\n    uVar5 = dcgettext(0,"ignoring fill value in absolute section",5);\n    FUN_0011d8a0(uVar5);\n    uVar5 = extraout_RDX_01;\n  }" (if "if") (parenthesized_expression "((int)param_3 != 0)" (( "(") (binary_expression "(int)param_3 != 0" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar5 = dcgettext(0,"ignoring fill value in absolute section",5);\n    FUN_0011d8a0(uVar5);\n    uVar5 = extraout_RDX_01;\n  }" ({ "{") (expression_statement "uVar5 = dcgettext(0,"ignoring fill value in absolute section",5);" (assignment_expression "uVar5 = dcgettext(0,"ignoring fill value in absolute section",5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,"ignoring fill value in absolute section",5)" (identifier "dcgettext") (argument_list "(0,"ignoring fill value in absolute section",5)" (( "(") (number_literal "0") (, ",") (string_literal ""ignoring fill value in absolute section"" (" """) (string_content "ignoring fill value in absolute section") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0011d8a0(uVar5);" (call_expression "FUN_0011d8a0(uVar5)" (identifier "FUN_0011d8a0") (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")"))) (; ";")) (expression_statement "uVar5 = extraout_RDX_01;" (assignment_expression "uVar5 = extraout_RDX_01" (identifier "uVar5") (= "=") (identifier "extraout_RDX_01")) (; ";")) (} "}"))) (if_statement "if (*(char *)(param_2 + 3) == '\x02') {\n    DAT_001e4778 = param_2[2];\n  }\n  else {\n    uVar5 = dcgettext(0,"only constant offsets supported in absolute section",5);\n    FUN_0011da70(uVar5);\n    param_2[2] = 0;\n    DAT_001e4778 = 0;\n    uVar5 = extraout_RDX_00;\n  }" (if "if") (parenthesized_expression "(*(char *)(param_2 + 3) == '\x02')" (( "(") (binary_expression "*(char *)(param_2 + 3) == '\x02'" (pointer_expression "*(char *)(param_2 + 3)" (* "*") (cast_expression "(char *)(param_2 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 3)" (( "(") (binary_expression "param_2 + 3" (identifier "param_2") (+ "+") (number_literal "3")) () ")")))) (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (compound_statement "{\n    DAT_001e4778 = param_2[2];\n  }" ({ "{") (expression_statement "DAT_001e4778 = param_2[2];" (assignment_expression "DAT_001e4778 = param_2[2]" (identifier "DAT_001e4778") (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n    uVar5 = dcgettext(0,"only constant offsets supported in absolute section",5);\n    FUN_0011da70(uVar5);\n    param_2[2] = 0;\n    DAT_001e4778 = 0;\n    uVar5 = extraout_RDX_00;\n  }" (else "else") (compound_statement "{\n    uVar5 = dcgettext(0,"only constant offsets supported in absolute section",5);\n    FUN_0011da70(uVar5);\n    param_2[2] = 0;\n    DAT_001e4778 = 0;\n    uVar5 = extraout_RDX_00;\n  }" ({ "{") (expression_statement "uVar5 = dcgettext(0,"only constant offsets supported in absolute section",5);" (assignment_expression "uVar5 = dcgettext(0,"only constant offsets supported in absolute section",5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,"only constant offsets supported in absolute section",5)" (identifier "dcgettext") (argument_list "(0,"only constant offsets supported in absolute section",5)" (( "(") (number_literal "0") (, ",") (string_literal ""only constant offsets supported in absolute section"" (" """) (string_content "only constant offsets supported in absolute section") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0011da70(uVar5);" (call_expression "FUN_0011da70(uVar5)" (identifier "FUN_0011da70") (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")"))) (; ";")) (expression_statement "param_2[2] = 0;" (assignment_expression "param_2[2] = 0" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_001e4778 = 0;" (assignment_expression "DAT_001e4778 = 0" (identifier "DAT_001e4778") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar5 = extraout_RDX_00;" (assignment_expression "uVar5 = extraout_RDX_00" (identifier "uVar5") (= "=") (identifier "extraout_RDX_00")) (; ";")) (} "}")))) (expression_statement "auVar7._8_8_ = uVar5;" (assignment_expression "auVar7._8_8_ = uVar5" (field_expression "auVar7._8_8_" (identifier "auVar7") (. ".") (field_identifier "_8_8_")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "auVar7._0_8_ = DAT_001e4778;" (assignment_expression "auVar7._0_8_ = DAT_001e4778" (field_expression "auVar7._0_8_" (identifier "auVar7") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "DAT_001e4778")) (; ";")) (return_statement "return auVar7;" (return "return") (identifier "auVar7") (; ";")) (} "}"))

void function_1(type_1 var_1,type_2 *exp,int var_7)

{
  char *pcVar1;
  char *pcVar2;
  type_3 *symbol;
  type_4 offset;
  
  if (((var_1 != (type_1)(var_2 + 0x230)) && (var_3 != var_1)) &&
     (var_4 != var_1)) {
    pcVar2 = var_1->name;
    pcVar1 = (char *)var_5(0,"invalid segment \"%s\"",5);
    var_6(pcVar1,pcVar2);
  }
  if (var_3 != (type_1)(var_2 + 0x230)) {
    symbol = exp->X_add_symbol;
    offset = exp->X_add_number;
    if ((var_7 != 0) && ((var_3->flags & 0x103) == 1)) {
      pcVar2 = var_3->name;
      pcVar1 = (char *)var_5(0,"ignoring fill value in section `%s\'",5);
      var_8(pcVar1,pcVar2);
    }
    if (1 < (byte)(exp->field_0x18 - 2)) {
      symbol = var_9(exp);
      offset = 0;
    }
    pcVar2 = var_10(rs_org,1,1,0,symbol,offset,(char *)0x0);
    *pcVar2 = (char)var_7;
    return;
  }
  if (var_7 != 0) {
    pcVar2 = (char *)var_5(0,"ignoring fill value in absolute section",5);
    var_8(pcVar2);
  }
  if (exp->field_0x18 == '\x02') {
    abs_section_offset = exp->X_add_number;
  }
  else {
    pcVar2 = (char *)var_5(0,"only constant offsets supported in absolute section",5);
    var_6(pcVar2);
    exp->X_add_number = 0;
    abs_section_offset = 0;
  }
  return;
}


(translation_unit (expression_statement (subscript_expression argument: (identifier) index: (number_literal)) (MISSING ";")) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (identifier) (ERROR (identifier)))) (MISSING ";")) (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (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))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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 (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (number_literal) (number_literal) (number_literal) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (return_statement (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (return_statement (identifier))))

undefined1  [16] MASKED(undefined8 *param_1,undefined8 *param_2,undefined8 param_3)

{
  undefined8 uVar1;
  undefined1 auVar2 [16];
  undefined8 uVar3;
  undefined1 *puVar4;
  undefined8 uVar5;
  undefined8 uVar6;
  undefined8 extraout_RDX;
  undefined8 extraout_RDX_00;
  undefined8 extraout_RDX_01;
  undefined1 auVar7 [16];
  ulong uStack_40;
  
  uVar5 = param_3;
  if (((param_1 != (undefined8 *)(_bfd_std_section + 0x230)) && (DAT_001e44a8 != param_1)) &&
     (DAT_001e4480 != param_1)) {
    uVar5 = *param_1;
    uVar3 = dcgettext(0,"invalid segment \"%s\"",5);
    uStack_40 = 0x11e834;
    FUN_0011da70(uVar3,uVar5);
    uVar5 = extraout_RDX;
  }
  if (DAT_001e44a8 != (undefined8 *)(_bfd_std_section + 0x230)) {
    uVar5 = *param_2;
    uVar3 = param_2[2];
    if (((int)param_3 != 0) && ((*(uint *)(DAT_001e44a8 + 4) & 0x103) == 1)) {
      uVar1 = *DAT_001e44a8;
      uVar6 = dcgettext(0,"ignoring fill value in section `%s\'",5);
      uStack_40 = 0x11e934;
      FUN_0011d8a0(uVar6,uVar1);
    }
    if (1 < (byte)(*(char *)(param_2 + 3) - 2U)) {
      uStack_40 = 0x11e8a0;
      uVar5 = FUN_00113ee0(param_2);
      uVar3 = 0;
    }
    puVar4 = (undefined1 *)FUN_00116fe0(5,1,1,0,uVar5,uVar3);
    *puVar4 = (char)param_3;
    auVar2._8_8_ = 0;
    auVar2._0_8_ = uStack_40;
    return auVar2 << 0x40;
  }
  if ((int)param_3 != 0) {
    uVar5 = dcgettext(0,"ignoring fill value in absolute section",5);
    FUN_0011d8a0(uVar5);
    uVar5 = extraout_RDX_01;
  }
  if (*(char *)(param_2 + 3) == '\x02') {
    DAT_001e4778 = param_2[2];
  }
  else {
    uVar5 = dcgettext(0,"only constant offsets supported in absolute section",5);
    FUN_0011da70(uVar5);
    param_2[2] = 0;
    DAT_001e4778 = 0;
    uVar5 = extraout_RDX_00;
  }
  auVar7._8_8_ = uVar5;
  auVar7._0_8_ = DAT_001e4778;
  return auVar7;
}

