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

void __regparm3
as_internal_value_out_of_range
          (char *prefix,offsetT val,offsetT min,offsetT max,char *file,uint line,int bad)

{
  ulonglong uVar1;
  char *format;
  char *pcVar2;
  int iVar3;
  undefined4 uVar4;
  char val_buf [26];
  char min_buf [26];
  char max_buf [26];
  
  pcVar2 = "";
  if (prefix != (char *)0x0) {
    pcVar2 = prefix;
  }
  if (((SBORROW4(line,val._4_4_) != SBORROW4(line - val._4_4_,(uint)(file < (char *)val))) ==
       (int)((line - val._4_4_) - (uint)(file < (char *)val)) < 0) &&
     ((SBORROW4(min._4_4_,line) != SBORROW4(min._4_4_ - line,(uint)((char *)min < file))) ==
      (int)((min._4_4_ - line) - (uint)((char *)min < file)) < 0)) {
    val._0_4_ = (char *)(-(int)(char *)min & (uint)(char *)min);
    if ((int)(uint)((char *)0x1 < (char *)min) <= -min._4_4_) {
                    /* WARNING: Subroutine does not return */
      as_abort("../../gas/messages.c",0x18d,"as_internal_value_out_of_range");
    }
    min._0_4_ = (char *)0x5;
    format = (char *)dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);
  }
  else {
    iVar3 = (int)((ulonglong)(val + 0x3ff) >> 0x20);
    if ((iVar3 == 0 && (uint)(0x7fe < (uint)(val + 0x3ff)) <= (uint)-iVar3) &&
       ((iVar3 = line + ((char *)0xfffffc00 < file),
        iVar3 == 0 && (uint)((char *)0x7fe < file + 0x3ff) <= (uint)-iVar3 &&
        (iVar3 = (int)((ulonglong)(min + 0x3ff) >> 0x20),
        iVar3 == 0 && (uint)(0x7fe < (uint)(min + 0x3ff)) <= (uint)-iVar3)))) {
      format = (char *)dcgettext(0,"%s out of range (%d is not between %d and %d)",5);
    }
    else {
      sprintf(val_buf,"%016llx",file,line,(char *)min,min._4_4_,pcVar2);
      sprintf(min_buf,"%016llx",(char *)val,val._4_4_);
      uVar1 = (ulonglong)min >> 0x20;
      uVar4 = (undefined4)min;
      min._0_4_ = max_buf;
      sprintf((char *)min,"%016llx",uVar4,(int)uVar1);
      format = (char *)dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);
      file = val_buf;
      val._0_4_ = min_buf;
    }
  }
  if (bad == 0) {
    as_warn_where((char *)max,max._4_4_,format,pcVar2,file,(char *)val,(char *)min);
    return;
  }
  as_bad_where((char *)max,max._4_4_,format,pcVar2,file,(char *)val,(char *)min);
  return;
}



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

void __regparm3
FUN_0002bf30(undefined *param_1,char *param_2,int param_3,char *param_4,int param_5,char *param_6,
            int param_7,undefined4 param_8,undefined4 param_9,int param_10)

{
  undefined4 uVar1;
  undefined *puVar2;
  int iVar3;
  char *pcVar4;
  char local_6a [26];
  char local_50 [26];
  char local_36 [34];
  undefined4 uStack_14;
  
  uStack_14 = 0x2bf3b;
  puVar2 = &DAT_00051b45;
  if (param_1 != (undefined *)0x0) {
    puVar2 = param_1;
  }
  if (((SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==
       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0) &&
     ((SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==
      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0)) {
    if ((int)(uint)((char *)0x1 < param_6) <= -param_7) {
                    /* WARNING: Subroutine does not return */
      FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",
                   (char *)(-(int)param_6 & (uint)param_6));
    }
    pcVar4 = (char *)0x5;
    uVar1 = dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);
    param_4 = (char *)(-(int)param_6 & (uint)param_6);
    param_6 = pcVar4;
  }
  else {
    iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4);
    if ((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&
       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),
        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&
        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),
        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))) {
      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);
    }
    else {
      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);
      sprintf(local_50,"%016llx",param_4,param_5);
      sprintf(local_36,"%016llx",param_6,param_7);
      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);
      param_2 = local_6a;
      param_4 = local_50;
      param_6 = local_36;
    }
  }
  if (param_10 == 0) {
    FUN_0002bc80(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);
    return;
  }
  FUN_0002bd40(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);
  return;
}


PUSH EBP
MOV EBP,EDX
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016040
ADD EBX,0x420c5
SUB ESP,0x7c
MOV EDI,dword ptr [ESP + 0x9c]
MOV dword ptr [ESP + 0x8],EAX
MOV EDX,dword ptr [ESP + 0x90]
MOV EAX,dword ptr [ESP + 0x94]
MOV dword ptr [ESP + 0x4],EDI
MOV EDI,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0xc],EDX
LEA EDX,[EBX + 0xfffe3b45]
MOV ESI,dword ptr [ESP + 0x98]
TEST EDI,EDI
CMOVNZ EDX,EDI
CMP EBP,dword ptr [ESP + 0xc]
MOV EDI,ECX
MOV dword ptr [ESP],ESI
SBB EDI,EAX
MOV dword ptr [ESP + 0x8],EDX
JL 0x0002c010
MOV ESI,dword ptr [ESP]
MOV EDI,dword ptr [ESP + 0x4]
CMP ESI,EBP
SBB EDI,ECX
JL 0x0002c010
MOV EAX,dword ptr [ESP]
MOV EDX,dword ptr [ESP]
MOV ECX,dword ptr [ESP + 0x4]
NEG EAX
MOV ESI,EAX
MOV EAX,0x1
AND ESI,EDX
CMP EAX,EDX
MOV EAX,0x0
SBB EAX,ECX
JGE 0x0002c16d
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe54a8]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
ADD ESP,0x10
MOV EBX,dword ptr [ESP + 0xa8]
TEST EBX,EBX
JZ 0x0002c128
SUB ESP,0x8
PUSH ESI
PUSH EBP
PUSH dword ptr [ESP + 0x18]
PUSH EAX
PUSH dword ptr [ESP + 0xbc]
PUSH dword ptr [ESP + 0xbc]
CALL 0x0002bd40
ADD ESP,0x20
ADD ESP,0x7c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV dword ptr [ESP + 0x1c],ECX
MOV ECX,dword ptr [ESP + 0xc]
MOV EDI,0x7fe
MOV dword ptr [ESP + 0x14],EAX
MOV EDX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x10],ECX
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x18],EBP
ADD EAX,0x3ff
ADC EDX,0x0
XOR ECX,ECX
CMP EDI,EAX
MOV ESI,ECX
SBB ESI,EDX
JC 0x0002c05b
MOV EAX,dword ptr [ESP + 0x18]
MOV EDX,dword ptr [ESP + 0x1c]
MOV ESI,ECX
ADD EAX,0x3ff
ADC EDX,0x0
CMP EDI,EAX
SBB ESI,EDX
JNC 0x0002c0d8
LEA ESI,[EBX + 0xfffe4dcf]
PUSH dword ptr [ESP + 0x1c]
PUSH dword ptr [ESP + 0x1c]
PUSH ESI
LEA EBP,[ESP + 0x2e]
PUSH EBP
CALL 0x00014690
PUSH dword ptr [ESP + 0x24]
PUSH dword ptr [ESP + 0x24]
PUSH ESI
LEA EDX,[ESP + 0x58]
PUSH EDX
MOV dword ptr [ESP + 0x2c],EDX
CALL 0x00014690
ADD ESP,0x20
PUSH dword ptr [ESP + 0x4]
PUSH dword ptr [ESP + 0x4]
PUSH ESI
LEA ESI,[ESP + 0x62]
PUSH ESI
CALL 0x00014690
ADD ESP,0xc
LEA EAX,[EBX + 0xfffe5508]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xa8]
TEST EDX,EDX
MOV EDX,dword ptr [ESP + 0xc]
JZ 0x0002c150
SUB ESP,0x4
PUSH ESI
PUSH EDX
JMP 0x0002bfea
MOV EAX,dword ptr [ESP]
MOV EDX,dword ptr [ESP + 0x4]
ADD EAX,0x3ff
ADC EDX,0x0
CMP EDI,EAX
SBB ECX,EDX
JC 0x0002c05b
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe54d8]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0xa8]
TEST ECX,ECX
JZ 0x0002c160
SUB ESP,0x4
PUSH dword ptr [ESP + 0x4]
PUSH dword ptr [ESP + 0x14]
JMP 0x0002bfea
SUB ESP,0x8
PUSH ESI
PUSH EBP
PUSH dword ptr [ESP + 0x18]
PUSH EAX
PUSH dword ptr [ESP + 0xbc]
PUSH dword ptr [ESP + 0xbc]
CALL 0x0002bc80
ADD ESP,0x20
ADD ESP,0x7c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
PUSH ESI
PUSH EDX
JMP 0x0002c12c
SUB ESP,0x4
PUSH dword ptr [ESP + 0x4]
PUSH dword ptr [ESP + 0x14]
JMP 0x0002c12c
LEA EAX,[EBX + 0xfffe553c]
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0xfffe5470]
PUSH 0x18d
PUSH EAX
CALL 0x0002be10
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3\nFUN_0002bf30(undefined *param_1,char *param_2,int param_3,char *param_4,int param_5,char *param_6,\n            int param_7,undefined4 param_8,undefined4 param_9,int param_10)\n\n{\n  undefined4 uVar1;\n  undefined *puVar2;\n  int iVar3;\n  char *pcVar4;\n  char local_6a [26];\n  char local_50 [26];\n  char local_36 [34];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2bf3b;\n  puVar2 = &DAT_00051b45;\n  if (param_1 != (undefined *)0x0) {\n    puVar2 = param_1;\n  }\n  if (((SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0) &&\n     ((SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0)) {\n    if ((int)(uint)((char *)0x1 < param_6) <= -param_7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));\n    }\n    pcVar4 = (char *)0x5;\n    uVar1 = dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);\n    param_4 = (char *)(-(int)param_6 & (uint)param_6);\n    param_6 = pcVar4;\n  }\n  else {\n    iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4);\n    if ((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))) {\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }\n  }\n  if (param_10 == 0) {\n    FUN_0002bc80(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);\n    return;\n  }\n  FUN_0002bd40(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);\n  return;\n}\n\n" comment (function_definition "void __regparm3\nFUN_0002bf30(undefined *param_1,char *param_2,int param_3,char *param_4,int param_5,char *param_6,\n            int param_7,undefined4 param_8,undefined4 param_9,int param_10)\n\n{\n  undefined4 uVar1;\n  undefined *puVar2;\n  int iVar3;\n  char *pcVar4;\n  char local_6a [26];\n  char local_50 [26];\n  char local_36 [34];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2bf3b;\n  puVar2 = &DAT_00051b45;\n  if (param_1 != (undefined *)0x0) {\n    puVar2 = param_1;\n  }\n  if (((SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0) &&\n     ((SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0)) {\n    if ((int)(uint)((char *)0x1 < param_6) <= -param_7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));\n    }\n    pcVar4 = (char *)0x5;\n    uVar1 = dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);\n    param_4 = (char *)(-(int)param_6 & (uint)param_6);\n    param_6 = pcVar4;\n  }\n  else {\n    iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4);\n    if ((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))) {\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }\n  }\n  if (param_10 == 0) {\n    FUN_0002bc80(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);\n    return;\n  }\n  FUN_0002bd40(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_0002bf30(undefined *param_1,char *param_2,int param_3,char *param_4,int param_5,char *param_6,\n            int param_7,undefined4 param_8,undefined4 param_9,int param_10)" identifier (parameter_list "(undefined *param_1,char *param_2,int param_3,char *param_4,int param_5,char *param_6,\n            int param_7,undefined4 param_8,undefined4 param_9,int param_10)" ( (parameter_declaration "undefined *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "char *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "char *param_6" primitive_type (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "int param_7" primitive_type identifier) , (parameter_declaration "undefined4 param_8" type_identifier identifier) , (parameter_declaration "undefined4 param_9" type_identifier identifier) , (parameter_declaration "int param_10" primitive_type identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  undefined *puVar2;\n  int iVar3;\n  char *pcVar4;\n  char local_6a [26];\n  char local_50 [26];\n  char local_36 [34];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2bf3b;\n  puVar2 = &DAT_00051b45;\n  if (param_1 != (undefined *)0x0) {\n    puVar2 = param_1;\n  }\n  if (((SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0) &&\n     ((SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0)) {\n    if ((int)(uint)((char *)0x1 < param_6) <= -param_7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));\n    }\n    pcVar4 = (char *)0x5;\n    uVar1 = dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);\n    param_4 = (char *)(-(int)param_6 & (uint)param_6);\n    param_6 = pcVar4;\n  }\n  else {\n    iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4);\n    if ((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))) {\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }\n  }\n  if (param_10 == 0) {\n    FUN_0002bc80(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);\n    return;\n  }\n  FUN_0002bd40(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);\n  return;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "char local_6a [26];" primitive_type (array_declarator "local_6a [26]" identifier [ number_literal ]) ;) (declaration "char local_50 [26];" primitive_type (array_declarator "local_50 [26]" identifier [ number_literal ]) ;) (declaration "char local_36 [34];" primitive_type (array_declarator "local_36 [34]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x2bf3b;" (assignment_expression "uStack_14 = 0x2bf3b" identifier = number_literal) ;) (expression_statement "puVar2 = &DAT_00051b45;" (assignment_expression "puVar2 = &DAT_00051b45" identifier = (pointer_expression "&DAT_00051b45" & identifier)) ;) (if_statement "if (param_1 != (undefined *)0x0) {\n    puVar2 = param_1;\n  }" if (parenthesized_expression "(param_1 != (undefined *)0x0)" ( (binary_expression "param_1 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar2 = param_1;\n  }" { (expression_statement "puVar2 = param_1;" (assignment_expression "puVar2 = param_1" identifier = identifier) ;) })) (if_statement "if (((SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0) &&\n     ((SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0)) {\n    if ((int)(uint)((char *)0x1 < param_6) <= -param_7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));\n    }\n    pcVar4 = (char *)0x5;\n    uVar1 = dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);\n    param_4 = (char *)(-(int)param_6 & (uint)param_6);\n    param_6 = pcVar4;\n  }\n  else {\n    iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4);\n    if ((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))) {\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }\n  }" if (parenthesized_expression "(((SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0) &&\n     ((SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0))" ( (binary_expression "((SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0) &&\n     ((SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0)" (parenthesized_expression "((SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0)" ( (binary_expression "(SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0" (parenthesized_expression "(SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4)))" ( (binary_expression "SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))" (call_expression "SBORROW4(param_3,param_5)" identifier (argument_list "(param_3,param_5)" ( identifier , identifier ))) != (call_expression "SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))" identifier (argument_list "(param_3 - param_5,(uint)(param_2 < param_4))" ( (binary_expression "param_3 - param_5" identifier - identifier) , (call_expression "(uint)(param_2 < param_4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2 < param_4)" ( (binary_expression "param_2 < param_4" identifier < identifier) ))) )))) )) == (binary_expression "(int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0" (cast_expression "(int)((param_3 - param_5) - (uint)(param_2 < param_4))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((param_3 - param_5) - (uint)(param_2 < param_4))" ( (binary_expression "(param_3 - param_5) - (uint)(param_2 < param_4)" (parenthesized_expression "(param_3 - param_5)" ( (binary_expression "param_3 - param_5" identifier - identifier) )) - (call_expression "(uint)(param_2 < param_4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2 < param_4)" ( (binary_expression "param_2 < param_4" identifier < identifier) )))) ))) < number_literal)) )) && (parenthesized_expression "((SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0)" ( (binary_expression "(SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0" (parenthesized_expression "(SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2)))" ( (binary_expression "SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))" (call_expression "SBORROW4(param_7,param_3)" identifier (argument_list "(param_7,param_3)" ( identifier , identifier ))) != (call_expression "SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))" identifier (argument_list "(param_7 - param_3,(uint)(param_6 < param_2))" ( (binary_expression "param_7 - param_3" identifier - identifier) , (call_expression "(uint)(param_6 < param_2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_6 < param_2)" ( (binary_expression "param_6 < param_2" identifier < identifier) ))) )))) )) == (binary_expression "(int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0" (cast_expression "(int)((param_7 - param_3) - (uint)(param_6 < param_2))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((param_7 - param_3) - (uint)(param_6 < param_2))" ( (binary_expression "(param_7 - param_3) - (uint)(param_6 < param_2)" (parenthesized_expression "(param_7 - param_3)" ( (binary_expression "param_7 - param_3" identifier - identifier) )) - (call_expression "(uint)(param_6 < param_2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_6 < param_2)" ( (binary_expression "param_6 < param_2" identifier < identifier) )))) ))) < number_literal)) ))) )) (compound_statement "{\n    if ((int)(uint)((char *)0x1 < param_6) <= -param_7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));\n    }\n    pcVar4 = (char *)0x5;\n    uVar1 = dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);\n    param_4 = (char *)(-(int)param_6 & (uint)param_6);\n    param_6 = pcVar4;\n  }" { (if_statement "if ((int)(uint)((char *)0x1 < param_6) <= -param_7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));\n    }" if (parenthesized_expression "((int)(uint)((char *)0x1 < param_6) <= -param_7)" ( (binary_expression "(int)(uint)((char *)0x1 < param_6) <= -param_7" (cast_expression "(int)(uint)((char *)0x1 < param_6)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((char *)0x1 < param_6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((char *)0x1 < param_6)" ( (binary_expression "(char *)0x1 < param_6" (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )))) <= (unary_expression "-param_7" - identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));\n    }" { comment (expression_statement "FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));" (call_expression "FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6))" identifier (argument_list "("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6))" ( (string_literal ""../../gas/messages.c"" " string_content ") , number_literal , (string_literal ""as_internal_value_out_of_range"" " string_content ") , (cast_expression "(char *)(-(int)param_6 & (uint)param_6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(-(int)param_6 & (uint)param_6)" ( (binary_expression "-(int)param_6 & (uint)param_6" (unary_expression "-(int)param_6" - (cast_expression "(int)param_6" ( (type_descriptor "int" primitive_type) ) identifier)) & (cast_expression "(uint)param_6" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ))) ;) })) (expression_statement "pcVar4 = (char *)0x5;" (assignment_expression "pcVar4 = (char *)0x5" identifier = (cast_expression "(char *)0x5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar1 = dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);" (assignment_expression "uVar1 = dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5)" identifier = (call_expression "dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5)" identifier (argument_list "(0,"%s out of domain (%d is not a multiple of %d)",5)" ( number_literal , (string_literal ""%s out of domain (%d is not a multiple of %d)"" " string_content ") , number_literal )))) ;) (expression_statement "param_4 = (char *)(-(int)param_6 & (uint)param_6);" (assignment_expression "param_4 = (char *)(-(int)param_6 & (uint)param_6)" identifier = (cast_expression "(char *)(-(int)param_6 & (uint)param_6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(-(int)param_6 & (uint)param_6)" ( (binary_expression "-(int)param_6 & (uint)param_6" (unary_expression "-(int)param_6" - (cast_expression "(int)param_6" ( (type_descriptor "int" primitive_type) ) identifier)) & (cast_expression "(uint)param_6" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "param_6 = pcVar4;" (assignment_expression "param_6 = pcVar4" identifier = identifier) ;) }) (else_clause "else {\n    iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4);\n    if ((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))) {\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }\n  }" else (compound_statement "{\n    iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4);\n    if ((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))) {\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }\n  }" { (expression_statement "iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4);" (assignment_expression "iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4)" identifier = (binary_expression "param_5 + (uint)((char *)0xfffffc00 < param_4)" identifier + (call_expression "(uint)((char *)0xfffffc00 < param_4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((char *)0xfffffc00 < param_4)" ( (binary_expression "(char *)0xfffffc00 < param_4" (cast_expression "(char *)0xfffffc00" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) ))))) ;) (if_statement "if ((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))) {\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }" if (parenthesized_expression "((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3))))" ( (binary_expression "(iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))" (parenthesized_expression "(iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3)" ( (binary_expression "iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3" (binary_expression "iVar3 == 0" identifier == number_literal) && (binary_expression "(uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3" (call_expression "(uint)((char *)0x7fe < param_4 + 0x3ff)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((char *)0x7fe < param_4 + 0x3ff)" ( (binary_expression "(char *)0x7fe < param_4 + 0x3ff" (cast_expression "(char *)0x7fe" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "param_4 + 0x3ff" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) && (parenthesized_expression "((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))" ( (parenthesized_expression "(iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3))" ( (comma_expression "iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)" (assignment_expression "iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2)" identifier = (binary_expression "param_3 + (uint)((char *)0xfffffc00 < param_2)" identifier + (call_expression "(uint)((char *)0xfffffc00 < param_2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((char *)0xfffffc00 < param_2)" ( (binary_expression "(char *)0xfffffc00 < param_2" (cast_expression "(char *)0xfffffc00" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) ))))) , (binary_expression "iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)" (binary_expression "iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3" (binary_expression "iVar3 == 0" identifier == number_literal) && (binary_expression "(uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3" (call_expression "(uint)((char *)0x7fe < param_2 + 0x3ff)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((char *)0x7fe < param_2 + 0x3ff)" ( (binary_expression "(char *)0x7fe < param_2 + 0x3ff" (cast_expression "(char *)0x7fe" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "param_2 + 0x3ff" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" ( identifier )) - identifier))) && (parenthesized_expression "(iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)" ( (comma_expression "iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3" (assignment_expression "iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6)" identifier = (binary_expression "param_7 + (uint)((char *)0xfffffc00 < param_6)" identifier + (call_expression "(uint)((char *)0xfffffc00 < param_6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((char *)0xfffffc00 < param_6)" ( (binary_expression "(char *)0xfffffc00 < param_6" (cast_expression "(char *)0xfffffc00" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) ))))) , (binary_expression "iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3" (binary_expression "iVar3 == 0" identifier == number_literal) && (binary_expression "(uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3" (call_expression "(uint)((char *)0x7fe < param_6 + 0x3ff)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((char *)0x7fe < param_6 + 0x3ff)" ( (binary_expression "(char *)0x7fe < param_6 + 0x3ff" (cast_expression "(char *)0x7fe" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "param_6 + 0x3ff" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" ( identifier )) - identifier)))) )))) )) ))) )) (compound_statement "{\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }" { (expression_statement "uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);" (assignment_expression "uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5)" identifier = (call_expression "dcgettext(0,"%s out of range (%d is not between %d and %d)",5)" identifier (argument_list "(0,"%s out of range (%d is not between %d and %d)",5)" ( number_literal , (string_literal ""%s out of range (%d is not between %d and %d)"" " string_content ") , number_literal )))) ;) }) (else_clause "else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }" else (compound_statement "{\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }" { (expression_statement "sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);" (call_expression "sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2)" identifier (argument_list "(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2)" ( identifier , (string_literal ""%016llx"" " string_content ") , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "sprintf(local_50,"%016llx",param_4,param_5);" (call_expression "sprintf(local_50,"%016llx",param_4,param_5)" identifier (argument_list "(local_50,"%016llx",param_4,param_5)" ( identifier , (string_literal ""%016llx"" " string_content ") , identifier , identifier ))) ;) (expression_statement "sprintf(local_36,"%016llx",param_6,param_7);" (call_expression "sprintf(local_36,"%016llx",param_6,param_7)" identifier (argument_list "(local_36,"%016llx",param_6,param_7)" ( identifier , (string_literal ""%016llx"" " string_content ") , identifier , identifier ))) ;) (expression_statement "uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);" (assignment_expression "uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5)" identifier = (call_expression "dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5)" identifier (argument_list "(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5)" ( number_literal , (string_literal ""%s out of range (0x%s is not between 0x%s and 0x%s)"" " string_content ") , number_literal )))) ;) (expression_statement "param_2 = local_6a;" (assignment_expression "param_2 = local_6a" identifier = identifier) ;) (expression_statement "param_4 = local_50;" (assignment_expression "param_4 = local_50" identifier = identifier) ;) (expression_statement "param_6 = local_36;" (assignment_expression "param_6 = local_36" identifier = identifier) ;) }))) }))) (if_statement "if (param_10 == 0) {\n    FUN_0002bc80(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);\n    return;\n  }" if (parenthesized_expression "(param_10 == 0)" ( (binary_expression "param_10 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_0002bc80(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);\n    return;\n  }" { (expression_statement "FUN_0002bc80(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);" (call_expression "FUN_0002bc80(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6)" identifier (argument_list "(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_0002bd40(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);" (call_expression "FUN_0002bd40(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6)" identifier (argument_list "(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3\nas_internal_value_out_of_range\n          (char *prefix,offsetT val,offsetT min,offsetT max,char *file,uint line,int bad)\n\n{\n  ulonglong uVar1;\n  char *format;\n  char *pcVar2;\n  int iVar3;\n  undefined4 uVar4;\n  char val_buf [26];\n  char min_buf [26];\n  char max_buf [26];\n  \n  pcVar2 = "";\n  if (prefix != (char *)0x0) {\n    pcVar2 = prefix;\n  }\n  if (((SBORROW4(line,val._4_4_) != SBORROW4(line - val._4_4_,(uint)(file < (char *)val))) ==\n       (int)((line - val._4_4_) - (uint)(file < (char *)val)) < 0) &&\n     ((SBORROW4(min._4_4_,line) != SBORROW4(min._4_4_ - line,(uint)((char *)min < file))) ==\n      (int)((min._4_4_ - line) - (uint)((char *)min < file)) < 0)) {\n    val._0_4_ = (char *)(-(int)(char *)min & (uint)(char *)min);\n    if ((int)(uint)((char *)0x1 < (char *)min) <= -min._4_4_) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/messages.c",0x18d,"as_internal_value_out_of_range");\n    }\n    min._0_4_ = (char *)0x5;\n    format = (char *)dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);\n  }\n  else {\n    iVar3 = (int)((ulonglong)(val + 0x3ff) >> 0x20);\n    if ((iVar3 == 0 && (uint)(0x7fe < (uint)(val + 0x3ff)) <= (uint)-iVar3) &&\n       ((iVar3 = line + ((char *)0xfffffc00 < file),\n        iVar3 == 0 && (uint)((char *)0x7fe < file + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = (int)((ulonglong)(min + 0x3ff) >> 0x20),\n        iVar3 == 0 && (uint)(0x7fe < (uint)(min + 0x3ff)) <= (uint)-iVar3)))) {\n      format = (char *)dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(val_buf,"%016llx",file,line,(char *)min,min._4_4_,pcVar2);\n      sprintf(min_buf,"%016llx",(char *)val,val._4_4_);\n      uVar1 = (ulonglong)min >> 0x20;\n      uVar4 = (undefined4)min;\n      min._0_4_ = max_buf;\n      sprintf((char *)min,"%016llx",uVar4,(int)uVar1);\n      format = (char *)dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      file = val_buf;\n      val._0_4_ = min_buf;\n    }\n  }\n  if (bad == 0) {\n    as_warn_where((char *)max,max._4_4_,format,pcVar2,file,(char *)val,(char *)min);\n    return;\n  }\n  as_bad_where((char *)max,max._4_4_,format,pcVar2,file,(char *)val,(char *)min);\n  return;\n}\n\n" comment (function_definition "void __regparm3\nas_internal_value_out_of_range\n          (char *prefix,offsetT val,offsetT min,offsetT max,char *file,uint line,int bad)\n\n{\n  ulonglong uVar1;\n  char *format;\n  char *pcVar2;\n  int iVar3;\n  undefined4 uVar4;\n  char val_buf [26];\n  char min_buf [26];\n  char max_buf [26];\n  \n  pcVar2 = "";\n  if (prefix != (char *)0x0) {\n    pcVar2 = prefix;\n  }\n  if (((SBORROW4(line,val._4_4_) != SBORROW4(line - val._4_4_,(uint)(file < (char *)val))) ==\n       (int)((line - val._4_4_) - (uint)(file < (char *)val)) < 0) &&\n     ((SBORROW4(min._4_4_,line) != SBORROW4(min._4_4_ - line,(uint)((char *)min < file))) ==\n      (int)((min._4_4_ - line) - (uint)((char *)min < file)) < 0)) {\n    val._0_4_ = (char *)(-(int)(char *)min & (uint)(char *)min);\n    if ((int)(uint)((char *)0x1 < (char *)min) <= -min._4_4_) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/messages.c",0x18d,"as_internal_value_out_of_range");\n    }\n    min._0_4_ = (char *)0x5;\n    format = (char *)dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);\n  }\n  else {\n    iVar3 = (int)((ulonglong)(val + 0x3ff) >> 0x20);\n    if ((iVar3 == 0 && (uint)(0x7fe < (uint)(val + 0x3ff)) <= (uint)-iVar3) &&\n       ((iVar3 = line + ((char *)0xfffffc00 < file),\n        iVar3 == 0 && (uint)((char *)0x7fe < file + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = (int)((ulonglong)(min + 0x3ff) >> 0x20),\n        iVar3 == 0 && (uint)(0x7fe < (uint)(min + 0x3ff)) <= (uint)-iVar3)))) {\n      format = (char *)dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(val_buf,"%016llx",file,line,(char *)min,min._4_4_,pcVar2);\n      sprintf(min_buf,"%016llx",(char *)val,val._4_4_);\n      uVar1 = (ulonglong)min >> 0x20;\n      uVar4 = (undefined4)min;\n      min._0_4_ = max_buf;\n      sprintf((char *)min,"%016llx",uVar4,(int)uVar1);\n      format = (char *)dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      file = val_buf;\n      val._0_4_ = min_buf;\n    }\n  }\n  if (bad == 0) {\n    as_warn_where((char *)max,max._4_4_,format,pcVar2,file,(char *)val,(char *)min);\n    return;\n  }\n  as_bad_where((char *)max,max._4_4_,format,pcVar2,file,(char *)val,(char *)min);\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "as_internal_value_out_of_range\n          (char *prefix,offsetT val,offsetT min,offsetT max,char *file,uint line,int bad)" identifier (parameter_list "(char *prefix,offsetT val,offsetT min,offsetT max,char *file,uint line,int bad)" ( (parameter_declaration "char *prefix" primitive_type (pointer_declarator "*prefix" * identifier)) , (parameter_declaration "offsetT val" type_identifier identifier) , (parameter_declaration "offsetT min" type_identifier identifier) , (parameter_declaration "offsetT max" type_identifier identifier) , (parameter_declaration "char *file" primitive_type (pointer_declarator "*file" * identifier)) , (parameter_declaration "uint line" type_identifier identifier) , (parameter_declaration "int bad" primitive_type identifier) ))) (compound_statement "{\n  ulonglong uVar1;\n  char *format;\n  char *pcVar2;\n  int iVar3;\n  undefined4 uVar4;\n  char val_buf [26];\n  char min_buf [26];\n  char max_buf [26];\n  \n  pcVar2 = "";\n  if (prefix != (char *)0x0) {\n    pcVar2 = prefix;\n  }\n  if (((SBORROW4(line,val._4_4_) != SBORROW4(line - val._4_4_,(uint)(file < (char *)val))) ==\n       (int)((line - val._4_4_) - (uint)(file < (char *)val)) < 0) &&\n     ((SBORROW4(min._4_4_,line) != SBORROW4(min._4_4_ - line,(uint)((char *)min < file))) ==\n      (int)((min._4_4_ - line) - (uint)((char *)min < file)) < 0)) {\n    val._0_4_ = (char *)(-(int)(char *)min & (uint)(char *)min);\n    if ((int)(uint)((char *)0x1 < (char *)min) <= -min._4_4_) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/messages.c",0x18d,"as_internal_value_out_of_range");\n    }\n    min._0_4_ = (char *)0x5;\n    format = (char *)dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);\n  }\n  else {\n    iVar3 = (int)((ulonglong)(val + 0x3ff) >> 0x20);\n    if ((iVar3 == 0 && (uint)(0x7fe < (uint)(val + 0x3ff)) <= (uint)-iVar3) &&\n       ((iVar3 = line + ((char *)0xfffffc00 < file),\n        iVar3 == 0 && (uint)((char *)0x7fe < file + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = (int)((ulonglong)(min + 0x3ff) >> 0x20),\n        iVar3 == 0 && (uint)(0x7fe < (uint)(min + 0x3ff)) <= (uint)-iVar3)))) {\n      format = (char *)dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(val_buf,"%016llx",file,line,(char *)min,min._4_4_,pcVar2);\n      sprintf(min_buf,"%016llx",(char *)val,val._4_4_);\n      uVar1 = (ulonglong)min >> 0x20;\n      uVar4 = (undefined4)min;\n      min._0_4_ = max_buf;\n      sprintf((char *)min,"%016llx",uVar4,(int)uVar1);\n      format = (char *)dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      file = val_buf;\n      val._0_4_ = min_buf;\n    }\n  }\n  if (bad == 0) {\n    as_warn_where((char *)max,max._4_4_,format,pcVar2,file,(char *)val,(char *)min);\n    return;\n  }\n  as_bad_where((char *)max,max._4_4_,format,pcVar2,file,(char *)val,(char *)min);\n  return;\n}" { (declaration "ulonglong uVar1;" type_identifier identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "char val_buf [26];" primitive_type (array_declarator "val_buf [26]" identifier [ number_literal ]) ;) (declaration "char min_buf [26];" primitive_type (array_declarator "min_buf [26]" identifier [ number_literal ]) ;) (declaration "char max_buf [26];" primitive_type (array_declarator "max_buf [26]" identifier [ number_literal ]) ;) (expression_statement "pcVar2 = "";" (assignment_expression "pcVar2 = """ identifier = (string_literal """" " ")) ;) (if_statement "if (prefix != (char *)0x0) {\n    pcVar2 = prefix;\n  }" if (parenthesized_expression "(prefix != (char *)0x0)" ( (binary_expression "prefix != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar2 = prefix;\n  }" { (expression_statement "pcVar2 = prefix;" (assignment_expression "pcVar2 = prefix" identifier = identifier) ;) })) (if_statement "if (((SBORROW4(line,val._4_4_) != SBORROW4(line - val._4_4_,(uint)(file < (char *)val))) ==\n       (int)((line - val._4_4_) - (uint)(file < (char *)val)) < 0) &&\n     ((SBORROW4(min._4_4_,line) != SBORROW4(min._4_4_ - line,(uint)((char *)min < file))) ==\n      (int)((min._4_4_ - line) - (uint)((char *)min < file)) < 0)) {\n    val._0_4_ = (char *)(-(int)(char *)min & (uint)(char *)min);\n    if ((int)(uint)((char *)0x1 < (char *)min) <= -min._4_4_) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/messages.c",0x18d,"as_internal_value_out_of_range");\n    }\n    min._0_4_ = (char *)0x5;\n    format = (char *)dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);\n  }\n  else {\n    iVar3 = (int)((ulonglong)(val + 0x3ff) >> 0x20);\n    if ((iVar3 == 0 && (uint)(0x7fe < (uint)(val + 0x3ff)) <= (uint)-iVar3) &&\n       ((iVar3 = line + ((char *)0xfffffc00 < file),\n        iVar3 == 0 && (uint)((char *)0x7fe < file + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = (int)((ulonglong)(min + 0x3ff) >> 0x20),\n        iVar3 == 0 && (uint)(0x7fe < (uint)(min + 0x3ff)) <= (uint)-iVar3)))) {\n      format = (char *)dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(val_buf,"%016llx",file,line,(char *)min,min._4_4_,pcVar2);\n      sprintf(min_buf,"%016llx",(char *)val,val._4_4_);\n      uVar1 = (ulonglong)min >> 0x20;\n      uVar4 = (undefined4)min;\n      min._0_4_ = max_buf;\n      sprintf((char *)min,"%016llx",uVar4,(int)uVar1);\n      format = (char *)dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      file = val_buf;\n      val._0_4_ = min_buf;\n    }\n  }" if (parenthesized_expression "(((SBORROW4(line,val._4_4_) != SBORROW4(line - val._4_4_,(uint)(file < (char *)val))) ==\n       (int)((line - val._4_4_) - (uint)(file < (char *)val)) < 0) &&\n     ((SBORROW4(min._4_4_,line) != SBORROW4(min._4_4_ - line,(uint)((char *)min < file))) ==\n      (int)((min._4_4_ - line) - (uint)((char *)min < file)) < 0))" ( (binary_expression "((SBORROW4(line,val._4_4_) != SBORROW4(line - val._4_4_,(uint)(file < (char *)val))) ==\n       (int)((line - val._4_4_) - (uint)(file < (char *)val)) < 0) &&\n     ((SBORROW4(min._4_4_,line) != SBORROW4(min._4_4_ - line,(uint)((char *)min < file))) ==\n      (int)((min._4_4_ - line) - (uint)((char *)min < file)) < 0)" (parenthesized_expression "((SBORROW4(line,val._4_4_) != SBORROW4(line - val._4_4_,(uint)(file < (char *)val))) ==\n       (int)((line - val._4_4_) - (uint)(file < (char *)val)) < 0)" ( (binary_expression "(SBORROW4(line,val._4_4_) != SBORROW4(line - val._4_4_,(uint)(file < (char *)val))) ==\n       (int)((line - val._4_4_) - (uint)(file < (char *)val)) < 0" (parenthesized_expression "(SBORROW4(line,val._4_4_) != SBORROW4(line - val._4_4_,(uint)(file < (char *)val)))" ( (binary_expression "SBORROW4(line,val._4_4_) != SBORROW4(line - val._4_4_,(uint)(file < (char *)val))" (call_expression "SBORROW4(line,val._4_4_)" identifier (argument_list "(line,val._4_4_)" ( identifier , (field_expression "val._4_4_" identifier . field_identifier) ))) != (call_expression "SBORROW4(line - val._4_4_,(uint)(file < (char *)val))" identifier (argument_list "(line - val._4_4_,(uint)(file < (char *)val))" ( (binary_expression "line - val._4_4_" identifier - (field_expression "val._4_4_" identifier . field_identifier)) , (call_expression "(uint)(file < (char *)val)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(file < (char *)val)" ( (binary_expression "file < (char *)val" identifier < (cast_expression "(char *)val" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ))) )))) )) == (binary_expression "(int)((line - val._4_4_) - (uint)(file < (char *)val)) < 0" (cast_expression "(int)((line - val._4_4_) - (uint)(file < (char *)val))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((line - val._4_4_) - (uint)(file < (char *)val))" ( (binary_expression "(line - val._4_4_) - (uint)(file < (char *)val)" (parenthesized_expression "(line - val._4_4_)" ( (binary_expression "line - val._4_4_" identifier - (field_expression "val._4_4_" identifier . field_identifier)) )) - (call_expression "(uint)(file < (char *)val)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(file < (char *)val)" ( (binary_expression "file < (char *)val" identifier < (cast_expression "(char *)val" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) )))) ))) < number_literal)) )) && (parenthesized_expression "((SBORROW4(min._4_4_,line) != SBORROW4(min._4_4_ - line,(uint)((char *)min < file))) ==\n      (int)((min._4_4_ - line) - (uint)((char *)min < file)) < 0)" ( (binary_expression "(SBORROW4(min._4_4_,line) != SBORROW4(min._4_4_ - line,(uint)((char *)min < file))) ==\n      (int)((min._4_4_ - line) - (uint)((char *)min < file)) < 0" (parenthesized_expression "(SBORROW4(min._4_4_,line) != SBORROW4(min._4_4_ - line,(uint)((char *)min < file)))" ( (binary_expression "SBORROW4(min._4_4_,line) != SBORROW4(min._4_4_ - line,(uint)((char *)min < file))" (call_expression "SBORROW4(min._4_4_,line)" identifier (argument_list "(min._4_4_,line)" ( (field_expression "min._4_4_" identifier . field_identifier) , identifier ))) != (call_expression "SBORROW4(min._4_4_ - line,(uint)((char *)min < file))" identifier (argument_list "(min._4_4_ - line,(uint)((char *)min < file))" ( (binary_expression "min._4_4_ - line" (field_expression "min._4_4_" identifier . field_identifier) - identifier) , (call_expression "(uint)((char *)min < file)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((char *)min < file)" ( (binary_expression "(char *)min < file" (cast_expression "(char *)min" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) < identifier) ))) )))) )) == (binary_expression "(int)((min._4_4_ - line) - (uint)((char *)min < file)) < 0" (cast_expression "(int)((min._4_4_ - line) - (uint)((char *)min < file))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((min._4_4_ - line) - (uint)((char *)min < file))" ( (binary_expression "(min._4_4_ - line) - (uint)((char *)min < file)" (parenthesized_expression "(min._4_4_ - line)" ( (binary_expression "min._4_4_ - line" (field_expression "min._4_4_" identifier . field_identifier) - identifier) )) - (call_expression "(uint)((char *)min < file)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((char *)min < file)" ( (binary_expression "(char *)min < file" (cast_expression "(char *)min" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) < identifier) )))) ))) < number_literal)) ))) )) (compound_statement "{\n    val._0_4_ = (char *)(-(int)(char *)min & (uint)(char *)min);\n    if ((int)(uint)((char *)0x1 < (char *)min) <= -min._4_4_) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/messages.c",0x18d,"as_internal_value_out_of_range");\n    }\n    min._0_4_ = (char *)0x5;\n    format = (char *)dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);\n  }" { (expression_statement "val._0_4_ = (char *)(-(int)(char *)min & (uint)(char *)min);" (assignment_expression "val._0_4_ = (char *)(-(int)(char *)min & (uint)(char *)min)" (field_expression "val._0_4_" identifier . field_identifier) = (cast_expression "(char *)(-(int)(char *)min & (uint)(char *)min)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(-(int)(char *)min & (uint)(char *)min)" ( (binary_expression "-(int)(char *)min & (uint)(char *)min" (unary_expression "-(int)(char *)min" - (cast_expression "(int)(char *)min" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char *)min" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) & (cast_expression "(uint)(char *)min" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)min" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )))) ;) (if_statement "if ((int)(uint)((char *)0x1 < (char *)min) <= -min._4_4_) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/messages.c",0x18d,"as_internal_value_out_of_range");\n    }" if (parenthesized_expression "((int)(uint)((char *)0x1 < (char *)min) <= -min._4_4_)" ( (binary_expression "(int)(uint)((char *)0x1 < (char *)min) <= -min._4_4_" (cast_expression "(int)(uint)((char *)0x1 < (char *)min)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((char *)0x1 < (char *)min)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((char *)0x1 < (char *)min)" ( (binary_expression "(char *)0x1 < (char *)min" (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(char *)min" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) )))) <= (unary_expression "-min._4_4_" - (field_expression "min._4_4_" identifier . field_identifier))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/messages.c",0x18d,"as_internal_value_out_of_range");\n    }" { comment (expression_statement "as_abort("../../gas/messages.c",0x18d,"as_internal_value_out_of_range");" (call_expression "as_abort("../../gas/messages.c",0x18d,"as_internal_value_out_of_range")" identifier (argument_list "("../../gas/messages.c",0x18d,"as_internal_value_out_of_range")" ( (string_literal ""../../gas/messages.c"" " string_content ") , number_literal , (string_literal ""as_internal_value_out_of_range"" " string_content ") ))) ;) })) (expression_statement "min._0_4_ = (char *)0x5;" (assignment_expression "min._0_4_ = (char *)0x5" (field_expression "min._0_4_" identifier . field_identifier) = (cast_expression "(char *)0x5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "format = (char *)dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);" (assignment_expression "format = (char *)dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5)" identifier (argument_list "(0,"%s out of domain (%d is not a multiple of %d)",5)" ( number_literal , (string_literal ""%s out of domain (%d is not a multiple of %d)"" " string_content ") , number_literal ))))) ;) }) (else_clause "else {\n    iVar3 = (int)((ulonglong)(val + 0x3ff) >> 0x20);\n    if ((iVar3 == 0 && (uint)(0x7fe < (uint)(val + 0x3ff)) <= (uint)-iVar3) &&\n       ((iVar3 = line + ((char *)0xfffffc00 < file),\n        iVar3 == 0 && (uint)((char *)0x7fe < file + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = (int)((ulonglong)(min + 0x3ff) >> 0x20),\n        iVar3 == 0 && (uint)(0x7fe < (uint)(min + 0x3ff)) <= (uint)-iVar3)))) {\n      format = (char *)dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(val_buf,"%016llx",file,line,(char *)min,min._4_4_,pcVar2);\n      sprintf(min_buf,"%016llx",(char *)val,val._4_4_);\n      uVar1 = (ulonglong)min >> 0x20;\n      uVar4 = (undefined4)min;\n      min._0_4_ = max_buf;\n      sprintf((char *)min,"%016llx",uVar4,(int)uVar1);\n      format = (char *)dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      file = val_buf;\n      val._0_4_ = min_buf;\n    }\n  }" else (compound_statement "{\n    iVar3 = (int)((ulonglong)(val + 0x3ff) >> 0x20);\n    if ((iVar3 == 0 && (uint)(0x7fe < (uint)(val + 0x3ff)) <= (uint)-iVar3) &&\n       ((iVar3 = line + ((char *)0xfffffc00 < file),\n        iVar3 == 0 && (uint)((char *)0x7fe < file + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = (int)((ulonglong)(min + 0x3ff) >> 0x20),\n        iVar3 == 0 && (uint)(0x7fe < (uint)(min + 0x3ff)) <= (uint)-iVar3)))) {\n      format = (char *)dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(val_buf,"%016llx",file,line,(char *)min,min._4_4_,pcVar2);\n      sprintf(min_buf,"%016llx",(char *)val,val._4_4_);\n      uVar1 = (ulonglong)min >> 0x20;\n      uVar4 = (undefined4)min;\n      min._0_4_ = max_buf;\n      sprintf((char *)min,"%016llx",uVar4,(int)uVar1);\n      format = (char *)dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      file = val_buf;\n      val._0_4_ = min_buf;\n    }\n  }" { (expression_statement "iVar3 = (int)((ulonglong)(val + 0x3ff) >> 0x20);" (assignment_expression "iVar3 = (int)((ulonglong)(val + 0x3ff) >> 0x20)" identifier = (cast_expression "(int)((ulonglong)(val + 0x3ff) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(val + 0x3ff) >> 0x20)" ( (binary_expression "(ulonglong)(val + 0x3ff) >> 0x20" (call_expression "(ulonglong)(val + 0x3ff)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(val + 0x3ff)" ( (binary_expression "val + 0x3ff" identifier + number_literal) ))) >> number_literal) )))) ;) (if_statement "if ((iVar3 == 0 && (uint)(0x7fe < (uint)(val + 0x3ff)) <= (uint)-iVar3) &&\n       ((iVar3 = line + ((char *)0xfffffc00 < file),\n        iVar3 == 0 && (uint)((char *)0x7fe < file + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = (int)((ulonglong)(min + 0x3ff) >> 0x20),\n        iVar3 == 0 && (uint)(0x7fe < (uint)(min + 0x3ff)) <= (uint)-iVar3)))) {\n      format = (char *)dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(val_buf,"%016llx",file,line,(char *)min,min._4_4_,pcVar2);\n      sprintf(min_buf,"%016llx",(char *)val,val._4_4_);\n      uVar1 = (ulonglong)min >> 0x20;\n      uVar4 = (undefined4)min;\n      min._0_4_ = max_buf;\n      sprintf((char *)min,"%016llx",uVar4,(int)uVar1);\n      format = (char *)dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      file = val_buf;\n      val._0_4_ = min_buf;\n    }" if (parenthesized_expression "((iVar3 == 0 && (uint)(0x7fe < (uint)(val + 0x3ff)) <= (uint)-iVar3) &&\n       ((iVar3 = line + ((char *)0xfffffc00 < file),\n        iVar3 == 0 && (uint)((char *)0x7fe < file + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = (int)((ulonglong)(min + 0x3ff) >> 0x20),\n        iVar3 == 0 && (uint)(0x7fe < (uint)(min + 0x3ff)) <= (uint)-iVar3))))" ( (binary_expression "(iVar3 == 0 && (uint)(0x7fe < (uint)(val + 0x3ff)) <= (uint)-iVar3) &&\n       ((iVar3 = line + ((char *)0xfffffc00 < file),\n        iVar3 == 0 && (uint)((char *)0x7fe < file + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = (int)((ulonglong)(min + 0x3ff) >> 0x20),\n        iVar3 == 0 && (uint)(0x7fe < (uint)(min + 0x3ff)) <= (uint)-iVar3)))" (parenthesized_expression "(iVar3 == 0 && (uint)(0x7fe < (uint)(val + 0x3ff)) <= (uint)-iVar3)" ( (binary_expression "iVar3 == 0 && (uint)(0x7fe < (uint)(val + 0x3ff)) <= (uint)-iVar3" (binary_expression "iVar3 == 0" identifier == number_literal) && (binary_expression "(uint)(0x7fe < (uint)(val + 0x3ff)) <= (uint)-iVar3" (call_expression "(uint)(0x7fe < (uint)(val + 0x3ff))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x7fe < (uint)(val + 0x3ff))" ( (binary_expression "0x7fe < (uint)(val + 0x3ff)" number_literal < (call_expression "(uint)(val + 0x3ff)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(val + 0x3ff)" ( (binary_expression "val + 0x3ff" identifier + number_literal) )))) ))) <= (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) && (parenthesized_expression "((iVar3 = line + ((char *)0xfffffc00 < file),\n        iVar3 == 0 && (uint)((char *)0x7fe < file + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = (int)((ulonglong)(min + 0x3ff) >> 0x20),\n        iVar3 == 0 && (uint)(0x7fe < (uint)(min + 0x3ff)) <= (uint)-iVar3)))" ( (parenthesized_expression "(iVar3 = line + ((char *)0xfffffc00 < file),\n        iVar3 == 0 && (uint)((char *)0x7fe < file + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = (int)((ulonglong)(min + 0x3ff) >> 0x20),\n        iVar3 == 0 && (uint)(0x7fe < (uint)(min + 0x3ff)) <= (uint)-iVar3))" ( (comma_expression "iVar3 = line + ((char *)0xfffffc00 < file),\n        iVar3 == 0 && (uint)((char *)0x7fe < file + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = (int)((ulonglong)(min + 0x3ff) >> 0x20),\n        iVar3 == 0 && (uint)(0x7fe < (uint)(min + 0x3ff)) <= (uint)-iVar3)" (assignment_expression "iVar3 = line + ((char *)0xfffffc00 < file)" identifier = (binary_expression "line + ((char *)0xfffffc00 < file)" identifier + (parenthesized_expression "((char *)0xfffffc00 < file)" ( (binary_expression "(char *)0xfffffc00 < file" (cast_expression "(char *)0xfffffc00" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )))) , (binary_expression "iVar3 == 0 && (uint)((char *)0x7fe < file + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = (int)((ulonglong)(min + 0x3ff) >> 0x20),\n        iVar3 == 0 && (uint)(0x7fe < (uint)(min + 0x3ff)) <= (uint)-iVar3)" (binary_expression "iVar3 == 0 && (uint)((char *)0x7fe < file + 0x3ff) <= (uint)-iVar3" (binary_expression "iVar3 == 0" identifier == number_literal) && (binary_expression "(uint)((char *)0x7fe < file + 0x3ff) <= (uint)-iVar3" (call_expression "(uint)((char *)0x7fe < file + 0x3ff)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((char *)0x7fe < file + 0x3ff)" ( (binary_expression "(char *)0x7fe < file + 0x3ff" (cast_expression "(char *)0x7fe" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "file + 0x3ff" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" ( identifier )) - identifier))) && (parenthesized_expression "(iVar3 = (int)((ulonglong)(min + 0x3ff) >> 0x20),\n        iVar3 == 0 && (uint)(0x7fe < (uint)(min + 0x3ff)) <= (uint)-iVar3)" ( (comma_expression "iVar3 = (int)((ulonglong)(min + 0x3ff) >> 0x20),\n        iVar3 == 0 && (uint)(0x7fe < (uint)(min + 0x3ff)) <= (uint)-iVar3" (assignment_expression "iVar3 = (int)((ulonglong)(min + 0x3ff) >> 0x20)" identifier = (cast_expression "(int)((ulonglong)(min + 0x3ff) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(min + 0x3ff) >> 0x20)" ( (binary_expression "(ulonglong)(min + 0x3ff) >> 0x20" (call_expression "(ulonglong)(min + 0x3ff)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(min + 0x3ff)" ( (binary_expression "min + 0x3ff" identifier + number_literal) ))) >> number_literal) )))) , (binary_expression "iVar3 == 0 && (uint)(0x7fe < (uint)(min + 0x3ff)) <= (uint)-iVar3" (binary_expression "iVar3 == 0" identifier == number_literal) && (binary_expression "(uint)(0x7fe < (uint)(min + 0x3ff)) <= (uint)-iVar3" (call_expression "(uint)(0x7fe < (uint)(min + 0x3ff))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x7fe < (uint)(min + 0x3ff))" ( (binary_expression "0x7fe < (uint)(min + 0x3ff)" number_literal < (call_expression "(uint)(min + 0x3ff)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(min + 0x3ff)" ( (binary_expression "min + 0x3ff" identifier + number_literal) )))) ))) <= (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" ( identifier )) - identifier)))) )))) )) ))) )) (compound_statement "{\n      format = (char *)dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }" { (expression_statement "format = (char *)dcgettext(0,"%s out of range (%d is not between %d and %d)",5);" (assignment_expression "format = (char *)dcgettext(0,"%s out of range (%d is not between %d and %d)",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s out of range (%d is not between %d and %d)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s out of range (%d is not between %d and %d)",5)" identifier (argument_list "(0,"%s out of range (%d is not between %d and %d)",5)" ( number_literal , (string_literal ""%s out of range (%d is not between %d and %d)"" " string_content ") , number_literal ))))) ;) }) (else_clause "else {\n      sprintf(val_buf,"%016llx",file,line,(char *)min,min._4_4_,pcVar2);\n      sprintf(min_buf,"%016llx",(char *)val,val._4_4_);\n      uVar1 = (ulonglong)min >> 0x20;\n      uVar4 = (undefined4)min;\n      min._0_4_ = max_buf;\n      sprintf((char *)min,"%016llx",uVar4,(int)uVar1);\n      format = (char *)dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      file = val_buf;\n      val._0_4_ = min_buf;\n    }" else (compound_statement "{\n      sprintf(val_buf,"%016llx",file,line,(char *)min,min._4_4_,pcVar2);\n      sprintf(min_buf,"%016llx",(char *)val,val._4_4_);\n      uVar1 = (ulonglong)min >> 0x20;\n      uVar4 = (undefined4)min;\n      min._0_4_ = max_buf;\n      sprintf((char *)min,"%016llx",uVar4,(int)uVar1);\n      format = (char *)dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      file = val_buf;\n      val._0_4_ = min_buf;\n    }" { (expression_statement "sprintf(val_buf,"%016llx",file,line,(char *)min,min._4_4_,pcVar2);" (call_expression "sprintf(val_buf,"%016llx",file,line,(char *)min,min._4_4_,pcVar2)" identifier (argument_list "(val_buf,"%016llx",file,line,(char *)min,min._4_4_,pcVar2)" ( identifier , (string_literal ""%016llx"" " string_content ") , identifier , identifier , (cast_expression "(char *)min" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (field_expression "min._4_4_" identifier . field_identifier) , identifier ))) ;) (expression_statement "sprintf(min_buf,"%016llx",(char *)val,val._4_4_);" (call_expression "sprintf(min_buf,"%016llx",(char *)val,val._4_4_)" identifier (argument_list "(min_buf,"%016llx",(char *)val,val._4_4_)" ( identifier , (string_literal ""%016llx"" " string_content ") , (cast_expression "(char *)val" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (field_expression "val._4_4_" identifier . field_identifier) ))) ;) (expression_statement "uVar1 = (ulonglong)min >> 0x20;" (assignment_expression "uVar1 = (ulonglong)min >> 0x20" identifier = (binary_expression "(ulonglong)min >> 0x20" (cast_expression "(ulonglong)min" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "uVar4 = (undefined4)min;" (assignment_expression "uVar4 = (undefined4)min" identifier = (cast_expression "(undefined4)min" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "min._0_4_ = max_buf;" (assignment_expression "min._0_4_ = max_buf" (field_expression "min._0_4_" identifier . field_identifier) = identifier) ;) (expression_statement "sprintf((char *)min,"%016llx",uVar4,(int)uVar1);" (call_expression "sprintf((char *)min,"%016llx",uVar4,(int)uVar1)" identifier (argument_list "((char *)min,"%016llx",uVar4,(int)uVar1)" ( (cast_expression "(char *)min" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""%016llx"" " string_content ") , identifier , (cast_expression "(int)uVar1" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (expression_statement "format = (char *)dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);" (assignment_expression "format = (char *)dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5)" identifier (argument_list "(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5)" ( number_literal , (string_literal ""%s out of range (0x%s is not between 0x%s and 0x%s)"" " string_content ") , number_literal ))))) ;) (expression_statement "file = val_buf;" (assignment_expression "file = val_buf" identifier = identifier) ;) (expression_statement "val._0_4_ = min_buf;" (assignment_expression "val._0_4_ = min_buf" (field_expression "val._0_4_" identifier . field_identifier) = identifier) ;) }))) }))) (if_statement "if (bad == 0) {\n    as_warn_where((char *)max,max._4_4_,format,pcVar2,file,(char *)val,(char *)min);\n    return;\n  }" if (parenthesized_expression "(bad == 0)" ( (binary_expression "bad == 0" identifier == number_literal) )) (compound_statement "{\n    as_warn_where((char *)max,max._4_4_,format,pcVar2,file,(char *)val,(char *)min);\n    return;\n  }" { (expression_statement "as_warn_where((char *)max,max._4_4_,format,pcVar2,file,(char *)val,(char *)min);" (call_expression "as_warn_where((char *)max,max._4_4_,format,pcVar2,file,(char *)val,(char *)min)" identifier (argument_list "((char *)max,max._4_4_,format,pcVar2,file,(char *)val,(char *)min)" ( (cast_expression "(char *)max" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (field_expression "max._4_4_" identifier . field_identifier) , identifier , identifier , identifier , (cast_expression "(char *)val" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)min" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (return_statement "return;" return ;) })) (expression_statement "as_bad_where((char *)max,max._4_4_,format,pcVar2,file,(char *)val,(char *)min);" (call_expression "as_bad_where((char *)max,max._4_4_,format,pcVar2,file,(char *)val,(char *)min)" identifier (argument_list "((char *)max,max._4_4_,format,pcVar2,file,(char *)val,(char *)min)" ( (cast_expression "(char *)max" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (field_expression "max._4_4_" identifier . field_identifier) , identifier , identifier , identifier , (cast_expression "(char *)val" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)min" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void __regparm3\nFUN_0002bf30(undefined *param_1,char *param_2,int param_3,char *param_4,int param_5,char *param_6,\n            int param_7,undefined4 param_8,undefined4 param_9,int param_10)\n\n{\n  undefined4 uVar1;\n  undefined *puVar2;\n  int iVar3;\n  char *pcVar4;\n  char local_6a [26];\n  char local_50 [26];\n  char local_36 [34];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2bf3b;\n  puVar2 = &DAT_00051b45;\n  if (param_1 != (undefined *)0x0) {\n    puVar2 = param_1;\n  }\n  if (((SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0) &&\n     ((SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0)) {\n    if ((int)(uint)((char *)0x1 < param_6) <= -param_7) {\n                    \n      FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));\n    }\n    pcVar4 = (char *)0x5;\n    uVar1 = dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);\n    param_4 = (char *)(-(int)param_6 & (uint)param_6);\n    param_6 = pcVar4;\n  }\n  else {\n    iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4);\n    if ((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))) {\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }\n  }\n  if (param_10 == 0) {\n    FUN_0002bc80(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);\n    return;\n  }\n  FUN_0002bd40(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);\n  return;\n}\n\n" (function_definition "void __regparm3\nFUN_0002bf30(undefined *param_1,char *param_2,int param_3,char *param_4,int param_5,char *param_6,\n            int param_7,undefined4 param_8,undefined4 param_9,int param_10)\n\n{\n  undefined4 uVar1;\n  undefined *puVar2;\n  int iVar3;\n  char *pcVar4;\n  char local_6a [26];\n  char local_50 [26];\n  char local_36 [34];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2bf3b;\n  puVar2 = &DAT_00051b45;\n  if (param_1 != (undefined *)0x0) {\n    puVar2 = param_1;\n  }\n  if (((SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0) &&\n     ((SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0)) {\n    if ((int)(uint)((char *)0x1 < param_6) <= -param_7) {\n                    \n      FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));\n    }\n    pcVar4 = (char *)0x5;\n    uVar1 = dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);\n    param_4 = (char *)(-(int)param_6 & (uint)param_6);\n    param_6 = pcVar4;\n  }\n  else {\n    iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4);\n    if ((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))) {\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }\n  }\n  if (param_10 == 0) {\n    FUN_0002bc80(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);\n    return;\n  }\n  FUN_0002bd40(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_0002bf30(undefined *param_1,char *param_2,int param_3,char *param_4,int param_5,char *param_6,\n            int param_7,undefined4 param_8,undefined4 param_9,int param_10)" identifier (parameter_list "(undefined *param_1,char *param_2,int param_3,char *param_4,int param_5,char *param_6,\n            int param_7,undefined4 param_8,undefined4 param_9,int param_10)" ( (parameter_declaration "undefined *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "char *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "char *param_6" primitive_type (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "int param_7" primitive_type identifier) , (parameter_declaration "undefined4 param_8" type_identifier identifier) , (parameter_declaration "undefined4 param_9" type_identifier identifier) , (parameter_declaration "int param_10" primitive_type identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  undefined *puVar2;\n  int iVar3;\n  char *pcVar4;\n  char local_6a [26];\n  char local_50 [26];\n  char local_36 [34];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2bf3b;\n  puVar2 = &DAT_00051b45;\n  if (param_1 != (undefined *)0x0) {\n    puVar2 = param_1;\n  }\n  if (((SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0) &&\n     ((SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0)) {\n    if ((int)(uint)((char *)0x1 < param_6) <= -param_7) {\n                    \n      FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));\n    }\n    pcVar4 = (char *)0x5;\n    uVar1 = dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);\n    param_4 = (char *)(-(int)param_6 & (uint)param_6);\n    param_6 = pcVar4;\n  }\n  else {\n    iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4);\n    if ((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))) {\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }\n  }\n  if (param_10 == 0) {\n    FUN_0002bc80(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);\n    return;\n  }\n  FUN_0002bd40(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);\n  return;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "char local_6a [26];" primitive_type (array_declarator "local_6a [26]" identifier [ number_literal ]) ;) (declaration "char local_50 [26];" primitive_type (array_declarator "local_50 [26]" identifier [ number_literal ]) ;) (declaration "char local_36 [34];" primitive_type (array_declarator "local_36 [34]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x2bf3b;" (assignment_expression "uStack_14 = 0x2bf3b" identifier = number_literal) ;) (expression_statement "puVar2 = &DAT_00051b45;" (assignment_expression "puVar2 = &DAT_00051b45" identifier = (pointer_expression "&DAT_00051b45" & identifier)) ;) (if_statement "if (param_1 != (undefined *)0x0) {\n    puVar2 = param_1;\n  }" if (parenthesized_expression "(param_1 != (undefined *)0x0)" ( (binary_expression "param_1 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar2 = param_1;\n  }" { (expression_statement "puVar2 = param_1;" (assignment_expression "puVar2 = param_1" identifier = identifier) ;) })) (if_statement "if (((SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0) &&\n     ((SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0)) {\n    if ((int)(uint)((char *)0x1 < param_6) <= -param_7) {\n                    \n      FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));\n    }\n    pcVar4 = (char *)0x5;\n    uVar1 = dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);\n    param_4 = (char *)(-(int)param_6 & (uint)param_6);\n    param_6 = pcVar4;\n  }\n  else {\n    iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4);\n    if ((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))) {\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }\n  }" if (parenthesized_expression "(((SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0) &&\n     ((SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0))" ( (binary_expression "((SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0) &&\n     ((SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0)" (parenthesized_expression "((SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0)" ( (binary_expression "(SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0" (parenthesized_expression "(SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4)))" ( (binary_expression "SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))" (call_expression "SBORROW4(param_3,param_5)" identifier (argument_list "(param_3,param_5)" ( identifier , identifier ))) != (call_expression "SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))" identifier (argument_list "(param_3 - param_5,(uint)(param_2 < param_4))" ( (binary_expression "param_3 - param_5" identifier - identifier) , (call_expression "(uint)(param_2 < param_4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2 < param_4)" ( (binary_expression "param_2 < param_4" identifier < identifier) ))) )))) )) == (binary_expression "(int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0" (cast_expression "(int)((param_3 - param_5) - (uint)(param_2 < param_4))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((param_3 - param_5) - (uint)(param_2 < param_4))" ( (binary_expression "(param_3 - param_5) - (uint)(param_2 < param_4)" (parenthesized_expression "(param_3 - param_5)" ( (binary_expression "param_3 - param_5" identifier - identifier) )) - (call_expression "(uint)(param_2 < param_4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2 < param_4)" ( (binary_expression "param_2 < param_4" identifier < identifier) )))) ))) < number_literal)) )) && (parenthesized_expression "((SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0)" ( (binary_expression "(SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0" (parenthesized_expression "(SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2)))" ( (binary_expression "SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))" (call_expression "SBORROW4(param_7,param_3)" identifier (argument_list "(param_7,param_3)" ( identifier , identifier ))) != (call_expression "SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))" identifier (argument_list "(param_7 - param_3,(uint)(param_6 < param_2))" ( (binary_expression "param_7 - param_3" identifier - identifier) , (call_expression "(uint)(param_6 < param_2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_6 < param_2)" ( (binary_expression "param_6 < param_2" identifier < identifier) ))) )))) )) == (binary_expression "(int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0" (cast_expression "(int)((param_7 - param_3) - (uint)(param_6 < param_2))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((param_7 - param_3) - (uint)(param_6 < param_2))" ( (binary_expression "(param_7 - param_3) - (uint)(param_6 < param_2)" (parenthesized_expression "(param_7 - param_3)" ( (binary_expression "param_7 - param_3" identifier - identifier) )) - (call_expression "(uint)(param_6 < param_2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_6 < param_2)" ( (binary_expression "param_6 < param_2" identifier < identifier) )))) ))) < number_literal)) ))) )) (compound_statement "{\n    if ((int)(uint)((char *)0x1 < param_6) <= -param_7) {\n                    \n      FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));\n    }\n    pcVar4 = (char *)0x5;\n    uVar1 = dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);\n    param_4 = (char *)(-(int)param_6 & (uint)param_6);\n    param_6 = pcVar4;\n  }" { (if_statement "if ((int)(uint)((char *)0x1 < param_6) <= -param_7) {\n                    \n      FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));\n    }" if (parenthesized_expression "((int)(uint)((char *)0x1 < param_6) <= -param_7)" ( (binary_expression "(int)(uint)((char *)0x1 < param_6) <= -param_7" (cast_expression "(int)(uint)((char *)0x1 < param_6)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((char *)0x1 < param_6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((char *)0x1 < param_6)" ( (binary_expression "(char *)0x1 < param_6" (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )))) <= (unary_expression "-param_7" - identifier)) )) (compound_statement "{\n                    \n      FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));\n    }" { (expression_statement "FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));" (call_expression "FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6))" identifier (argument_list "("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6))" ( (string_literal ""../../gas/messages.c"" " string_content ") , number_literal , (string_literal ""as_internal_value_out_of_range"" " string_content ") , (cast_expression "(char *)(-(int)param_6 & (uint)param_6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(-(int)param_6 & (uint)param_6)" ( (binary_expression "-(int)param_6 & (uint)param_6" (unary_expression "-(int)param_6" - (cast_expression "(int)param_6" ( (type_descriptor "int" primitive_type) ) identifier)) & (cast_expression "(uint)param_6" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ))) ;) })) (expression_statement "pcVar4 = (char *)0x5;" (assignment_expression "pcVar4 = (char *)0x5" identifier = (cast_expression "(char *)0x5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar1 = dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);" (assignment_expression "uVar1 = dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5)" identifier = (call_expression "dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5)" identifier (argument_list "(0,"%s out of domain (%d is not a multiple of %d)",5)" ( number_literal , (string_literal ""%s out of domain (%d is not a multiple of %d)"" " string_content ") , number_literal )))) ;) (expression_statement "param_4 = (char *)(-(int)param_6 & (uint)param_6);" (assignment_expression "param_4 = (char *)(-(int)param_6 & (uint)param_6)" identifier = (cast_expression "(char *)(-(int)param_6 & (uint)param_6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(-(int)param_6 & (uint)param_6)" ( (binary_expression "-(int)param_6 & (uint)param_6" (unary_expression "-(int)param_6" - (cast_expression "(int)param_6" ( (type_descriptor "int" primitive_type) ) identifier)) & (cast_expression "(uint)param_6" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "param_6 = pcVar4;" (assignment_expression "param_6 = pcVar4" identifier = identifier) ;) }) (else_clause "else {\n    iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4);\n    if ((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))) {\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }\n  }" else (compound_statement "{\n    iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4);\n    if ((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))) {\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }\n  }" { (expression_statement "iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4);" (assignment_expression "iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4)" identifier = (binary_expression "param_5 + (uint)((char *)0xfffffc00 < param_4)" identifier + (call_expression "(uint)((char *)0xfffffc00 < param_4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((char *)0xfffffc00 < param_4)" ( (binary_expression "(char *)0xfffffc00 < param_4" (cast_expression "(char *)0xfffffc00" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) ))))) ;) (if_statement "if ((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))) {\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }" if (parenthesized_expression "((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3))))" ( (binary_expression "(iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))" (parenthesized_expression "(iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3)" ( (binary_expression "iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3" (binary_expression "iVar3 == 0" identifier == number_literal) && (binary_expression "(uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3" (call_expression "(uint)((char *)0x7fe < param_4 + 0x3ff)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((char *)0x7fe < param_4 + 0x3ff)" ( (binary_expression "(char *)0x7fe < param_4 + 0x3ff" (cast_expression "(char *)0x7fe" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "param_4 + 0x3ff" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) && (parenthesized_expression "((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))" ( (parenthesized_expression "(iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3))" ( (comma_expression "iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)" (assignment_expression "iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2)" identifier = (binary_expression "param_3 + (uint)((char *)0xfffffc00 < param_2)" identifier + (call_expression "(uint)((char *)0xfffffc00 < param_2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((char *)0xfffffc00 < param_2)" ( (binary_expression "(char *)0xfffffc00 < param_2" (cast_expression "(char *)0xfffffc00" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) ))))) , (binary_expression "iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)" (binary_expression "iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3" (binary_expression "iVar3 == 0" identifier == number_literal) && (binary_expression "(uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3" (call_expression "(uint)((char *)0x7fe < param_2 + 0x3ff)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((char *)0x7fe < param_2 + 0x3ff)" ( (binary_expression "(char *)0x7fe < param_2 + 0x3ff" (cast_expression "(char *)0x7fe" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "param_2 + 0x3ff" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" ( identifier )) - identifier))) && (parenthesized_expression "(iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)" ( (comma_expression "iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3" (assignment_expression "iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6)" identifier = (binary_expression "param_7 + (uint)((char *)0xfffffc00 < param_6)" identifier + (call_expression "(uint)((char *)0xfffffc00 < param_6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((char *)0xfffffc00 < param_6)" ( (binary_expression "(char *)0xfffffc00 < param_6" (cast_expression "(char *)0xfffffc00" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) ))))) , (binary_expression "iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3" (binary_expression "iVar3 == 0" identifier == number_literal) && (binary_expression "(uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3" (call_expression "(uint)((char *)0x7fe < param_6 + 0x3ff)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((char *)0x7fe < param_6 + 0x3ff)" ( (binary_expression "(char *)0x7fe < param_6 + 0x3ff" (cast_expression "(char *)0x7fe" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "param_6 + 0x3ff" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" ( identifier )) - identifier)))) )))) )) ))) )) (compound_statement "{\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }" { (expression_statement "uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);" (assignment_expression "uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5)" identifier = (call_expression "dcgettext(0,"%s out of range (%d is not between %d and %d)",5)" identifier (argument_list "(0,"%s out of range (%d is not between %d and %d)",5)" ( number_literal , (string_literal ""%s out of range (%d is not between %d and %d)"" " string_content ") , number_literal )))) ;) }) (else_clause "else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }" else (compound_statement "{\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }" { (expression_statement "sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);" (call_expression "sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2)" identifier (argument_list "(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2)" ( identifier , (string_literal ""%016llx"" " string_content ") , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "sprintf(local_50,"%016llx",param_4,param_5);" (call_expression "sprintf(local_50,"%016llx",param_4,param_5)" identifier (argument_list "(local_50,"%016llx",param_4,param_5)" ( identifier , (string_literal ""%016llx"" " string_content ") , identifier , identifier ))) ;) (expression_statement "sprintf(local_36,"%016llx",param_6,param_7);" (call_expression "sprintf(local_36,"%016llx",param_6,param_7)" identifier (argument_list "(local_36,"%016llx",param_6,param_7)" ( identifier , (string_literal ""%016llx"" " string_content ") , identifier , identifier ))) ;) (expression_statement "uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);" (assignment_expression "uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5)" identifier = (call_expression "dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5)" identifier (argument_list "(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5)" ( number_literal , (string_literal ""%s out of range (0x%s is not between 0x%s and 0x%s)"" " string_content ") , number_literal )))) ;) (expression_statement "param_2 = local_6a;" (assignment_expression "param_2 = local_6a" identifier = identifier) ;) (expression_statement "param_4 = local_50;" (assignment_expression "param_4 = local_50" identifier = identifier) ;) (expression_statement "param_6 = local_36;" (assignment_expression "param_6 = local_36" identifier = identifier) ;) }))) }))) (if_statement "if (param_10 == 0) {\n    FUN_0002bc80(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);\n    return;\n  }" if (parenthesized_expression "(param_10 == 0)" ( (binary_expression "param_10 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_0002bc80(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);\n    return;\n  }" { (expression_statement "FUN_0002bc80(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);" (call_expression "FUN_0002bc80(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6)" identifier (argument_list "(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_0002bd40(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);" (call_expression "FUN_0002bd40(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6)" identifier (argument_list "(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( IDENT , IDENT ))) != (call_expression IDENT (argument_list ( (binary_expression IDENT - IDENT) , (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) )))) )) == (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) ))) < LIT)) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( IDENT , IDENT ))) != (call_expression IDENT (argument_list ( (binary_expression IDENT - IDENT) , (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) )))) )) == (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) ))) < LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) )))) <= (unary_expression - IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)) & (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)) & (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (binary_expression IDENT + LIT)) ))) <= (binary_expression (parenthesized_expression ( IDENT )) - IDENT))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) ))))) , (binary_expression (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (binary_expression IDENT + LIT)) ))) <= (binary_expression (parenthesized_expression ( IDENT )) - IDENT))) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) ))))) , (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (binary_expression IDENT + LIT)) ))) <= (binary_expression (parenthesized_expression ( IDENT )) - IDENT)))) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return ;) })))
(function_definition "void __regparm3\nFUN_0002bf30(undefined *param_1,char *param_2,int param_3,char *param_4,int param_5,char *param_6,\n            int param_7,undefined4 param_8,undefined4 param_9,int param_10)\n\n{\n  undefined4 uVar1;\n  undefined *puVar2;\n  int iVar3;\n  char *pcVar4;\n  char local_6a [26];\n  char local_50 [26];\n  char local_36 [34];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2bf3b;\n  puVar2 = &DAT_00051b45;\n  if (param_1 != (undefined *)0x0) {\n    puVar2 = param_1;\n  }\n  if (((SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0) &&\n     ((SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0)) {\n    if ((int)(uint)((char *)0x1 < param_6) <= -param_7) {\n                    \n      FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));\n    }\n    pcVar4 = (char *)0x5;\n    uVar1 = dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);\n    param_4 = (char *)(-(int)param_6 & (uint)param_6);\n    param_6 = pcVar4;\n  }\n  else {\n    iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4);\n    if ((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))) {\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }\n  }\n  if (param_10 == 0) {\n    FUN_0002bc80(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);\n    return;\n  }\n  FUN_0002bd40(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);\n  return;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_0002bf30(undefined *param_1,char *param_2,int param_3,char *param_4,int param_5,char *param_6,\n            int param_7,undefined4 param_8,undefined4 param_9,int param_10)" (identifier "FUN_0002bf30") (parameter_list "(undefined *param_1,char *param_2,int param_3,char *param_4,int param_5,char *param_6,\n            int param_7,undefined4 param_8,undefined4 param_9,int param_10)" (( "(") (parameter_declaration "undefined *param_1" (type_identifier "undefined") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "char *param_2" (primitive_type "char") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "char *param_4" (primitive_type "char") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "int param_5" (primitive_type "int") (identifier "param_5")) (, ",") (parameter_declaration "char *param_6" (primitive_type "char") (pointer_declarator "*param_6" (* "*") (identifier "param_6"))) (, ",") (parameter_declaration "int param_7" (primitive_type "int") (identifier "param_7")) (, ",") (parameter_declaration "undefined4 param_8" (type_identifier "undefined4") (identifier "param_8")) (, ",") (parameter_declaration "undefined4 param_9" (type_identifier "undefined4") (identifier "param_9")) (, ",") (parameter_declaration "int param_10" (primitive_type "int") (identifier "param_10")) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  undefined *puVar2;\n  int iVar3;\n  char *pcVar4;\n  char local_6a [26];\n  char local_50 [26];\n  char local_36 [34];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2bf3b;\n  puVar2 = &DAT_00051b45;\n  if (param_1 != (undefined *)0x0) {\n    puVar2 = param_1;\n  }\n  if (((SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0) &&\n     ((SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0)) {\n    if ((int)(uint)((char *)0x1 < param_6) <= -param_7) {\n                    \n      FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));\n    }\n    pcVar4 = (char *)0x5;\n    uVar1 = dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);\n    param_4 = (char *)(-(int)param_6 & (uint)param_6);\n    param_6 = pcVar4;\n  }\n  else {\n    iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4);\n    if ((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))) {\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }\n  }\n  if (param_10 == 0) {\n    FUN_0002bc80(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);\n    return;\n  }\n  FUN_0002bd40(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);\n  return;\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "char local_6a [26];" (primitive_type "char") (array_declarator "local_6a [26]" (identifier "local_6a") ([ "[") (number_literal "26") (] "]")) (; ";")) (declaration "char local_50 [26];" (primitive_type "char") (array_declarator "local_50 [26]" (identifier "local_50") ([ "[") (number_literal "26") (] "]")) (; ";")) (declaration "char local_36 [34];" (primitive_type "char") (array_declarator "local_36 [34]" (identifier "local_36") ([ "[") (number_literal "34") (] "]")) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x2bf3b;" (assignment_expression "uStack_14 = 0x2bf3b" (identifier "uStack_14") (= "=") (number_literal "0x2bf3b")) (; ";")) (expression_statement "puVar2 = &DAT_00051b45;" (assignment_expression "puVar2 = &DAT_00051b45" (identifier "puVar2") (= "=") (pointer_expression "&DAT_00051b45" (& "&") (identifier "DAT_00051b45"))) (; ";")) (if_statement "if (param_1 != (undefined *)0x0) {\n    puVar2 = param_1;\n  }" (if "if") (parenthesized_expression "(param_1 != (undefined *)0x0)" (( "(") (binary_expression "param_1 != (undefined *)0x0" (identifier "param_1") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar2 = param_1;\n  }" ({ "{") (expression_statement "puVar2 = param_1;" (assignment_expression "puVar2 = param_1" (identifier "puVar2") (= "=") (identifier "param_1")) (; ";")) (} "}"))) (if_statement "if (((SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0) &&\n     ((SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0)) {\n    if ((int)(uint)((char *)0x1 < param_6) <= -param_7) {\n                    \n      FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));\n    }\n    pcVar4 = (char *)0x5;\n    uVar1 = dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);\n    param_4 = (char *)(-(int)param_6 & (uint)param_6);\n    param_6 = pcVar4;\n  }\n  else {\n    iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4);\n    if ((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))) {\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }\n  }" (if "if") (parenthesized_expression "(((SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0) &&\n     ((SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0))" (( "(") (binary_expression "((SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0) &&\n     ((SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0)" (parenthesized_expression "((SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0)" (( "(") (binary_expression "(SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==\n       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0" (parenthesized_expression "(SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4)))" (( "(") (binary_expression "SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))" (call_expression "SBORROW4(param_3,param_5)" (identifier "SBORROW4") (argument_list "(param_3,param_5)" (( "(") (identifier "param_3") (, ",") (identifier "param_5") () ")"))) (!= "!=") (call_expression "SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))" (identifier "SBORROW4") (argument_list "(param_3 - param_5,(uint)(param_2 < param_4))" (( "(") (binary_expression "param_3 - param_5" (identifier "param_3") (- "-") (identifier "param_5")) (, ",") (call_expression "(uint)(param_2 < param_4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_2 < param_4)" (( "(") (binary_expression "param_2 < param_4" (identifier "param_2") (< "<") (identifier "param_4")) () ")"))) () ")")))) () ")")) (== "==") (binary_expression "(int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0" (cast_expression "(int)((param_3 - param_5) - (uint)(param_2 < param_4))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((param_3 - param_5) - (uint)(param_2 < param_4))" (( "(") (binary_expression "(param_3 - param_5) - (uint)(param_2 < param_4)" (parenthesized_expression "(param_3 - param_5)" (( "(") (binary_expression "param_3 - param_5" (identifier "param_3") (- "-") (identifier "param_5")) () ")")) (- "-") (call_expression "(uint)(param_2 < param_4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_2 < param_4)" (( "(") (binary_expression "param_2 < param_4" (identifier "param_2") (< "<") (identifier "param_4")) () ")")))) () ")"))) (< "<") (number_literal "0"))) () ")")) (&& "&&") (parenthesized_expression "((SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0)" (( "(") (binary_expression "(SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==\n      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0" (parenthesized_expression "(SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2)))" (( "(") (binary_expression "SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))" (call_expression "SBORROW4(param_7,param_3)" (identifier "SBORROW4") (argument_list "(param_7,param_3)" (( "(") (identifier "param_7") (, ",") (identifier "param_3") () ")"))) (!= "!=") (call_expression "SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))" (identifier "SBORROW4") (argument_list "(param_7 - param_3,(uint)(param_6 < param_2))" (( "(") (binary_expression "param_7 - param_3" (identifier "param_7") (- "-") (identifier "param_3")) (, ",") (call_expression "(uint)(param_6 < param_2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_6 < param_2)" (( "(") (binary_expression "param_6 < param_2" (identifier "param_6") (< "<") (identifier "param_2")) () ")"))) () ")")))) () ")")) (== "==") (binary_expression "(int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0" (cast_expression "(int)((param_7 - param_3) - (uint)(param_6 < param_2))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((param_7 - param_3) - (uint)(param_6 < param_2))" (( "(") (binary_expression "(param_7 - param_3) - (uint)(param_6 < param_2)" (parenthesized_expression "(param_7 - param_3)" (( "(") (binary_expression "param_7 - param_3" (identifier "param_7") (- "-") (identifier "param_3")) () ")")) (- "-") (call_expression "(uint)(param_6 < param_2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_6 < param_2)" (( "(") (binary_expression "param_6 < param_2" (identifier "param_6") (< "<") (identifier "param_2")) () ")")))) () ")"))) (< "<") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    if ((int)(uint)((char *)0x1 < param_6) <= -param_7) {\n                    \n      FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));\n    }\n    pcVar4 = (char *)0x5;\n    uVar1 = dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);\n    param_4 = (char *)(-(int)param_6 & (uint)param_6);\n    param_6 = pcVar4;\n  }" ({ "{") (if_statement "if ((int)(uint)((char *)0x1 < param_6) <= -param_7) {\n                    \n      FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));\n    }" (if "if") (parenthesized_expression "((int)(uint)((char *)0x1 < param_6) <= -param_7)" (( "(") (binary_expression "(int)(uint)((char *)0x1 < param_6) <= -param_7" (cast_expression "(int)(uint)((char *)0x1 < param_6)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)((char *)0x1 < param_6)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((char *)0x1 < param_6)" (( "(") (binary_expression "(char *)0x1 < param_6" (cast_expression "(char *)0x1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (< "<") (identifier "param_6")) () ")")))) (<= "<=") (unary_expression "-param_7" (- "-") (identifier "param_7"))) () ")")) (compound_statement "{\n                    \n      FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));\n    }" ({ "{") (expression_statement "FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6));" (call_expression "FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6))" (identifier "FUN_0002be10") (argument_list "("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",\n                   (char *)(-(int)param_6 & (uint)param_6))" (( "(") (string_literal ""../../gas/messages.c"" (" """) (string_content "../../gas/messages.c") (" """)) (, ",") (number_literal "0x18d") (, ",") (string_literal ""as_internal_value_out_of_range"" (" """) (string_content "as_internal_value_out_of_range") (" """)) (, ",") (cast_expression "(char *)(-(int)param_6 & (uint)param_6)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(-(int)param_6 & (uint)param_6)" (( "(") (binary_expression "-(int)param_6 & (uint)param_6" (unary_expression "-(int)param_6" (- "-") (cast_expression "(int)param_6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_6"))) (& "&") (cast_expression "(uint)param_6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_6"))) () ")"))) () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar4 = (char *)0x5;" (assignment_expression "pcVar4 = (char *)0x5" (identifier "pcVar4") (= "=") (cast_expression "(char *)0x5" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x5"))) (; ";")) (expression_statement "uVar1 = dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);" (assignment_expression "uVar1 = dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5)" (identifier "uVar1") (= "=") (call_expression "dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5)" (identifier "dcgettext") (argument_list "(0,"%s out of domain (%d is not a multiple of %d)",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s out of domain (%d is not a multiple of %d)"" (" """) (string_content "%s out of domain (%d is not a multiple of %d)") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "param_4 = (char *)(-(int)param_6 & (uint)param_6);" (assignment_expression "param_4 = (char *)(-(int)param_6 & (uint)param_6)" (identifier "param_4") (= "=") (cast_expression "(char *)(-(int)param_6 & (uint)param_6)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(-(int)param_6 & (uint)param_6)" (( "(") (binary_expression "-(int)param_6 & (uint)param_6" (unary_expression "-(int)param_6" (- "-") (cast_expression "(int)param_6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_6"))) (& "&") (cast_expression "(uint)param_6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_6"))) () ")")))) (; ";")) (expression_statement "param_6 = pcVar4;" (assignment_expression "param_6 = pcVar4" (identifier "param_6") (= "=") (identifier "pcVar4")) (; ";")) (} "}")) (else_clause "else {\n    iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4);\n    if ((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))) {\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }\n  }" (else "else") (compound_statement "{\n    iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4);\n    if ((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))) {\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }\n  }" ({ "{") (expression_statement "iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4);" (assignment_expression "iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4)" (identifier "iVar3") (= "=") (binary_expression "param_5 + (uint)((char *)0xfffffc00 < param_4)" (identifier "param_5") (+ "+") (call_expression "(uint)((char *)0xfffffc00 < param_4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((char *)0xfffffc00 < param_4)" (( "(") (binary_expression "(char *)0xfffffc00 < param_4" (cast_expression "(char *)0xfffffc00" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfffffc00")) (< "<") (identifier "param_4")) () ")"))))) (; ";")) (if_statement "if ((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))) {\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }\n    else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }" (if "if") (parenthesized_expression "((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3))))" (( "(") (binary_expression "(iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&\n       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))" (parenthesized_expression "(iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3)" (( "(") (binary_expression "iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3" (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3" (call_expression "(uint)((char *)0x7fe < param_4 + 0x3ff)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((char *)0x7fe < param_4 + 0x3ff)" (( "(") (binary_expression "(char *)0x7fe < param_4 + 0x3ff" (cast_expression "(char *)0x7fe" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x7fe")) (< "<") (binary_expression "param_4 + 0x3ff" (identifier "param_4") (+ "+") (number_literal "0x3ff"))) () ")"))) (<= "<=") (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "iVar3")))) () ")")) (&& "&&") (parenthesized_expression "((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))" (( "(") (parenthesized_expression "(iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3))" (( "(") (comma_expression "iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)" (assignment_expression "iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2)" (identifier "iVar3") (= "=") (binary_expression "param_3 + (uint)((char *)0xfffffc00 < param_2)" (identifier "param_3") (+ "+") (call_expression "(uint)((char *)0xfffffc00 < param_2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((char *)0xfffffc00 < param_2)" (( "(") (binary_expression "(char *)0xfffffc00 < param_2" (cast_expression "(char *)0xfffffc00" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfffffc00")) (< "<") (identifier "param_2")) () ")"))))) (, ",") (binary_expression "iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&\n        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)" (binary_expression "iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3" (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3" (call_expression "(uint)((char *)0x7fe < param_2 + 0x3ff)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((char *)0x7fe < param_2 + 0x3ff)" (( "(") (binary_expression "(char *)0x7fe < param_2 + 0x3ff" (cast_expression "(char *)0x7fe" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x7fe")) (< "<") (binary_expression "param_2 + 0x3ff" (identifier "param_2") (+ "+") (number_literal "0x3ff"))) () ")"))) (<= "<=") (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "iVar3")))) (&& "&&") (parenthesized_expression "(iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)" (( "(") (comma_expression "iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),\n        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3" (assignment_expression "iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6)" (identifier "iVar3") (= "=") (binary_expression "param_7 + (uint)((char *)0xfffffc00 < param_6)" (identifier "param_7") (+ "+") (call_expression "(uint)((char *)0xfffffc00 < param_6)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((char *)0xfffffc00 < param_6)" (( "(") (binary_expression "(char *)0xfffffc00 < param_6" (cast_expression "(char *)0xfffffc00" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfffffc00")) (< "<") (identifier "param_6")) () ")"))))) (, ",") (binary_expression "iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3" (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3" (call_expression "(uint)((char *)0x7fe < param_6 + 0x3ff)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((char *)0x7fe < param_6 + 0x3ff)" (( "(") (binary_expression "(char *)0x7fe < param_6 + 0x3ff" (cast_expression "(char *)0x7fe" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x7fe")) (< "<") (binary_expression "param_6 + 0x3ff" (identifier "param_6") (+ "+") (number_literal "0x3ff"))) () ")"))) (<= "<=") (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "iVar3"))))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);\n    }" ({ "{") (expression_statement "uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);" (assignment_expression "uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5)" (identifier "uVar1") (= "=") (call_expression "dcgettext(0,"%s out of range (%d is not between %d and %d)",5)" (identifier "dcgettext") (argument_list "(0,"%s out of range (%d is not between %d and %d)",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s out of range (%d is not between %d and %d)"" (" """) (string_content "%s out of range (%d is not between %d and %d)") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }" (else "else") (compound_statement "{\n      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);\n      sprintf(local_50,"%016llx",param_4,param_5);\n      sprintf(local_36,"%016llx",param_6,param_7);\n      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);\n      param_2 = local_6a;\n      param_4 = local_50;\n      param_6 = local_36;\n    }" ({ "{") (expression_statement "sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);" (call_expression "sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2)" (identifier "sprintf") (argument_list "(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2)" (( "(") (identifier "local_6a") (, ",") (string_literal ""%016llx"" (" """) (string_content "%016llx") (" """)) (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "param_6") (, ",") (identifier "param_7") (, ",") (identifier "puVar2") () ")"))) (; ";")) (expression_statement "sprintf(local_50,"%016llx",param_4,param_5);" (call_expression "sprintf(local_50,"%016llx",param_4,param_5)" (identifier "sprintf") (argument_list "(local_50,"%016llx",param_4,param_5)" (( "(") (identifier "local_50") (, ",") (string_literal ""%016llx"" (" """) (string_content "%016llx") (" """)) (, ",") (identifier "param_4") (, ",") (identifier "param_5") () ")"))) (; ";")) (expression_statement "sprintf(local_36,"%016llx",param_6,param_7);" (call_expression "sprintf(local_36,"%016llx",param_6,param_7)" (identifier "sprintf") (argument_list "(local_36,"%016llx",param_6,param_7)" (( "(") (identifier "local_36") (, ",") (string_literal ""%016llx"" (" """) (string_content "%016llx") (" """)) (, ",") (identifier "param_6") (, ",") (identifier "param_7") () ")"))) (; ";")) (expression_statement "uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);" (assignment_expression "uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5)" (identifier "uVar1") (= "=") (call_expression "dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5)" (identifier "dcgettext") (argument_list "(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s out of range (0x%s is not between 0x%s and 0x%s)"" (" """) (string_content "%s out of range (0x%s is not between 0x%s and 0x%s)") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "param_2 = local_6a;" (assignment_expression "param_2 = local_6a" (identifier "param_2") (= "=") (identifier "local_6a")) (; ";")) (expression_statement "param_4 = local_50;" (assignment_expression "param_4 = local_50" (identifier "param_4") (= "=") (identifier "local_50")) (; ";")) (expression_statement "param_6 = local_36;" (assignment_expression "param_6 = local_36" (identifier "param_6") (= "=") (identifier "local_36")) (; ";")) (} "}")))) (} "}")))) (if_statement "if (param_10 == 0) {\n    FUN_0002bc80(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);\n    return;\n  }" (if "if") (parenthesized_expression "(param_10 == 0)" (( "(") (binary_expression "param_10 == 0" (identifier "param_10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_0002bc80(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);\n    return;\n  }" ({ "{") (expression_statement "FUN_0002bc80(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);" (call_expression "FUN_0002bc80(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6)" (identifier "FUN_0002bc80") (argument_list "(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6)" (( "(") (identifier "param_8") (, ",") (identifier "param_9") (, ",") (identifier "uVar1") (, ",") (identifier "puVar2") (, ",") (identifier "param_2") (, ",") (identifier "param_4") (, ",") (identifier "param_6") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_0002bd40(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);" (call_expression "FUN_0002bd40(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6)" (identifier "FUN_0002bd40") (argument_list "(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6)" (( "(") (identifier "param_8") (, ",") (identifier "param_9") (, ",") (identifier "uVar1") (, ",") (identifier "puVar2") (, ",") (identifier "param_2") (, ",") (identifier "param_4") (, ",") (identifier "param_6") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void __regparm3
function_1
          (char *var_1,type_1 var_7,type_1 var_9,type_1 max,char *var_4,type_2 var_3,int var_11)

{
  type_3 uVar1;
  char *format;
  char *pcVar2;
  int var_8;
  type_4 uVar4;
  char val_buf [26];
  char min_buf [26];
  char max_buf [26];
  
  pcVar2 = "";
  if (var_1 != (char *)0x0) {
    pcVar2 = var_1;
  }
  if (((var_2(var_3,var_7._4_4_) != var_2(var_3 - var_7._4_4_,(type_2)(var_4 < (char *)var_7))) ==
       (int)((var_3 - var_7._4_4_) - (type_2)(var_4 < (char *)var_7)) < 0) &&
     ((var_2(var_9._4_4_,var_3) != var_2(var_9._4_4_ - var_3,(type_2)((char *)var_9 < var_4))) ==
      (int)((var_9._4_4_ - var_3) - (type_2)((char *)var_9 < var_4)) < 0)) {
    var_7._0_4_ = (char *)(-(int)(char *)var_9 & (type_2)(char *)var_9);
    if ((int)(type_2)((char *)0x1 < (char *)var_9) <= -var_9._4_4_) {
                    /* WARNING: Subroutine does not return */
      var_5("../../gas/messages.c",0x18d,"as_internal_value_out_of_range");
    }
    var_9._0_4_ = (char *)0x5;
    format = (char *)var_6(0,"%s out of domain (%d is not a multiple of %d)",5);
  }
  else {
    var_8 = (int)((type_3)(var_7 + 0x3ff) >> 0x20);
    if ((var_8 == 0 && (type_2)(0x7fe < (type_2)(var_7 + 0x3ff)) <= (type_2)-var_8) &&
       ((var_8 = var_3 + ((char *)0xfffffc00 < var_4),
        var_8 == 0 && (type_2)((char *)0x7fe < var_4 + 0x3ff) <= (type_2)-var_8 &&
        (var_8 = (int)((type_3)(var_9 + 0x3ff) >> 0x20),
        var_8 == 0 && (type_2)(0x7fe < (type_2)(var_9 + 0x3ff)) <= (type_2)-var_8)))) {
      format = (char *)var_6(0,"%s out of range (%d is not between %d and %d)",5);
    }
    else {
      var_10(val_buf,"%016llx",var_4,var_3,(char *)var_9,var_9._4_4_,pcVar2);
      var_10(min_buf,"%016llx",(char *)var_7,var_7._4_4_);
      uVar1 = (type_3)var_9 >> 0x20;
      uVar4 = (type_4)var_9;
      var_9._0_4_ = max_buf;
      var_10((char *)var_9,"%016llx",uVar4,(int)uVar1);
      format = (char *)var_6(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);
      var_4 = val_buf;
      var_7._0_4_ = min_buf;
    }
  }
  if (var_11 == 0) {
    var_12((char *)max,max._4_4_,format,pcVar2,var_4,(char *)var_7,(char *)var_9);
    return;
  }
  var_13((char *)max,max._4_4_,format,pcVar2,var_4,(char *)var_7,(char *)var_9);
  return;
}


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

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

void __regparm3
MASKED(undefined *param_1,char *param_2,int param_3,char *param_4,int param_5,char *param_6,
            int param_7,undefined4 param_8,undefined4 param_9,int param_10)

{
  undefined4 uVar1;
  undefined *puVar2;
  int iVar3;
  char *pcVar4;
  char local_6a [26];
  char local_50 [26];
  char local_36 [34];
  undefined4 uStack_14;
  
  uStack_14 = 0x2bf3b;
  puVar2 = &DAT_00051b45;
  if (param_1 != (undefined *)0x0) {
    puVar2 = param_1;
  }
  if (((SBORROW4(param_3,param_5) != SBORROW4(param_3 - param_5,(uint)(param_2 < param_4))) ==
       (int)((param_3 - param_5) - (uint)(param_2 < param_4)) < 0) &&
     ((SBORROW4(param_7,param_3) != SBORROW4(param_7 - param_3,(uint)(param_6 < param_2))) ==
      (int)((param_7 - param_3) - (uint)(param_6 < param_2)) < 0)) {
    if ((int)(uint)((char *)0x1 < param_6) <= -param_7) {
                    /* WARNING: Subroutine does not return */
      FUN_0002be10("../../gas/messages.c",0x18d,"as_internal_value_out_of_range",
                   (char *)(-(int)param_6 & (uint)param_6));
    }
    pcVar4 = (char *)0x5;
    uVar1 = dcgettext(0,"%s out of domain (%d is not a multiple of %d)",5);
    param_4 = (char *)(-(int)param_6 & (uint)param_6);
    param_6 = pcVar4;
  }
  else {
    iVar3 = param_5 + (uint)((char *)0xfffffc00 < param_4);
    if ((iVar3 == 0 && (uint)((char *)0x7fe < param_4 + 0x3ff) <= (uint)-iVar3) &&
       ((iVar3 = param_3 + (uint)((char *)0xfffffc00 < param_2),
        iVar3 == 0 && (uint)((char *)0x7fe < param_2 + 0x3ff) <= (uint)-iVar3 &&
        (iVar3 = param_7 + (uint)((char *)0xfffffc00 < param_6),
        iVar3 == 0 && (uint)((char *)0x7fe < param_6 + 0x3ff) <= (uint)-iVar3)))) {
      uVar1 = dcgettext(0,"%s out of range (%d is not between %d and %d)",5);
    }
    else {
      sprintf(local_6a,"%016llx",param_2,param_3,param_6,param_7,puVar2);
      sprintf(local_50,"%016llx",param_4,param_5);
      sprintf(local_36,"%016llx",param_6,param_7);
      uVar1 = dcgettext(0,"%s out of range (0x%s is not between 0x%s and 0x%s)",5);
      param_2 = local_6a;
      param_4 = local_50;
      param_6 = local_36;
    }
  }
  if (param_10 == 0) {
    FUN_0002bc80(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);
    return;
  }
  FUN_0002bd40(param_8,param_9,uVar1,puVar2,param_2,param_4,param_6);
  return;
}

