
/* WARNING: Removing unreachable block (ram,0x000178c4) */

uintmax_t xnumtoumax(char *n_str,int base,uintmax_t min,uintmax_t max,char *suffixes,char *err,
                    int err_exit)

{
  undefined *puVar1;
  char *pcVar2;
  strtol_error sVar3;
  int *piVar4;
  char *pcVar5;
  uintmax_t *val;
  int iVar6;
  code *pcVar7;
  uintmax_t uVar8;
  undefined4 in_stack_ffffffb4;
  undefined1 *puVar9;
  undefined4 in_stack_ffffffbc;
  int in_stack_ffffffc0;
  uintmax_t tnum;
  char *local_2c;
  
  puVar1 = PTR___stack_chk_guard_0002d2dc;
  val = &tnum;
  puVar9 = &_gp;
  local_2c = *(char **)PTR___stack_chk_guard_0002d2dc;
  sVar3 = xstrtoumax(n_str,(char **)0x0,base,val,max._0_4_);
  pcVar2 = tnum._4_4_;
  pcVar5 = tnum._0_4_;
  if (sVar3 == LONGINT_OK) {
    if (tnum._0_4_ < suffixes) {
      pcVar7 = *(code **)(puVar9 + -0x7e6c);
    }
    else if (((suffixes != tnum._0_4_) || (pcVar7 = *(code **)(puVar9 + -0x7e6c), err <= tnum._4_4_)
             ) && (pcVar7 = *(code **)(puVar9 + -0x7e6c), CONCAT44(tnum._0_4_,tnum._4_4_) <= min))
    goto LAB_0001786c;
    piVar4 = (int *)(*pcVar7)();
    if ((pcVar5 == (char *)0x0) && (pcVar2 < (char *)0x40000000)) {
      iVar6 = 0x22;
      *piVar4 = 0x22;
    }
    else {
LAB_00017824:
      iVar6 = 0x4f;
      *piVar4 = 0x4f;
    }
    if (err_exit == 0) {
      err_exit = 1;
    }
  }
  else {
    piVar4 = (int *)(**(code **)(puVar9 + -0x7e6c))();
    if (sVar3 == LONGINT_OVERFLOW) goto LAB_00017824;
    if (sVar3 == LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW) {
      *piVar4 = 0;
      iVar6 = 0;
      if (err_exit == 0) {
        err_exit = 1;
      }
    }
    else {
      iVar6 = *piVar4;
      if (err_exit == 0) {
        err_exit = 1;
      }
      if (iVar6 == 0x16) {
        iVar6 = 0;
      }
    }
  }
  max._0_4_ = quote(n_str);
  base = *(int *)(puVar9 + -0x7fc8) + -0x489c;
  (**(code **)(puVar9 + -0x7e30))(err_exit,iVar6);
  val = max._4_4_;
LAB_0001786c:
  pcVar5 = *(char **)puVar1;
  if (local_2c == pcVar5) {
    return CONCAT44(tnum._0_4_,tnum._4_4_);
  }
  (**(code **)(puVar9 + -0x7e0c))();
  uVar8 = xnumtoumax(pcVar5,10,CONCAT44(max._0_4_,in_stack_ffffffb4),
                     CONCAT44(puVar9,in_stack_ffffffbc),(char *)base,(char *)val,in_stack_ffffffc0);
  return uVar8;
}



undefined8
xnumtoumax(undefined4 param_1,undefined4 param_2,uint param_3,uint param_4,uint param_5,uint param_6
          ,undefined4 param_7,undefined4 param_8,int param_9)

{
  undefined *puVar1;
  uint uVar2;
  uint uVar3;
  int iVar4;
  int *piVar5;
  undefined4 uVar6;
  undefined8 uVar7;
  uint local_38;
  uint local_34;
  int local_2c;
  
  puVar1 = PTR___stack_chk_guard_0002d2dc;
  local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;
  iVar4 = xstrtoumax(param_1,0,param_2,&local_38,param_7);
  uVar3 = local_34;
  uVar2 = local_38;
  if (iVar4 == 0) {
    if (((param_3 <= local_38) &&
        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&
       ((local_38 != param_5 || (local_34 <= param_6)))) goto LAB_0001786c;
    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();
    if ((uVar2 != 0) || (0x3fffffff < uVar3)) goto LAB_00017824;
    iVar4 = 0x22;
    *piVar5 = 0x22;
    if (param_9 != 0) goto LAB_00017834;
LAB_000178fc:
    param_9 = 1;
  }
  else {
    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();
    if (iVar4 == 1) {
LAB_00017824:
      iVar4 = 0x4f;
      *piVar5 = 0x4f;
      if (param_9 == 0) goto LAB_000178fc;
    }
    else if (iVar4 == 3) {
      *piVar5 = 0;
      iVar4 = 0;
      if (param_9 == 0) {
        param_9 = 1;
      }
    }
    else {
      iVar4 = *piVar5;
      if (param_9 == 0) {
        param_9 = 1;
      }
      if (iVar4 == 0x16) {
        iVar4 = 0;
      }
    }
  }
LAB_00017834:
  uVar6 = quote(param_1);
  (*(code *)PTR_error_0002d2a0)(param_9,iVar4,PTR_DAT_0002d108 + -0x489c,param_8,uVar6);
LAB_0001786c:
  if (local_2c != *(int *)puVar1) {
    (*(code *)PTR___stack_chk_fail_0002d2c4)();
    uVar7 = xnumtoumax();
    return uVar7;
  }
  return CONCAT44(local_38,local_34);
}


lui gp,0x2
addiu gp,gp,-0x26a0
addu gp,gp,t9
addiu sp,sp,-0x60
lw t9,-0x7f00(gp)
lw v1,0x78(sp)
sw s1,0x3c(sp)
lw s1,-0x7df4(gp)
sw s7,0x54(sp)
or s7,a3,zero
sw s3,0x44(sp)
addiu a3,sp,0x28
or s3,a2,zero
sw gp,0x18(sp)
sw s8,0x58(sp)
or a2,a1,zero
sw s6,0x50(sp)
or a1,zero,zero
sw s5,0x4c(sp)
sw s4,0x48(sp)
or s4,a0,zero
sw s2,0x40(sp)
sw ra,0x5c(sp)
sw s0,0x38(sp)
lw v0,0x0(s1)
lw s6,0x70(sp)
lw s8,0x74(sp)
lw s5,0x7c(sp)
lw s2,0x80(sp)
sw v1,0x10(sp)
sw v0,0x34(sp)
bal 0x000179a0
_nop
bne v0,zero,0x00017904
_lw gp,0x18(sp)
lw s0,0x28(sp)
sltu v0,s0,s3
beq v0,zero,0x000178ac
_lw v1,0x2c(sp)
lw t9,-0x7e6c(gp)
jalr t9
_sw v1,0x24(sp)
beq s0,zero,0x000178d8
_lw gp,0x18(sp)
li v1,0x4f
li s0,0x4f
beq s2,zero,0x000178fc
_sw v1,0x0(v0)
lw t9,-0x7f74(gp)
bal 0x00016ae0
_or a0,s4,zero
or a1,s0,zero
lw gp,0x18(sp)
or a3,s5,zero
or a0,s2,zero
sw v0,0x10(sp)
lw a2,-0x7fc8(gp)
lw t9,-0x7e30(gp)
jalr t9
_addiu a2,a2,-0x489c
lw gp,0x18(sp)
lw s0,0x28(sp)
lw v1,0x2c(sp)
lw a1,0x34(sp)
or v0,s0,zero
lw a0,0x0(s1)
bne a1,a0,0x00017970
_lw ra,0x5c(sp)
lw s8,0x58(sp)
lw s7,0x54(sp)
lw s6,0x50(sp)
lw s5,0x4c(sp)
lw s4,0x48(sp)
lw s3,0x44(sp)
lw s2,0x40(sp)
lw s1,0x3c(sp)
lw s0,0x38(sp)
jr ra
_addiu sp,sp,0x60
beq s3,s0,0x00017948
_sltu v0,s6,s0
bne v0,zero,0x00017810
_lw t9,-0x7e6c(gp)
bne s0,s6,0x0001786c
_nop
sltu s8,s8,v1
beq s8,zero,0x0001786c
_nop
b 0x00017810
_nop
lw v1,0x24(sp)
lui a0,0x4000
sltu v1,v1,a0
beq v1,zero,0x00017824
_li v1,0x4f
li v1,0x22
li s0,0x22
bne s2,zero,0x00017830
_sw v1,0x0(v0)
b 0x00017830
_li s2,0x1
lw t9,-0x7e6c(gp)
jalr t9
_or s0,v0,zero
li v1,0x1
beq s0,v1,0x00017820
_lw gp,0x18(sp)
li v1,0x3
beq s0,v1,0x0001795c
_nop
bne s2,zero,0x00017934
_lw s0,0x0(v0)
li s2,0x1
li v0,0x16
bne s0,v0,0x00017834
_lw t9,-0x7f74(gp)
b 0x00017834
_or s0,zero,zero
sltu s7,v1,s7
bne s7,zero,0x00017810
_lw t9,-0x7e6c(gp)
b 0x000178b4
_sltu v0,s6,s0
sw zero,0x0(v0)
bne s2,zero,0x00017830
_or s0,zero,zero
b 0x00017830
_li s2,0x1
lw t9,-0x7e0c(gp)
jalr t9
_nop
(translation_unit "undefined8\nxnumtoumax(undefined4 param_1,undefined4 param_2,uint param_3,uint param_4,uint param_5,uint param_6\n          ,undefined4 param_7,undefined4 param_8,int param_9)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined8 uVar7;\n  uint local_38;\n  uint local_34;\n  int local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0002d2dc;\n  local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;\n  iVar4 = xstrtoumax(param_1,0,param_2,&local_38,param_7);\n  uVar3 = local_34;\n  uVar2 = local_38;\n  if (iVar4 == 0) {\n    if (((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6)))) goto LAB_0001786c;\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if ((uVar2 != 0) || (0x3fffffff < uVar3)) goto LAB_00017824;\n    iVar4 = 0x22;\n    *piVar5 = 0x22;\n    if (param_9 != 0) goto LAB_00017834;\nLAB_000178fc:\n    param_9 = 1;\n  }\n  else {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if (iVar4 == 1) {\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }\n    else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }\n  }\nLAB_00017834:\n  uVar6 = quote(param_1);\n  (*(code *)PTR_error_0002d2a0)(param_9,iVar4,PTR_DAT_0002d108 + -0x489c,param_8,uVar6);\nLAB_0001786c:\n  if (local_2c != *(int *)puVar1) {\n    (*(code *)PTR___stack_chk_fail_0002d2c4)();\n    uVar7 = xnumtoumax();\n    return uVar7;\n  }\n  return CONCAT44(local_38,local_34);\n}\n\n" (function_definition "undefined8\nxnumtoumax(undefined4 param_1,undefined4 param_2,uint param_3,uint param_4,uint param_5,uint param_6\n          ,undefined4 param_7,undefined4 param_8,int param_9)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined8 uVar7;\n  uint local_38;\n  uint local_34;\n  int local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0002d2dc;\n  local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;\n  iVar4 = xstrtoumax(param_1,0,param_2,&local_38,param_7);\n  uVar3 = local_34;\n  uVar2 = local_38;\n  if (iVar4 == 0) {\n    if (((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6)))) goto LAB_0001786c;\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if ((uVar2 != 0) || (0x3fffffff < uVar3)) goto LAB_00017824;\n    iVar4 = 0x22;\n    *piVar5 = 0x22;\n    if (param_9 != 0) goto LAB_00017834;\nLAB_000178fc:\n    param_9 = 1;\n  }\n  else {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if (iVar4 == 1) {\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }\n    else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }\n  }\nLAB_00017834:\n  uVar6 = quote(param_1);\n  (*(code *)PTR_error_0002d2a0)(param_9,iVar4,PTR_DAT_0002d108 + -0x489c,param_8,uVar6);\nLAB_0001786c:\n  if (local_2c != *(int *)puVar1) {\n    (*(code *)PTR___stack_chk_fail_0002d2c4)();\n    uVar7 = xnumtoumax();\n    return uVar7;\n  }\n  return CONCAT44(local_38,local_34);\n}" type_identifier (function_declarator "xnumtoumax(undefined4 param_1,undefined4 param_2,uint param_3,uint param_4,uint param_5,uint param_6\n          ,undefined4 param_7,undefined4 param_8,int param_9)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,uint param_3,uint param_4,uint param_5,uint param_6\n          ,undefined4 param_7,undefined4 param_8,int param_9)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "uint param_6" type_identifier identifier) , (parameter_declaration "undefined4 param_7" type_identifier identifier) , (parameter_declaration "undefined4 param_8" type_identifier identifier) , (parameter_declaration "int param_9" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined8 uVar7;\n  uint local_38;\n  uint local_34;\n  int local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0002d2dc;\n  local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;\n  iVar4 = xstrtoumax(param_1,0,param_2,&local_38,param_7);\n  uVar3 = local_34;\n  uVar2 = local_38;\n  if (iVar4 == 0) {\n    if (((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6)))) goto LAB_0001786c;\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if ((uVar2 != 0) || (0x3fffffff < uVar3)) goto LAB_00017824;\n    iVar4 = 0x22;\n    *piVar5 = 0x22;\n    if (param_9 != 0) goto LAB_00017834;\nLAB_000178fc:\n    param_9 = 1;\n  }\n  else {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if (iVar4 == 1) {\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }\n    else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }\n  }\nLAB_00017834:\n  uVar6 = quote(param_1);\n  (*(code *)PTR_error_0002d2a0)(param_9,iVar4,PTR_DAT_0002d108 + -0x489c,param_8,uVar6);\nLAB_0001786c:\n  if (local_2c != *(int *)puVar1) {\n    (*(code *)PTR___stack_chk_fail_0002d2c4)();\n    uVar7 = xnumtoumax();\n    return uVar7;\n  }\n  return CONCAT44(local_38,local_34);\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar1 = PTR___stack_chk_guard_0002d2dc;" (assignment_expression "puVar1 = PTR___stack_chk_guard_0002d2dc" identifier = identifier) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0002d2dc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0002d2dc" * (cast_expression "(int *)PTR___stack_chk_guard_0002d2dc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar4 = xstrtoumax(param_1,0,param_2,&local_38,param_7);" (assignment_expression "iVar4 = xstrtoumax(param_1,0,param_2,&local_38,param_7)" identifier = (call_expression "xstrtoumax(param_1,0,param_2,&local_38,param_7)" identifier (argument_list "(param_1,0,param_2,&local_38,param_7)" ( identifier , number_literal , identifier , (pointer_expression "&local_38" & identifier) , identifier )))) ;) (expression_statement "uVar3 = local_34;" (assignment_expression "uVar3 = local_34" identifier = identifier) ;) (expression_statement "uVar2 = local_38;" (assignment_expression "uVar2 = local_38" identifier = identifier) ;) (if_statement "if (iVar4 == 0) {\n    if (((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6)))) goto LAB_0001786c;\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if ((uVar2 != 0) || (0x3fffffff < uVar3)) goto LAB_00017824;\n    iVar4 = 0x22;\n    *piVar5 = 0x22;\n    if (param_9 != 0) goto LAB_00017834;\nLAB_000178fc:\n    param_9 = 1;\n  }\n  else {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if (iVar4 == 1) {\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }\n    else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    if (((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6)))) goto LAB_0001786c;\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if ((uVar2 != 0) || (0x3fffffff < uVar3)) goto LAB_00017824;\n    iVar4 = 0x22;\n    *piVar5 = 0x22;\n    if (param_9 != 0) goto LAB_00017834;\nLAB_000178fc:\n    param_9 = 1;\n  }" { (if_statement "if (((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6)))) goto LAB_0001786c;" if (parenthesized_expression "(((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6))))" ( (binary_expression "((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6)))" (parenthesized_expression "((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5))))" ( (binary_expression "(param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))" (parenthesized_expression "(param_3 <= local_38)" ( (binary_expression "param_3 <= local_38" identifier <= identifier) )) && (parenthesized_expression "(((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))" ( (parenthesized_expression "((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5))" ( (binary_expression "(param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)" (parenthesized_expression "(param_3 != local_38 || (param_4 <= local_34))" ( (binary_expression "param_3 != local_38 || (param_4 <= local_34)" (binary_expression "param_3 != local_38" identifier != identifier) || (parenthesized_expression "(param_4 <= local_34)" ( (binary_expression "param_4 <= local_34" identifier <= identifier) ))) )) && (parenthesized_expression "(local_38 <= param_5)" ( (binary_expression "local_38 <= param_5" identifier <= identifier) ))) )) ))) )) && (parenthesized_expression "((local_38 != param_5 || (local_34 <= param_6)))" ( (parenthesized_expression "(local_38 != param_5 || (local_34 <= param_6))" ( (binary_expression "local_38 != param_5 || (local_34 <= param_6)" (binary_expression "local_38 != param_5" identifier != identifier) || (parenthesized_expression "(local_34 <= param_6)" ( (binary_expression "local_34 <= param_6" identifier <= identifier) ))) )) ))) )) (goto_statement "goto LAB_0001786c;" goto statement_identifier ;)) (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0002d264)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0002d264)()" (parenthesized_expression "(*(code *)PTR___errno_location_0002d264)" ( (pointer_expression "*(code *)PTR___errno_location_0002d264" * (cast_expression "(code *)PTR___errno_location_0002d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if ((uVar2 != 0) || (0x3fffffff < uVar3)) goto LAB_00017824;" if (parenthesized_expression "((uVar2 != 0) || (0x3fffffff < uVar3))" ( (binary_expression "(uVar2 != 0) || (0x3fffffff < uVar3)" (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) || (parenthesized_expression "(0x3fffffff < uVar3)" ( (binary_expression "0x3fffffff < uVar3" number_literal < identifier) ))) )) (goto_statement "goto LAB_00017824;" goto statement_identifier ;)) (expression_statement "iVar4 = 0x22;" (assignment_expression "iVar4 = 0x22" identifier = number_literal) ;) (expression_statement "*piVar5 = 0x22;" (assignment_expression "*piVar5 = 0x22" (pointer_expression "*piVar5" * identifier) = number_literal) ;) (if_statement "if (param_9 != 0) goto LAB_00017834;" if (parenthesized_expression "(param_9 != 0)" ( (binary_expression "param_9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00017834;" goto statement_identifier ;)) (labeled_statement "LAB_000178fc:\n    param_9 = 1;" statement_identifier : (expression_statement "param_9 = 1;" (assignment_expression "param_9 = 1" identifier = number_literal) ;)) }) (else_clause "else {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if (iVar4 == 1) {\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }\n    else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }\n  }" else (compound_statement "{\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if (iVar4 == 1) {\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }\n    else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }\n  }" { (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0002d264)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0002d264)()" (parenthesized_expression "(*(code *)PTR___errno_location_0002d264)" ( (pointer_expression "*(code *)PTR___errno_location_0002d264" * (cast_expression "(code *)PTR___errno_location_0002d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if (iVar4 == 1) {\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }\n    else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }" if (parenthesized_expression "(iVar4 == 1)" ( (binary_expression "iVar4 == 1" identifier == number_literal) )) (compound_statement "{\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }" { (labeled_statement "LAB_00017824:\n      iVar4 = 0x4f;" statement_identifier : (expression_statement "iVar4 = 0x4f;" (assignment_expression "iVar4 = 0x4f" identifier = number_literal) ;)) (expression_statement "*piVar5 = 0x4f;" (assignment_expression "*piVar5 = 0x4f" (pointer_expression "*piVar5" * identifier) = number_literal) ;) (if_statement "if (param_9 == 0) goto LAB_000178fc;" if (parenthesized_expression "(param_9 == 0)" ( (binary_expression "param_9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000178fc;" goto statement_identifier ;)) }) (else_clause "else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }" else (if_statement "if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }" if (parenthesized_expression "(iVar4 == 3)" ( (binary_expression "iVar4 == 3" identifier == number_literal) )) (compound_statement "{\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }" { (expression_statement "*piVar5 = 0;" (assignment_expression "*piVar5 = 0" (pointer_expression "*piVar5" * identifier) = number_literal) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (if_statement "if (param_9 == 0) {\n        param_9 = 1;\n      }" if (parenthesized_expression "(param_9 == 0)" ( (binary_expression "param_9 == 0" identifier == number_literal) )) (compound_statement "{\n        param_9 = 1;\n      }" { (expression_statement "param_9 = 1;" (assignment_expression "param_9 = 1" identifier = number_literal) ;) })) }) (else_clause "else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }" else (compound_statement "{\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }" { (expression_statement "iVar4 = *piVar5;" (assignment_expression "iVar4 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (if_statement "if (param_9 == 0) {\n        param_9 = 1;\n      }" if (parenthesized_expression "(param_9 == 0)" ( (binary_expression "param_9 == 0" identifier == number_literal) )) (compound_statement "{\n        param_9 = 1;\n      }" { (expression_statement "param_9 = 1;" (assignment_expression "param_9 = 1" identifier = number_literal) ;) })) (if_statement "if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }" if (parenthesized_expression "(iVar4 == 0x16)" ( (binary_expression "iVar4 == 0x16" identifier == number_literal) )) (compound_statement "{\n        iVar4 = 0;\n      }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) })) }))))) }))) (labeled_statement "LAB_00017834:\n  uVar6 = quote(param_1);" statement_identifier : (expression_statement "uVar6 = quote(param_1);" (assignment_expression "uVar6 = quote(param_1)" identifier = (call_expression "quote(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;)) (expression_statement "(*(code *)PTR_error_0002d2a0)(param_9,iVar4,PTR_DAT_0002d108 + -0x489c,param_8,uVar6);" (call_expression "(*(code *)PTR_error_0002d2a0)(param_9,iVar4,PTR_DAT_0002d108 + -0x489c,param_8,uVar6)" (parenthesized_expression "(*(code *)PTR_error_0002d2a0)" ( (pointer_expression "*(code *)PTR_error_0002d2a0" * (cast_expression "(code *)PTR_error_0002d2a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_9,iVar4,PTR_DAT_0002d108 + -0x489c,param_8,uVar6)" ( identifier , identifier , (binary_expression "PTR_DAT_0002d108 + -0x489c" identifier + number_literal) , identifier , identifier ))) ;) (labeled_statement "LAB_0001786c:\n  if (local_2c != *(int *)puVar1) {\n    (*(code *)PTR___stack_chk_fail_0002d2c4)();\n    uVar7 = xnumtoumax();\n    return uVar7;\n  }" statement_identifier : (if_statement "if (local_2c != *(int *)puVar1) {\n    (*(code *)PTR___stack_chk_fail_0002d2c4)();\n    uVar7 = xnumtoumax();\n    return uVar7;\n  }" if (parenthesized_expression "(local_2c != *(int *)puVar1)" ( (binary_expression "local_2c != *(int *)puVar1" identifier != (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    (*(code *)PTR___stack_chk_fail_0002d2c4)();\n    uVar7 = xnumtoumax();\n    return uVar7;\n  }" { (expression_statement "(*(code *)PTR___stack_chk_fail_0002d2c4)();" (call_expression "(*(code *)PTR___stack_chk_fail_0002d2c4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0002d2c4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0002d2c4" * (cast_expression "(code *)PTR___stack_chk_fail_0002d2c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "uVar7 = xnumtoumax();" (assignment_expression "uVar7 = xnumtoumax()" identifier = (call_expression "xnumtoumax()" identifier (argument_list "()" ( )))) ;) (return_statement "return uVar7;" return identifier ;) }))) (return_statement "return CONCAT44(local_38,local_34);" return (call_expression "CONCAT44(local_38,local_34)" identifier (argument_list "(local_38,local_34)" ( identifier , identifier ))) ;) })))
(translation_unit "/* WARNING: Removing unreachable block (ram,0x000178c4) */\n\nuintmax_t xnumtoumax(char *n_str,int base,uintmax_t min,uintmax_t max,char *suffixes,char *err,\n                    int err_exit)\n\n{\n  undefined *puVar1;\n  char *pcVar2;\n  strtol_error sVar3;\n  int *piVar4;\n  char *pcVar5;\n  uintmax_t *val;\n  int iVar6;\n  code *pcVar7;\n  uintmax_t uVar8;\n  undefined4 in_stack_ffffffb4;\n  undefined1 *puVar9;\n  undefined4 in_stack_ffffffbc;\n  int in_stack_ffffffc0;\n  uintmax_t tnum;\n  char *local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0002d2dc;\n  val = &tnum;\n  puVar9 = &_gp;\n  local_2c = *(char **)PTR___stack_chk_guard_0002d2dc;\n  sVar3 = xstrtoumax(n_str,(char **)0x0,base,val,max._0_4_);\n  pcVar2 = tnum._4_4_;\n  pcVar5 = tnum._0_4_;\n  if (sVar3 == LONGINT_OK) {\n    if (tnum._0_4_ < suffixes) {\n      pcVar7 = *(code **)(puVar9 + -0x7e6c);\n    }\n    else if (((suffixes != tnum._0_4_) || (pcVar7 = *(code **)(puVar9 + -0x7e6c), err <= tnum._4_4_)\n             ) && (pcVar7 = *(code **)(puVar9 + -0x7e6c), CONCAT44(tnum._0_4_,tnum._4_4_) <= min))\n    goto LAB_0001786c;\n    piVar4 = (int *)(*pcVar7)();\n    if ((pcVar5 == (char *)0x0) && (pcVar2 < (char *)0x40000000)) {\n      iVar6 = 0x22;\n      *piVar4 = 0x22;\n    }\n    else {\nLAB_00017824:\n      iVar6 = 0x4f;\n      *piVar4 = 0x4f;\n    }\n    if (err_exit == 0) {\n      err_exit = 1;\n    }\n  }\n  else {\n    piVar4 = (int *)(**(code **)(puVar9 + -0x7e6c))();\n    if (sVar3 == LONGINT_OVERFLOW) goto LAB_00017824;\n    if (sVar3 == LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW) {\n      *piVar4 = 0;\n      iVar6 = 0;\n      if (err_exit == 0) {\n        err_exit = 1;\n      }\n    }\n    else {\n      iVar6 = *piVar4;\n      if (err_exit == 0) {\n        err_exit = 1;\n      }\n      if (iVar6 == 0x16) {\n        iVar6 = 0;\n      }\n    }\n  }\n  max._0_4_ = quote(n_str);\n  base = *(int *)(puVar9 + -0x7fc8) + -0x489c;\n  (**(code **)(puVar9 + -0x7e30))(err_exit,iVar6);\n  val = max._4_4_;\nLAB_0001786c:\n  pcVar5 = *(char **)puVar1;\n  if (local_2c == pcVar5) {\n    return CONCAT44(tnum._0_4_,tnum._4_4_);\n  }\n  (**(code **)(puVar9 + -0x7e0c))();\n  uVar8 = xnumtoumax(pcVar5,10,CONCAT44(max._0_4_,in_stack_ffffffb4),\n                     CONCAT44(puVar9,in_stack_ffffffbc),(char *)base,(char *)val,in_stack_ffffffc0);\n  return uVar8;\n}\n\n" comment (function_definition "uintmax_t xnumtoumax(char *n_str,int base,uintmax_t min,uintmax_t max,char *suffixes,char *err,\n                    int err_exit)\n\n{\n  undefined *puVar1;\n  char *pcVar2;\n  strtol_error sVar3;\n  int *piVar4;\n  char *pcVar5;\n  uintmax_t *val;\n  int iVar6;\n  code *pcVar7;\n  uintmax_t uVar8;\n  undefined4 in_stack_ffffffb4;\n  undefined1 *puVar9;\n  undefined4 in_stack_ffffffbc;\n  int in_stack_ffffffc0;\n  uintmax_t tnum;\n  char *local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0002d2dc;\n  val = &tnum;\n  puVar9 = &_gp;\n  local_2c = *(char **)PTR___stack_chk_guard_0002d2dc;\n  sVar3 = xstrtoumax(n_str,(char **)0x0,base,val,max._0_4_);\n  pcVar2 = tnum._4_4_;\n  pcVar5 = tnum._0_4_;\n  if (sVar3 == LONGINT_OK) {\n    if (tnum._0_4_ < suffixes) {\n      pcVar7 = *(code **)(puVar9 + -0x7e6c);\n    }\n    else if (((suffixes != tnum._0_4_) || (pcVar7 = *(code **)(puVar9 + -0x7e6c), err <= tnum._4_4_)\n             ) && (pcVar7 = *(code **)(puVar9 + -0x7e6c), CONCAT44(tnum._0_4_,tnum._4_4_) <= min))\n    goto LAB_0001786c;\n    piVar4 = (int *)(*pcVar7)();\n    if ((pcVar5 == (char *)0x0) && (pcVar2 < (char *)0x40000000)) {\n      iVar6 = 0x22;\n      *piVar4 = 0x22;\n    }\n    else {\nLAB_00017824:\n      iVar6 = 0x4f;\n      *piVar4 = 0x4f;\n    }\n    if (err_exit == 0) {\n      err_exit = 1;\n    }\n  }\n  else {\n    piVar4 = (int *)(**(code **)(puVar9 + -0x7e6c))();\n    if (sVar3 == LONGINT_OVERFLOW) goto LAB_00017824;\n    if (sVar3 == LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW) {\n      *piVar4 = 0;\n      iVar6 = 0;\n      if (err_exit == 0) {\n        err_exit = 1;\n      }\n    }\n    else {\n      iVar6 = *piVar4;\n      if (err_exit == 0) {\n        err_exit = 1;\n      }\n      if (iVar6 == 0x16) {\n        iVar6 = 0;\n      }\n    }\n  }\n  max._0_4_ = quote(n_str);\n  base = *(int *)(puVar9 + -0x7fc8) + -0x489c;\n  (**(code **)(puVar9 + -0x7e30))(err_exit,iVar6);\n  val = max._4_4_;\nLAB_0001786c:\n  pcVar5 = *(char **)puVar1;\n  if (local_2c == pcVar5) {\n    return CONCAT44(tnum._0_4_,tnum._4_4_);\n  }\n  (**(code **)(puVar9 + -0x7e0c))();\n  uVar8 = xnumtoumax(pcVar5,10,CONCAT44(max._0_4_,in_stack_ffffffb4),\n                     CONCAT44(puVar9,in_stack_ffffffbc),(char *)base,(char *)val,in_stack_ffffffc0);\n  return uVar8;\n}" type_identifier (function_declarator "xnumtoumax(char *n_str,int base,uintmax_t min,uintmax_t max,char *suffixes,char *err,\n                    int err_exit)" identifier (parameter_list "(char *n_str,int base,uintmax_t min,uintmax_t max,char *suffixes,char *err,\n                    int err_exit)" ( (parameter_declaration "char *n_str" primitive_type (pointer_declarator "*n_str" * identifier)) , (parameter_declaration "int base" primitive_type identifier) , (parameter_declaration "uintmax_t min" type_identifier identifier) , (parameter_declaration "uintmax_t max" type_identifier identifier) , (parameter_declaration "char *suffixes" primitive_type (pointer_declarator "*suffixes" * identifier)) , (parameter_declaration "char *err" primitive_type (pointer_declarator "*err" * identifier)) , (parameter_declaration "int err_exit" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  char *pcVar2;\n  strtol_error sVar3;\n  int *piVar4;\n  char *pcVar5;\n  uintmax_t *val;\n  int iVar6;\n  code *pcVar7;\n  uintmax_t uVar8;\n  undefined4 in_stack_ffffffb4;\n  undefined1 *puVar9;\n  undefined4 in_stack_ffffffbc;\n  int in_stack_ffffffc0;\n  uintmax_t tnum;\n  char *local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0002d2dc;\n  val = &tnum;\n  puVar9 = &_gp;\n  local_2c = *(char **)PTR___stack_chk_guard_0002d2dc;\n  sVar3 = xstrtoumax(n_str,(char **)0x0,base,val,max._0_4_);\n  pcVar2 = tnum._4_4_;\n  pcVar5 = tnum._0_4_;\n  if (sVar3 == LONGINT_OK) {\n    if (tnum._0_4_ < suffixes) {\n      pcVar7 = *(code **)(puVar9 + -0x7e6c);\n    }\n    else if (((suffixes != tnum._0_4_) || (pcVar7 = *(code **)(puVar9 + -0x7e6c), err <= tnum._4_4_)\n             ) && (pcVar7 = *(code **)(puVar9 + -0x7e6c), CONCAT44(tnum._0_4_,tnum._4_4_) <= min))\n    goto LAB_0001786c;\n    piVar4 = (int *)(*pcVar7)();\n    if ((pcVar5 == (char *)0x0) && (pcVar2 < (char *)0x40000000)) {\n      iVar6 = 0x22;\n      *piVar4 = 0x22;\n    }\n    else {\nLAB_00017824:\n      iVar6 = 0x4f;\n      *piVar4 = 0x4f;\n    }\n    if (err_exit == 0) {\n      err_exit = 1;\n    }\n  }\n  else {\n    piVar4 = (int *)(**(code **)(puVar9 + -0x7e6c))();\n    if (sVar3 == LONGINT_OVERFLOW) goto LAB_00017824;\n    if (sVar3 == LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW) {\n      *piVar4 = 0;\n      iVar6 = 0;\n      if (err_exit == 0) {\n        err_exit = 1;\n      }\n    }\n    else {\n      iVar6 = *piVar4;\n      if (err_exit == 0) {\n        err_exit = 1;\n      }\n      if (iVar6 == 0x16) {\n        iVar6 = 0;\n      }\n    }\n  }\n  max._0_4_ = quote(n_str);\n  base = *(int *)(puVar9 + -0x7fc8) + -0x489c;\n  (**(code **)(puVar9 + -0x7e30))(err_exit,iVar6);\n  val = max._4_4_;\nLAB_0001786c:\n  pcVar5 = *(char **)puVar1;\n  if (local_2c == pcVar5) {\n    return CONCAT44(tnum._0_4_,tnum._4_4_);\n  }\n  (**(code **)(puVar9 + -0x7e0c))();\n  uVar8 = xnumtoumax(pcVar5,10,CONCAT44(max._0_4_,in_stack_ffffffb4),\n                     CONCAT44(puVar9,in_stack_ffffffbc),(char *)base,(char *)val,in_stack_ffffffc0);\n  return uVar8;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "strtol_error sVar3;" type_identifier identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "uintmax_t *val;" type_identifier (pointer_declarator "*val" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "code *pcVar7;" type_identifier (pointer_declarator "*pcVar7" * identifier) ;) (declaration "uintmax_t uVar8;" type_identifier identifier ;) (declaration "undefined4 in_stack_ffffffb4;" type_identifier identifier ;) (declaration "undefined1 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 in_stack_ffffffbc;" type_identifier identifier ;) (declaration "int in_stack_ffffffc0;" primitive_type identifier ;) (declaration "uintmax_t tnum;" type_identifier identifier ;) (declaration "char *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "puVar1 = PTR___stack_chk_guard_0002d2dc;" (assignment_expression "puVar1 = PTR___stack_chk_guard_0002d2dc" identifier = identifier) ;) (expression_statement "val = &tnum;" (assignment_expression "val = &tnum" identifier = (pointer_expression "&tnum" & identifier)) ;) (expression_statement "puVar9 = &_gp;" (assignment_expression "puVar9 = &_gp" identifier = (pointer_expression "&_gp" & identifier)) ;) (expression_statement "local_2c = *(char **)PTR___stack_chk_guard_0002d2dc;" (assignment_expression "local_2c = *(char **)PTR___stack_chk_guard_0002d2dc" identifier = (pointer_expression "*(char **)PTR___stack_chk_guard_0002d2dc" * (cast_expression "(char **)PTR___stack_chk_guard_0002d2dc" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "sVar3 = xstrtoumax(n_str,(char **)0x0,base,val,max._0_4_);" (assignment_expression "sVar3 = xstrtoumax(n_str,(char **)0x0,base,val,max._0_4_)" identifier = (call_expression "xstrtoumax(n_str,(char **)0x0,base,val,max._0_4_)" identifier (argument_list "(n_str,(char **)0x0,base,val,max._0_4_)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , identifier , identifier , (field_expression "max._0_4_" identifier . field_identifier) )))) ;) (expression_statement "pcVar2 = tnum._4_4_;" (assignment_expression "pcVar2 = tnum._4_4_" identifier = (field_expression "tnum._4_4_" identifier . field_identifier)) ;) (expression_statement "pcVar5 = tnum._0_4_;" (assignment_expression "pcVar5 = tnum._0_4_" identifier = (field_expression "tnum._0_4_" identifier . field_identifier)) ;) (if_statement "if (sVar3 == LONGINT_OK) {\n    if (tnum._0_4_ < suffixes) {\n      pcVar7 = *(code **)(puVar9 + -0x7e6c);\n    }\n    else if (((suffixes != tnum._0_4_) || (pcVar7 = *(code **)(puVar9 + -0x7e6c), err <= tnum._4_4_)\n             ) && (pcVar7 = *(code **)(puVar9 + -0x7e6c), CONCAT44(tnum._0_4_,tnum._4_4_) <= min))\n    goto LAB_0001786c;\n    piVar4 = (int *)(*pcVar7)();\n    if ((pcVar5 == (char *)0x0) && (pcVar2 < (char *)0x40000000)) {\n      iVar6 = 0x22;\n      *piVar4 = 0x22;\n    }\n    else {\nLAB_00017824:\n      iVar6 = 0x4f;\n      *piVar4 = 0x4f;\n    }\n    if (err_exit == 0) {\n      err_exit = 1;\n    }\n  }\n  else {\n    piVar4 = (int *)(**(code **)(puVar9 + -0x7e6c))();\n    if (sVar3 == LONGINT_OVERFLOW) goto LAB_00017824;\n    if (sVar3 == LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW) {\n      *piVar4 = 0;\n      iVar6 = 0;\n      if (err_exit == 0) {\n        err_exit = 1;\n      }\n    }\n    else {\n      iVar6 = *piVar4;\n      if (err_exit == 0) {\n        err_exit = 1;\n      }\n      if (iVar6 == 0x16) {\n        iVar6 = 0;\n      }\n    }\n  }" if (parenthesized_expression "(sVar3 == LONGINT_OK)" ( (binary_expression "sVar3 == LONGINT_OK" identifier == identifier) )) (compound_statement "{\n    if (tnum._0_4_ < suffixes) {\n      pcVar7 = *(code **)(puVar9 + -0x7e6c);\n    }\n    else if (((suffixes != tnum._0_4_) || (pcVar7 = *(code **)(puVar9 + -0x7e6c), err <= tnum._4_4_)\n             ) && (pcVar7 = *(code **)(puVar9 + -0x7e6c), CONCAT44(tnum._0_4_,tnum._4_4_) <= min))\n    goto LAB_0001786c;\n    piVar4 = (int *)(*pcVar7)();\n    if ((pcVar5 == (char *)0x0) && (pcVar2 < (char *)0x40000000)) {\n      iVar6 = 0x22;\n      *piVar4 = 0x22;\n    }\n    else {\nLAB_00017824:\n      iVar6 = 0x4f;\n      *piVar4 = 0x4f;\n    }\n    if (err_exit == 0) {\n      err_exit = 1;\n    }\n  }" { (if_statement "if (tnum._0_4_ < suffixes) {\n      pcVar7 = *(code **)(puVar9 + -0x7e6c);\n    }\n    else if (((suffixes != tnum._0_4_) || (pcVar7 = *(code **)(puVar9 + -0x7e6c), err <= tnum._4_4_)\n             ) && (pcVar7 = *(code **)(puVar9 + -0x7e6c), CONCAT44(tnum._0_4_,tnum._4_4_) <= min))\n    goto LAB_0001786c;" if (parenthesized_expression "(tnum._0_4_ < suffixes)" ( (binary_expression "tnum._0_4_ < suffixes" (field_expression "tnum._0_4_" identifier . field_identifier) < identifier) )) (compound_statement "{\n      pcVar7 = *(code **)(puVar9 + -0x7e6c);\n    }" { (expression_statement "pcVar7 = *(code **)(puVar9 + -0x7e6c);" (assignment_expression "pcVar7 = *(code **)(puVar9 + -0x7e6c)" identifier = (pointer_expression "*(code **)(puVar9 + -0x7e6c)" * (cast_expression "(code **)(puVar9 + -0x7e6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + -0x7e6c)" ( (binary_expression "puVar9 + -0x7e6c" identifier + number_literal) ))))) ;) }) (else_clause "else if (((suffixes != tnum._0_4_) || (pcVar7 = *(code **)(puVar9 + -0x7e6c), err <= tnum._4_4_)\n             ) && (pcVar7 = *(code **)(puVar9 + -0x7e6c), CONCAT44(tnum._0_4_,tnum._4_4_) <= min))\n    goto LAB_0001786c;" else (if_statement "if (((suffixes != tnum._0_4_) || (pcVar7 = *(code **)(puVar9 + -0x7e6c), err <= tnum._4_4_)\n             ) && (pcVar7 = *(code **)(puVar9 + -0x7e6c), CONCAT44(tnum._0_4_,tnum._4_4_) <= min))\n    goto LAB_0001786c;" if (parenthesized_expression "(((suffixes != tnum._0_4_) || (pcVar7 = *(code **)(puVar9 + -0x7e6c), err <= tnum._4_4_)\n             ) && (pcVar7 = *(code **)(puVar9 + -0x7e6c), CONCAT44(tnum._0_4_,tnum._4_4_) <= min))" ( (binary_expression "((suffixes != tnum._0_4_) || (pcVar7 = *(code **)(puVar9 + -0x7e6c), err <= tnum._4_4_)\n             ) && (pcVar7 = *(code **)(puVar9 + -0x7e6c), CONCAT44(tnum._0_4_,tnum._4_4_) <= min)" (parenthesized_expression "((suffixes != tnum._0_4_) || (pcVar7 = *(code **)(puVar9 + -0x7e6c), err <= tnum._4_4_)\n             )" ( (binary_expression "(suffixes != tnum._0_4_) || (pcVar7 = *(code **)(puVar9 + -0x7e6c), err <= tnum._4_4_)" (parenthesized_expression "(suffixes != tnum._0_4_)" ( (binary_expression "suffixes != tnum._0_4_" identifier != (field_expression "tnum._0_4_" identifier . field_identifier)) )) || (parenthesized_expression "(pcVar7 = *(code **)(puVar9 + -0x7e6c), err <= tnum._4_4_)" ( (comma_expression "pcVar7 = *(code **)(puVar9 + -0x7e6c), err <= tnum._4_4_" (assignment_expression "pcVar7 = *(code **)(puVar9 + -0x7e6c)" identifier = (pointer_expression "*(code **)(puVar9 + -0x7e6c)" * (cast_expression "(code **)(puVar9 + -0x7e6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + -0x7e6c)" ( (binary_expression "puVar9 + -0x7e6c" identifier + number_literal) ))))) , (binary_expression "err <= tnum._4_4_" identifier <= (field_expression "tnum._4_4_" identifier . field_identifier))) ))) )) && (parenthesized_expression "(pcVar7 = *(code **)(puVar9 + -0x7e6c), CONCAT44(tnum._0_4_,tnum._4_4_) <= min)" ( (comma_expression "pcVar7 = *(code **)(puVar9 + -0x7e6c), CONCAT44(tnum._0_4_,tnum._4_4_) <= min" (assignment_expression "pcVar7 = *(code **)(puVar9 + -0x7e6c)" identifier = (pointer_expression "*(code **)(puVar9 + -0x7e6c)" * (cast_expression "(code **)(puVar9 + -0x7e6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + -0x7e6c)" ( (binary_expression "puVar9 + -0x7e6c" identifier + number_literal) ))))) , (binary_expression "CONCAT44(tnum._0_4_,tnum._4_4_) <= min" (call_expression "CONCAT44(tnum._0_4_,tnum._4_4_)" identifier (argument_list "(tnum._0_4_,tnum._4_4_)" ( (field_expression "tnum._0_4_" identifier . field_identifier) , (field_expression "tnum._4_4_" identifier . field_identifier) ))) <= identifier)) ))) )) (goto_statement "goto LAB_0001786c;" goto statement_identifier ;)))) (expression_statement "piVar4 = (int *)(*pcVar7)();" (assignment_expression "piVar4 = (int *)(*pcVar7)()" identifier = (cast_expression "(int *)(*pcVar7)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))))) ;) (if_statement "if ((pcVar5 == (char *)0x0) && (pcVar2 < (char *)0x40000000)) {\n      iVar6 = 0x22;\n      *piVar4 = 0x22;\n    }\n    else {\nLAB_00017824:\n      iVar6 = 0x4f;\n      *piVar4 = 0x4f;\n    }" if (parenthesized_expression "((pcVar5 == (char *)0x0) && (pcVar2 < (char *)0x40000000))" ( (binary_expression "(pcVar5 == (char *)0x0) && (pcVar2 < (char *)0x40000000)" (parenthesized_expression "(pcVar5 == (char *)0x0)" ( (binary_expression "pcVar5 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pcVar2 < (char *)0x40000000)" ( (binary_expression "pcVar2 < (char *)0x40000000" identifier < (cast_expression "(char *)0x40000000" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      iVar6 = 0x22;\n      *piVar4 = 0x22;\n    }" { (expression_statement "iVar6 = 0x22;" (assignment_expression "iVar6 = 0x22" identifier = number_literal) ;) (expression_statement "*piVar4 = 0x22;" (assignment_expression "*piVar4 = 0x22" (pointer_expression "*piVar4" * identifier) = number_literal) ;) }) (else_clause "else {\nLAB_00017824:\n      iVar6 = 0x4f;\n      *piVar4 = 0x4f;\n    }" else (compound_statement "{\nLAB_00017824:\n      iVar6 = 0x4f;\n      *piVar4 = 0x4f;\n    }" { (labeled_statement "LAB_00017824:\n      iVar6 = 0x4f;" statement_identifier : (expression_statement "iVar6 = 0x4f;" (assignment_expression "iVar6 = 0x4f" identifier = number_literal) ;)) (expression_statement "*piVar4 = 0x4f;" (assignment_expression "*piVar4 = 0x4f" (pointer_expression "*piVar4" * identifier) = number_literal) ;) }))) (if_statement "if (err_exit == 0) {\n      err_exit = 1;\n    }" if (parenthesized_expression "(err_exit == 0)" ( (binary_expression "err_exit == 0" identifier == number_literal) )) (compound_statement "{\n      err_exit = 1;\n    }" { (expression_statement "err_exit = 1;" (assignment_expression "err_exit = 1" identifier = number_literal) ;) })) }) (else_clause "else {\n    piVar4 = (int *)(**(code **)(puVar9 + -0x7e6c))();\n    if (sVar3 == LONGINT_OVERFLOW) goto LAB_00017824;\n    if (sVar3 == LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW) {\n      *piVar4 = 0;\n      iVar6 = 0;\n      if (err_exit == 0) {\n        err_exit = 1;\n      }\n    }\n    else {\n      iVar6 = *piVar4;\n      if (err_exit == 0) {\n        err_exit = 1;\n      }\n      if (iVar6 == 0x16) {\n        iVar6 = 0;\n      }\n    }\n  }" else (compound_statement "{\n    piVar4 = (int *)(**(code **)(puVar9 + -0x7e6c))();\n    if (sVar3 == LONGINT_OVERFLOW) goto LAB_00017824;\n    if (sVar3 == LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW) {\n      *piVar4 = 0;\n      iVar6 = 0;\n      if (err_exit == 0) {\n        err_exit = 1;\n      }\n    }\n    else {\n      iVar6 = *piVar4;\n      if (err_exit == 0) {\n        err_exit = 1;\n      }\n      if (iVar6 == 0x16) {\n        iVar6 = 0;\n      }\n    }\n  }" { (expression_statement "piVar4 = (int *)(**(code **)(puVar9 + -0x7e6c))();" (assignment_expression "piVar4 = (int *)(**(code **)(puVar9 + -0x7e6c))()" identifier = (cast_expression "(int *)(**(code **)(puVar9 + -0x7e6c))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar9 + -0x7e6c))()" (parenthesized_expression "(**(code **)(puVar9 + -0x7e6c))" ( (pointer_expression "**(code **)(puVar9 + -0x7e6c)" * (pointer_expression "*(code **)(puVar9 + -0x7e6c)" * (cast_expression "(code **)(puVar9 + -0x7e6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + -0x7e6c)" ( (binary_expression "puVar9 + -0x7e6c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (sVar3 == LONGINT_OVERFLOW) goto LAB_00017824;" if (parenthesized_expression "(sVar3 == LONGINT_OVERFLOW)" ( (binary_expression "sVar3 == LONGINT_OVERFLOW" identifier == identifier) )) (goto_statement "goto LAB_00017824;" goto statement_identifier ;)) (if_statement "if (sVar3 == LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW) {\n      *piVar4 = 0;\n      iVar6 = 0;\n      if (err_exit == 0) {\n        err_exit = 1;\n      }\n    }\n    else {\n      iVar6 = *piVar4;\n      if (err_exit == 0) {\n        err_exit = 1;\n      }\n      if (iVar6 == 0x16) {\n        iVar6 = 0;\n      }\n    }" if (parenthesized_expression "(sVar3 == LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW)" ( (binary_expression "sVar3 == LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW" identifier == identifier) )) (compound_statement "{\n      *piVar4 = 0;\n      iVar6 = 0;\n      if (err_exit == 0) {\n        err_exit = 1;\n      }\n    }" { (expression_statement "*piVar4 = 0;" (assignment_expression "*piVar4 = 0" (pointer_expression "*piVar4" * identifier) = number_literal) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if (err_exit == 0) {\n        err_exit = 1;\n      }" if (parenthesized_expression "(err_exit == 0)" ( (binary_expression "err_exit == 0" identifier == number_literal) )) (compound_statement "{\n        err_exit = 1;\n      }" { (expression_statement "err_exit = 1;" (assignment_expression "err_exit = 1" identifier = number_literal) ;) })) }) (else_clause "else {\n      iVar6 = *piVar4;\n      if (err_exit == 0) {\n        err_exit = 1;\n      }\n      if (iVar6 == 0x16) {\n        iVar6 = 0;\n      }\n    }" else (compound_statement "{\n      iVar6 = *piVar4;\n      if (err_exit == 0) {\n        err_exit = 1;\n      }\n      if (iVar6 == 0x16) {\n        iVar6 = 0;\n      }\n    }" { (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (if_statement "if (err_exit == 0) {\n        err_exit = 1;\n      }" if (parenthesized_expression "(err_exit == 0)" ( (binary_expression "err_exit == 0" identifier == number_literal) )) (compound_statement "{\n        err_exit = 1;\n      }" { (expression_statement "err_exit = 1;" (assignment_expression "err_exit = 1" identifier = number_literal) ;) })) (if_statement "if (iVar6 == 0x16) {\n        iVar6 = 0;\n      }" if (parenthesized_expression "(iVar6 == 0x16)" ( (binary_expression "iVar6 == 0x16" identifier == number_literal) )) (compound_statement "{\n        iVar6 = 0;\n      }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) })) }))) }))) (expression_statement "max._0_4_ = quote(n_str);" (assignment_expression "max._0_4_ = quote(n_str)" (field_expression "max._0_4_" identifier . field_identifier) = (call_expression "quote(n_str)" identifier (argument_list "(n_str)" ( identifier )))) ;) (expression_statement "base = *(int *)(puVar9 + -0x7fc8) + -0x489c;" (assignment_expression "base = *(int *)(puVar9 + -0x7fc8) + -0x489c" identifier = (binary_expression "*(int *)(puVar9 + -0x7fc8) + -0x489c" (pointer_expression "*(int *)(puVar9 + -0x7fc8)" * (cast_expression "(int *)(puVar9 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + -0x7fc8)" ( (binary_expression "puVar9 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(puVar9 + -0x7e30))(err_exit,iVar6);" (call_expression "(**(code **)(puVar9 + -0x7e30))(err_exit,iVar6)" (parenthesized_expression "(**(code **)(puVar9 + -0x7e30))" ( (pointer_expression "**(code **)(puVar9 + -0x7e30)" * (pointer_expression "*(code **)(puVar9 + -0x7e30)" * (cast_expression "(code **)(puVar9 + -0x7e30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + -0x7e30)" ( (binary_expression "puVar9 + -0x7e30" identifier + number_literal) ))))) )) (argument_list "(err_exit,iVar6)" ( identifier , identifier ))) ;) (expression_statement "val = max._4_4_;" (assignment_expression "val = max._4_4_" identifier = (field_expression "max._4_4_" identifier . field_identifier)) ;) (labeled_statement "LAB_0001786c:\n  pcVar5 = *(char **)puVar1;" statement_identifier : (expression_statement "pcVar5 = *(char **)puVar1;" (assignment_expression "pcVar5 = *(char **)puVar1" identifier = (pointer_expression "*(char **)puVar1" * (cast_expression "(char **)puVar1" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;)) (if_statement "if (local_2c == pcVar5) {\n    return CONCAT44(tnum._0_4_,tnum._4_4_);\n  }" if (parenthesized_expression "(local_2c == pcVar5)" ( (binary_expression "local_2c == pcVar5" identifier == identifier) )) (compound_statement "{\n    return CONCAT44(tnum._0_4_,tnum._4_4_);\n  }" { (return_statement "return CONCAT44(tnum._0_4_,tnum._4_4_);" return (call_expression "CONCAT44(tnum._0_4_,tnum._4_4_)" identifier (argument_list "(tnum._0_4_,tnum._4_4_)" ( (field_expression "tnum._0_4_" identifier . field_identifier) , (field_expression "tnum._4_4_" identifier . field_identifier) ))) ;) })) (expression_statement "(**(code **)(puVar9 + -0x7e0c))();" (call_expression "(**(code **)(puVar9 + -0x7e0c))()" (parenthesized_expression "(**(code **)(puVar9 + -0x7e0c))" ( (pointer_expression "**(code **)(puVar9 + -0x7e0c)" * (pointer_expression "*(code **)(puVar9 + -0x7e0c)" * (cast_expression "(code **)(puVar9 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + -0x7e0c)" ( (binary_expression "puVar9 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "uVar8 = xnumtoumax(pcVar5,10,CONCAT44(max._0_4_,in_stack_ffffffb4),\n                     CONCAT44(puVar9,in_stack_ffffffbc),(char *)base,(char *)val,in_stack_ffffffc0);" (assignment_expression "uVar8 = xnumtoumax(pcVar5,10,CONCAT44(max._0_4_,in_stack_ffffffb4),\n                     CONCAT44(puVar9,in_stack_ffffffbc),(char *)base,(char *)val,in_stack_ffffffc0)" identifier = (call_expression "xnumtoumax(pcVar5,10,CONCAT44(max._0_4_,in_stack_ffffffb4),\n                     CONCAT44(puVar9,in_stack_ffffffbc),(char *)base,(char *)val,in_stack_ffffffc0)" identifier (argument_list "(pcVar5,10,CONCAT44(max._0_4_,in_stack_ffffffb4),\n                     CONCAT44(puVar9,in_stack_ffffffbc),(char *)base,(char *)val,in_stack_ffffffc0)" ( identifier , number_literal , (call_expression "CONCAT44(max._0_4_,in_stack_ffffffb4)" identifier (argument_list "(max._0_4_,in_stack_ffffffb4)" ( (field_expression "max._0_4_" identifier . field_identifier) , identifier ))) , (call_expression "CONCAT44(puVar9,in_stack_ffffffbc)" identifier (argument_list "(puVar9,in_stack_ffffffbc)" ( identifier , identifier ))) , (cast_expression "(char *)base" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)val" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (return_statement "return uVar8;" return identifier ;) })))
(translation_unit "undefined8\nxnumtoumax(undefined4 param_1,undefined4 param_2,uint param_3,uint param_4,uint param_5,uint param_6\n          ,undefined4 param_7,undefined4 param_8,int param_9)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined8 uVar7;\n  uint local_38;\n  uint local_34;\n  int local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0002d2dc;\n  local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;\n  iVar4 = xstrtoumax(param_1,0,param_2,&local_38,param_7);\n  uVar3 = local_34;\n  uVar2 = local_38;\n  if (iVar4 == 0) {\n    if (((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6)))) goto LAB_0001786c;\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if ((uVar2 != 0) || (0x3fffffff < uVar3)) goto LAB_00017824;\n    iVar4 = 0x22;\n    *piVar5 = 0x22;\n    if (param_9 != 0) goto LAB_00017834;\nLAB_000178fc:\n    param_9 = 1;\n  }\n  else {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if (iVar4 == 1) {\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }\n    else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }\n  }\nLAB_00017834:\n  uVar6 = quote(param_1);\n  (*(code *)PTR_error_0002d2a0)(param_9,iVar4,PTR_DAT_0002d108 + -0x489c,param_8,uVar6);\nLAB_0001786c:\n  if (local_2c != *(int *)puVar1) {\n    (*(code *)PTR___stack_chk_fail_0002d2c4)();\n    uVar7 = xnumtoumax();\n    return uVar7;\n  }\n  return CONCAT44(local_38,local_34);\n}\n\n" (function_definition "undefined8\nxnumtoumax(undefined4 param_1,undefined4 param_2,uint param_3,uint param_4,uint param_5,uint param_6\n          ,undefined4 param_7,undefined4 param_8,int param_9)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined8 uVar7;\n  uint local_38;\n  uint local_34;\n  int local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0002d2dc;\n  local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;\n  iVar4 = xstrtoumax(param_1,0,param_2,&local_38,param_7);\n  uVar3 = local_34;\n  uVar2 = local_38;\n  if (iVar4 == 0) {\n    if (((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6)))) goto LAB_0001786c;\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if ((uVar2 != 0) || (0x3fffffff < uVar3)) goto LAB_00017824;\n    iVar4 = 0x22;\n    *piVar5 = 0x22;\n    if (param_9 != 0) goto LAB_00017834;\nLAB_000178fc:\n    param_9 = 1;\n  }\n  else {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if (iVar4 == 1) {\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }\n    else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }\n  }\nLAB_00017834:\n  uVar6 = quote(param_1);\n  (*(code *)PTR_error_0002d2a0)(param_9,iVar4,PTR_DAT_0002d108 + -0x489c,param_8,uVar6);\nLAB_0001786c:\n  if (local_2c != *(int *)puVar1) {\n    (*(code *)PTR___stack_chk_fail_0002d2c4)();\n    uVar7 = xnumtoumax();\n    return uVar7;\n  }\n  return CONCAT44(local_38,local_34);\n}" type_identifier (function_declarator "xnumtoumax(undefined4 param_1,undefined4 param_2,uint param_3,uint param_4,uint param_5,uint param_6\n          ,undefined4 param_7,undefined4 param_8,int param_9)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,uint param_3,uint param_4,uint param_5,uint param_6\n          ,undefined4 param_7,undefined4 param_8,int param_9)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "uint param_6" type_identifier identifier) , (parameter_declaration "undefined4 param_7" type_identifier identifier) , (parameter_declaration "undefined4 param_8" type_identifier identifier) , (parameter_declaration "int param_9" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined8 uVar7;\n  uint local_38;\n  uint local_34;\n  int local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0002d2dc;\n  local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;\n  iVar4 = xstrtoumax(param_1,0,param_2,&local_38,param_7);\n  uVar3 = local_34;\n  uVar2 = local_38;\n  if (iVar4 == 0) {\n    if (((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6)))) goto LAB_0001786c;\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if ((uVar2 != 0) || (0x3fffffff < uVar3)) goto LAB_00017824;\n    iVar4 = 0x22;\n    *piVar5 = 0x22;\n    if (param_9 != 0) goto LAB_00017834;\nLAB_000178fc:\n    param_9 = 1;\n  }\n  else {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if (iVar4 == 1) {\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }\n    else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }\n  }\nLAB_00017834:\n  uVar6 = quote(param_1);\n  (*(code *)PTR_error_0002d2a0)(param_9,iVar4,PTR_DAT_0002d108 + -0x489c,param_8,uVar6);\nLAB_0001786c:\n  if (local_2c != *(int *)puVar1) {\n    (*(code *)PTR___stack_chk_fail_0002d2c4)();\n    uVar7 = xnumtoumax();\n    return uVar7;\n  }\n  return CONCAT44(local_38,local_34);\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar1 = PTR___stack_chk_guard_0002d2dc;" (assignment_expression "puVar1 = PTR___stack_chk_guard_0002d2dc" identifier = identifier) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0002d2dc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0002d2dc" * (cast_expression "(int *)PTR___stack_chk_guard_0002d2dc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar4 = xstrtoumax(param_1,0,param_2,&local_38,param_7);" (assignment_expression "iVar4 = xstrtoumax(param_1,0,param_2,&local_38,param_7)" identifier = (call_expression "xstrtoumax(param_1,0,param_2,&local_38,param_7)" identifier (argument_list "(param_1,0,param_2,&local_38,param_7)" ( identifier , number_literal , identifier , (pointer_expression "&local_38" & identifier) , identifier )))) ;) (expression_statement "uVar3 = local_34;" (assignment_expression "uVar3 = local_34" identifier = identifier) ;) (expression_statement "uVar2 = local_38;" (assignment_expression "uVar2 = local_38" identifier = identifier) ;) (if_statement "if (iVar4 == 0) {\n    if (((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6)))) goto LAB_0001786c;\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if ((uVar2 != 0) || (0x3fffffff < uVar3)) goto LAB_00017824;\n    iVar4 = 0x22;\n    *piVar5 = 0x22;\n    if (param_9 != 0) goto LAB_00017834;\nLAB_000178fc:\n    param_9 = 1;\n  }\n  else {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if (iVar4 == 1) {\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }\n    else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    if (((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6)))) goto LAB_0001786c;\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if ((uVar2 != 0) || (0x3fffffff < uVar3)) goto LAB_00017824;\n    iVar4 = 0x22;\n    *piVar5 = 0x22;\n    if (param_9 != 0) goto LAB_00017834;\nLAB_000178fc:\n    param_9 = 1;\n  }" { (if_statement "if (((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6)))) goto LAB_0001786c;" if (parenthesized_expression "(((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6))))" ( (binary_expression "((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6)))" (parenthesized_expression "((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5))))" ( (binary_expression "(param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))" (parenthesized_expression "(param_3 <= local_38)" ( (binary_expression "param_3 <= local_38" identifier <= identifier) )) && (parenthesized_expression "(((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))" ( (parenthesized_expression "((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5))" ( (binary_expression "(param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)" (parenthesized_expression "(param_3 != local_38 || (param_4 <= local_34))" ( (binary_expression "param_3 != local_38 || (param_4 <= local_34)" (binary_expression "param_3 != local_38" identifier != identifier) || (parenthesized_expression "(param_4 <= local_34)" ( (binary_expression "param_4 <= local_34" identifier <= identifier) ))) )) && (parenthesized_expression "(local_38 <= param_5)" ( (binary_expression "local_38 <= param_5" identifier <= identifier) ))) )) ))) )) && (parenthesized_expression "((local_38 != param_5 || (local_34 <= param_6)))" ( (parenthesized_expression "(local_38 != param_5 || (local_34 <= param_6))" ( (binary_expression "local_38 != param_5 || (local_34 <= param_6)" (binary_expression "local_38 != param_5" identifier != identifier) || (parenthesized_expression "(local_34 <= param_6)" ( (binary_expression "local_34 <= param_6" identifier <= identifier) ))) )) ))) )) (goto_statement "goto LAB_0001786c;" goto statement_identifier ;)) (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0002d264)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0002d264)()" (parenthesized_expression "(*(code *)PTR___errno_location_0002d264)" ( (pointer_expression "*(code *)PTR___errno_location_0002d264" * (cast_expression "(code *)PTR___errno_location_0002d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if ((uVar2 != 0) || (0x3fffffff < uVar3)) goto LAB_00017824;" if (parenthesized_expression "((uVar2 != 0) || (0x3fffffff < uVar3))" ( (binary_expression "(uVar2 != 0) || (0x3fffffff < uVar3)" (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) || (parenthesized_expression "(0x3fffffff < uVar3)" ( (binary_expression "0x3fffffff < uVar3" number_literal < identifier) ))) )) (goto_statement "goto LAB_00017824;" goto statement_identifier ;)) (expression_statement "iVar4 = 0x22;" (assignment_expression "iVar4 = 0x22" identifier = number_literal) ;) (expression_statement "*piVar5 = 0x22;" (assignment_expression "*piVar5 = 0x22" (pointer_expression "*piVar5" * identifier) = number_literal) ;) (if_statement "if (param_9 != 0) goto LAB_00017834;" if (parenthesized_expression "(param_9 != 0)" ( (binary_expression "param_9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00017834;" goto statement_identifier ;)) (labeled_statement "LAB_000178fc:\n    param_9 = 1;" statement_identifier : (expression_statement "param_9 = 1;" (assignment_expression "param_9 = 1" identifier = number_literal) ;)) }) (else_clause "else {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if (iVar4 == 1) {\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }\n    else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }\n  }" else (compound_statement "{\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if (iVar4 == 1) {\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }\n    else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }\n  }" { (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0002d264)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0002d264)()" (parenthesized_expression "(*(code *)PTR___errno_location_0002d264)" ( (pointer_expression "*(code *)PTR___errno_location_0002d264" * (cast_expression "(code *)PTR___errno_location_0002d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if (iVar4 == 1) {\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }\n    else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }" if (parenthesized_expression "(iVar4 == 1)" ( (binary_expression "iVar4 == 1" identifier == number_literal) )) (compound_statement "{\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }" { (labeled_statement "LAB_00017824:\n      iVar4 = 0x4f;" statement_identifier : (expression_statement "iVar4 = 0x4f;" (assignment_expression "iVar4 = 0x4f" identifier = number_literal) ;)) (expression_statement "*piVar5 = 0x4f;" (assignment_expression "*piVar5 = 0x4f" (pointer_expression "*piVar5" * identifier) = number_literal) ;) (if_statement "if (param_9 == 0) goto LAB_000178fc;" if (parenthesized_expression "(param_9 == 0)" ( (binary_expression "param_9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000178fc;" goto statement_identifier ;)) }) (else_clause "else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }" else (if_statement "if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }" if (parenthesized_expression "(iVar4 == 3)" ( (binary_expression "iVar4 == 3" identifier == number_literal) )) (compound_statement "{\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }" { (expression_statement "*piVar5 = 0;" (assignment_expression "*piVar5 = 0" (pointer_expression "*piVar5" * identifier) = number_literal) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (if_statement "if (param_9 == 0) {\n        param_9 = 1;\n      }" if (parenthesized_expression "(param_9 == 0)" ( (binary_expression "param_9 == 0" identifier == number_literal) )) (compound_statement "{\n        param_9 = 1;\n      }" { (expression_statement "param_9 = 1;" (assignment_expression "param_9 = 1" identifier = number_literal) ;) })) }) (else_clause "else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }" else (compound_statement "{\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }" { (expression_statement "iVar4 = *piVar5;" (assignment_expression "iVar4 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (if_statement "if (param_9 == 0) {\n        param_9 = 1;\n      }" if (parenthesized_expression "(param_9 == 0)" ( (binary_expression "param_9 == 0" identifier == number_literal) )) (compound_statement "{\n        param_9 = 1;\n      }" { (expression_statement "param_9 = 1;" (assignment_expression "param_9 = 1" identifier = number_literal) ;) })) (if_statement "if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }" if (parenthesized_expression "(iVar4 == 0x16)" ( (binary_expression "iVar4 == 0x16" identifier == number_literal) )) (compound_statement "{\n        iVar4 = 0;\n      }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) })) }))))) }))) (labeled_statement "LAB_00017834:\n  uVar6 = quote(param_1);" statement_identifier : (expression_statement "uVar6 = quote(param_1);" (assignment_expression "uVar6 = quote(param_1)" identifier = (call_expression "quote(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;)) (expression_statement "(*(code *)PTR_error_0002d2a0)(param_9,iVar4,PTR_DAT_0002d108 + -0x489c,param_8,uVar6);" (call_expression "(*(code *)PTR_error_0002d2a0)(param_9,iVar4,PTR_DAT_0002d108 + -0x489c,param_8,uVar6)" (parenthesized_expression "(*(code *)PTR_error_0002d2a0)" ( (pointer_expression "*(code *)PTR_error_0002d2a0" * (cast_expression "(code *)PTR_error_0002d2a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_9,iVar4,PTR_DAT_0002d108 + -0x489c,param_8,uVar6)" ( identifier , identifier , (binary_expression "PTR_DAT_0002d108 + -0x489c" identifier + number_literal) , identifier , identifier ))) ;) (labeled_statement "LAB_0001786c:\n  if (local_2c != *(int *)puVar1) {\n    (*(code *)PTR___stack_chk_fail_0002d2c4)();\n    uVar7 = xnumtoumax();\n    return uVar7;\n  }" statement_identifier : (if_statement "if (local_2c != *(int *)puVar1) {\n    (*(code *)PTR___stack_chk_fail_0002d2c4)();\n    uVar7 = xnumtoumax();\n    return uVar7;\n  }" if (parenthesized_expression "(local_2c != *(int *)puVar1)" ( (binary_expression "local_2c != *(int *)puVar1" identifier != (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    (*(code *)PTR___stack_chk_fail_0002d2c4)();\n    uVar7 = xnumtoumax();\n    return uVar7;\n  }" { (expression_statement "(*(code *)PTR___stack_chk_fail_0002d2c4)();" (call_expression "(*(code *)PTR___stack_chk_fail_0002d2c4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0002d2c4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0002d2c4" * (cast_expression "(code *)PTR___stack_chk_fail_0002d2c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "uVar7 = xnumtoumax();" (assignment_expression "uVar7 = xnumtoumax()" identifier = (call_expression "xnumtoumax()" identifier (argument_list "()" ( )))) ;) (return_statement "return uVar7;" return identifier ;) }))) (return_statement "return CONCAT44(local_38,local_34);" return (call_expression "CONCAT44(local_38,local_34)" identifier (argument_list "(local_38,local_34)" ( identifier , identifier ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , (pointer_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 { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT != IDENT) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) && (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != IDENT) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression LIT < IDENT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) }))))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (return_statement return IDENT ;) }))) (return_statement return (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })))
(function_definition "undefined8\nxnumtoumax(undefined4 param_1,undefined4 param_2,uint param_3,uint param_4,uint param_5,uint param_6\n          ,undefined4 param_7,undefined4 param_8,int param_9)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined8 uVar7;\n  uint local_38;\n  uint local_34;\n  int local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0002d2dc;\n  local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;\n  iVar4 = xstrtoumax(param_1,0,param_2,&local_38,param_7);\n  uVar3 = local_34;\n  uVar2 = local_38;\n  if (iVar4 == 0) {\n    if (((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6)))) goto LAB_0001786c;\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if ((uVar2 != 0) || (0x3fffffff < uVar3)) goto LAB_00017824;\n    iVar4 = 0x22;\n    *piVar5 = 0x22;\n    if (param_9 != 0) goto LAB_00017834;\nLAB_000178fc:\n    param_9 = 1;\n  }\n  else {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if (iVar4 == 1) {\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }\n    else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }\n  }\nLAB_00017834:\n  uVar6 = quote(param_1);\n  (*(code *)PTR_error_0002d2a0)(param_9,iVar4,PTR_DAT_0002d108 + -0x489c,param_8,uVar6);\nLAB_0001786c:\n  if (local_2c != *(int *)puVar1) {\n    (*(code *)PTR___stack_chk_fail_0002d2c4)();\n    uVar7 = xnumtoumax();\n    return uVar7;\n  }\n  return CONCAT44(local_38,local_34);\n}" (type_identifier "undefined8") (function_declarator "xnumtoumax(undefined4 param_1,undefined4 param_2,uint param_3,uint param_4,uint param_5,uint param_6\n          ,undefined4 param_7,undefined4 param_8,int param_9)" (identifier "xnumtoumax") (parameter_list "(undefined4 param_1,undefined4 param_2,uint param_3,uint param_4,uint param_5,uint param_6\n          ,undefined4 param_7,undefined4 param_8,int param_9)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) (, ",") (parameter_declaration "uint param_4" (type_identifier "uint") (identifier "param_4")) (, ",") (parameter_declaration "uint param_5" (type_identifier "uint") (identifier "param_5")) (, ",") (parameter_declaration "uint param_6" (type_identifier "uint") (identifier "param_6")) (, ",") (parameter_declaration "undefined4 param_7" (type_identifier "undefined4") (identifier "param_7")) (, ",") (parameter_declaration "undefined4 param_8" (type_identifier "undefined4") (identifier "param_8")) (, ",") (parameter_declaration "int param_9" (primitive_type "int") (identifier "param_9")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined8 uVar7;\n  uint local_38;\n  uint local_34;\n  int local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0002d2dc;\n  local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;\n  iVar4 = xstrtoumax(param_1,0,param_2,&local_38,param_7);\n  uVar3 = local_34;\n  uVar2 = local_38;\n  if (iVar4 == 0) {\n    if (((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6)))) goto LAB_0001786c;\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if ((uVar2 != 0) || (0x3fffffff < uVar3)) goto LAB_00017824;\n    iVar4 = 0x22;\n    *piVar5 = 0x22;\n    if (param_9 != 0) goto LAB_00017834;\nLAB_000178fc:\n    param_9 = 1;\n  }\n  else {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if (iVar4 == 1) {\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }\n    else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }\n  }\nLAB_00017834:\n  uVar6 = quote(param_1);\n  (*(code *)PTR_error_0002d2a0)(param_9,iVar4,PTR_DAT_0002d108 + -0x489c,param_8,uVar6);\nLAB_0001786c:\n  if (local_2c != *(int *)puVar1) {\n    (*(code *)PTR___stack_chk_fail_0002d2c4)();\n    uVar7 = xnumtoumax();\n    return uVar7;\n  }\n  return CONCAT44(local_38,local_34);\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "undefined8 uVar7;" (type_identifier "undefined8") (identifier "uVar7") (; ";")) (declaration "uint local_38;" (type_identifier "uint") (identifier "local_38") (; ";")) (declaration "uint local_34;" (type_identifier "uint") (identifier "local_34") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar1 = PTR___stack_chk_guard_0002d2dc;" (assignment_expression "puVar1 = PTR___stack_chk_guard_0002d2dc" (identifier "puVar1") (= "=") (identifier "PTR___stack_chk_guard_0002d2dc")) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0002d2dc" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_0002d2dc" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_0002d2dc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_0002d2dc")))) (; ";")) (expression_statement "iVar4 = xstrtoumax(param_1,0,param_2,&local_38,param_7);" (assignment_expression "iVar4 = xstrtoumax(param_1,0,param_2,&local_38,param_7)" (identifier "iVar4") (= "=") (call_expression "xstrtoumax(param_1,0,param_2,&local_38,param_7)" (identifier "xstrtoumax") (argument_list "(param_1,0,param_2,&local_38,param_7)" (( "(") (identifier "param_1") (, ",") (number_literal "0") (, ",") (identifier "param_2") (, ",") (pointer_expression "&local_38" (& "&") (identifier "local_38")) (, ",") (identifier "param_7") () ")")))) (; ";")) (expression_statement "uVar3 = local_34;" (assignment_expression "uVar3 = local_34" (identifier "uVar3") (= "=") (identifier "local_34")) (; ";")) (expression_statement "uVar2 = local_38;" (assignment_expression "uVar2 = local_38" (identifier "uVar2") (= "=") (identifier "local_38")) (; ";")) (if_statement "if (iVar4 == 0) {\n    if (((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6)))) goto LAB_0001786c;\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if ((uVar2 != 0) || (0x3fffffff < uVar3)) goto LAB_00017824;\n    iVar4 = 0x22;\n    *piVar5 = 0x22;\n    if (param_9 != 0) goto LAB_00017834;\nLAB_000178fc:\n    param_9 = 1;\n  }\n  else {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if (iVar4 == 1) {\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }\n    else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6)))) goto LAB_0001786c;\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if ((uVar2 != 0) || (0x3fffffff < uVar3)) goto LAB_00017824;\n    iVar4 = 0x22;\n    *piVar5 = 0x22;\n    if (param_9 != 0) goto LAB_00017834;\nLAB_000178fc:\n    param_9 = 1;\n  }" ({ "{") (if_statement "if (((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6)))) goto LAB_0001786c;" (if "if") (parenthesized_expression "(((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6))))" (( "(") (binary_expression "((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&\n       ((local_38 != param_5 || (local_34 <= param_6)))" (parenthesized_expression "((param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5))))" (( "(") (binary_expression "(param_3 <= local_38) &&\n        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))" (parenthesized_expression "(param_3 <= local_38)" (( "(") (binary_expression "param_3 <= local_38" (identifier "param_3") (<= "<=") (identifier "local_38")) () ")")) (&& "&&") (parenthesized_expression "(((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))" (( "(") (parenthesized_expression "((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5))" (( "(") (binary_expression "(param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)" (parenthesized_expression "(param_3 != local_38 || (param_4 <= local_34))" (( "(") (binary_expression "param_3 != local_38 || (param_4 <= local_34)" (binary_expression "param_3 != local_38" (identifier "param_3") (!= "!=") (identifier "local_38")) (|| "||") (parenthesized_expression "(param_4 <= local_34)" (( "(") (binary_expression "param_4 <= local_34" (identifier "param_4") (<= "<=") (identifier "local_34")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(local_38 <= param_5)" (( "(") (binary_expression "local_38 <= param_5" (identifier "local_38") (<= "<=") (identifier "param_5")) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((local_38 != param_5 || (local_34 <= param_6)))" (( "(") (parenthesized_expression "(local_38 != param_5 || (local_34 <= param_6))" (( "(") (binary_expression "local_38 != param_5 || (local_34 <= param_6)" (binary_expression "local_38 != param_5" (identifier "local_38") (!= "!=") (identifier "param_5")) (|| "||") (parenthesized_expression "(local_34 <= param_6)" (( "(") (binary_expression "local_34 <= param_6" (identifier "local_34") (<= "<=") (identifier "param_6")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0001786c;" (goto "goto") (statement_identifier "LAB_0001786c") (; ";"))) (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)()" (identifier "piVar5") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_0002d264)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0002d264)()" (parenthesized_expression "(*(code *)PTR___errno_location_0002d264)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0002d264" (* "*") (cast_expression "(code *)PTR___errno_location_0002d264" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0002d264"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if ((uVar2 != 0) || (0x3fffffff < uVar3)) goto LAB_00017824;" (if "if") (parenthesized_expression "((uVar2 != 0) || (0x3fffffff < uVar3))" (( "(") (binary_expression "(uVar2 != 0) || (0x3fffffff < uVar3)" (parenthesized_expression "(uVar2 != 0)" (( "(") (binary_expression "uVar2 != 0" (identifier "uVar2") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(0x3fffffff < uVar3)" (( "(") (binary_expression "0x3fffffff < uVar3" (number_literal "0x3fffffff") (< "<") (identifier "uVar3")) () ")"))) () ")")) (goto_statement "goto LAB_00017824;" (goto "goto") (statement_identifier "LAB_00017824") (; ";"))) (expression_statement "iVar4 = 0x22;" (assignment_expression "iVar4 = 0x22" (identifier "iVar4") (= "=") (number_literal "0x22")) (; ";")) (expression_statement "*piVar5 = 0x22;" (assignment_expression "*piVar5 = 0x22" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (number_literal "0x22")) (; ";")) (if_statement "if (param_9 != 0) goto LAB_00017834;" (if "if") (parenthesized_expression "(param_9 != 0)" (( "(") (binary_expression "param_9 != 0" (identifier "param_9") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00017834;" (goto "goto") (statement_identifier "LAB_00017834") (; ";"))) (labeled_statement "LAB_000178fc:\n    param_9 = 1;" (statement_identifier "LAB_000178fc") (: ":") (expression_statement "param_9 = 1;" (assignment_expression "param_9 = 1" (identifier "param_9") (= "=") (number_literal "1")) (; ";"))) (} "}")) (else_clause "else {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if (iVar4 == 1) {\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }\n    else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    if (iVar4 == 1) {\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }\n    else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }\n  }" ({ "{") (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)()" (identifier "piVar5") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_0002d264)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0002d264)()" (parenthesized_expression "(*(code *)PTR___errno_location_0002d264)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0002d264" (* "*") (cast_expression "(code *)PTR___errno_location_0002d264" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0002d264"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (iVar4 == 1) {\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }\n    else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }" (if "if") (parenthesized_expression "(iVar4 == 1)" (( "(") (binary_expression "iVar4 == 1" (identifier "iVar4") (== "==") (number_literal "1")) () ")")) (compound_statement "{\nLAB_00017824:\n      iVar4 = 0x4f;\n      *piVar5 = 0x4f;\n      if (param_9 == 0) goto LAB_000178fc;\n    }" ({ "{") (labeled_statement "LAB_00017824:\n      iVar4 = 0x4f;" (statement_identifier "LAB_00017824") (: ":") (expression_statement "iVar4 = 0x4f;" (assignment_expression "iVar4 = 0x4f" (identifier "iVar4") (= "=") (number_literal "0x4f")) (; ";"))) (expression_statement "*piVar5 = 0x4f;" (assignment_expression "*piVar5 = 0x4f" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (number_literal "0x4f")) (; ";")) (if_statement "if (param_9 == 0) goto LAB_000178fc;" (if "if") (parenthesized_expression "(param_9 == 0)" (( "(") (binary_expression "param_9 == 0" (identifier "param_9") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000178fc;" (goto "goto") (statement_identifier "LAB_000178fc") (; ";"))) (} "}")) (else_clause "else if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }" (else "else") (if_statement "if (iVar4 == 3) {\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }\n    else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }" (if "if") (parenthesized_expression "(iVar4 == 3)" (( "(") (binary_expression "iVar4 == 3" (identifier "iVar4") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n      *piVar5 = 0;\n      iVar4 = 0;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n    }" ({ "{") (expression_statement "*piVar5 = 0;" (assignment_expression "*piVar5 = 0" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_9 == 0) {\n        param_9 = 1;\n      }" (if "if") (parenthesized_expression "(param_9 == 0)" (( "(") (binary_expression "param_9 == 0" (identifier "param_9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        param_9 = 1;\n      }" ({ "{") (expression_statement "param_9 = 1;" (assignment_expression "param_9 = 1" (identifier "param_9") (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }" (else "else") (compound_statement "{\n      iVar4 = *piVar5;\n      if (param_9 == 0) {\n        param_9 = 1;\n      }\n      if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }\n    }" ({ "{") (expression_statement "iVar4 = *piVar5;" (assignment_expression "iVar4 = *piVar5" (identifier "iVar4") (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (if_statement "if (param_9 == 0) {\n        param_9 = 1;\n      }" (if "if") (parenthesized_expression "(param_9 == 0)" (( "(") (binary_expression "param_9 == 0" (identifier "param_9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        param_9 = 1;\n      }" ({ "{") (expression_statement "param_9 = 1;" (assignment_expression "param_9 = 1" (identifier "param_9") (= "=") (number_literal "1")) (; ";")) (} "}"))) (if_statement "if (iVar4 == 0x16) {\n        iVar4 = 0;\n      }" (if "if") (parenthesized_expression "(iVar4 == 0x16)" (( "(") (binary_expression "iVar4 == 0x16" (identifier "iVar4") (== "==") (number_literal "0x16")) () ")")) (compound_statement "{\n        iVar4 = 0;\n      }" ({ "{") (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}")))))) (} "}")))) (labeled_statement "LAB_00017834:\n  uVar6 = quote(param_1);" (statement_identifier "LAB_00017834") (: ":") (expression_statement "uVar6 = quote(param_1);" (assignment_expression "uVar6 = quote(param_1)" (identifier "uVar6") (= "=") (call_expression "quote(param_1)" (identifier "quote") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";"))) (expression_statement "(*(code *)PTR_error_0002d2a0)(param_9,iVar4,PTR_DAT_0002d108 + -0x489c,param_8,uVar6);" (call_expression "(*(code *)PTR_error_0002d2a0)(param_9,iVar4,PTR_DAT_0002d108 + -0x489c,param_8,uVar6)" (parenthesized_expression "(*(code *)PTR_error_0002d2a0)" (( "(") (pointer_expression "*(code *)PTR_error_0002d2a0" (* "*") (cast_expression "(code *)PTR_error_0002d2a0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_error_0002d2a0"))) () ")")) (argument_list "(param_9,iVar4,PTR_DAT_0002d108 + -0x489c,param_8,uVar6)" (( "(") (identifier "param_9") (, ",") (identifier "iVar4") (, ",") (binary_expression "PTR_DAT_0002d108 + -0x489c" (identifier "PTR_DAT_0002d108") (+ "+") (number_literal "-0x489c")) (, ",") (identifier "param_8") (, ",") (identifier "uVar6") () ")"))) (; ";")) (labeled_statement "LAB_0001786c:\n  if (local_2c != *(int *)puVar1) {\n    (*(code *)PTR___stack_chk_fail_0002d2c4)();\n    uVar7 = xnumtoumax();\n    return uVar7;\n  }" (statement_identifier "LAB_0001786c") (: ":") (if_statement "if (local_2c != *(int *)puVar1) {\n    (*(code *)PTR___stack_chk_fail_0002d2c4)();\n    uVar7 = xnumtoumax();\n    return uVar7;\n  }" (if "if") (parenthesized_expression "(local_2c != *(int *)puVar1)" (( "(") (binary_expression "local_2c != *(int *)puVar1" (identifier "local_2c") (!= "!=") (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) () ")")) (compound_statement "{\n    (*(code *)PTR___stack_chk_fail_0002d2c4)();\n    uVar7 = xnumtoumax();\n    return uVar7;\n  }" ({ "{") (expression_statement "(*(code *)PTR___stack_chk_fail_0002d2c4)();" (call_expression "(*(code *)PTR___stack_chk_fail_0002d2c4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0002d2c4)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0002d2c4" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0002d2c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0002d2c4"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar7 = xnumtoumax();" (assignment_expression "uVar7 = xnumtoumax()" (identifier "uVar7") (= "=") (call_expression "xnumtoumax()" (identifier "xnumtoumax") (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return uVar7;" (return "return") (identifier "uVar7") (; ";")) (} "}")))) (return_statement "return CONCAT44(local_38,local_34);" (return "return") (call_expression "CONCAT44(local_38,local_34)" (identifier "CONCAT44") (argument_list "(local_38,local_34)" (( "(") (identifier "local_38") (, ",") (identifier "local_34") () ")"))) (; ";")) (} "}")))

/* WARNING: Removing unreachable block (ram,0x000178c4) */

type_1 function_1(char *n_str,int base,type_1 var_8,type_1 max,char *var_4,char *var_6,
                    int var_11)

{
  type_2 *puVar1;
  char *var_10;
  type_3 var_2;
  int *piVar4;
  char *var_9;
  type_1 *val;
  int var_14;
  type_4 *pcVar7;
  type_1 uVar8;
  type_5 in_stack_ffffffb4;
  type_6 *var_5;
  type_5 in_stack_ffffffbc;
  int in_stack_ffffffc0;
  type_1 tnum;
  char *var_16;
  
  puVar1 = PTR___stack_chk_guard_0002d2dc;
  val = &tnum;
  var_5 = &_gp;
  var_16 = *(char **)PTR___stack_chk_guard_0002d2dc;
  var_2 = var_1(n_str,(char **)0x0,base,val,max._0_4_);
  var_10 = tnum._4_4_;
  var_9 = tnum._0_4_;
  if (var_2 == var_3) {
    if (tnum._0_4_ < var_4) {
      pcVar7 = *(type_4 **)(var_5 + -0x7e6c);
    }
    else if (((var_4 != tnum._0_4_) || (pcVar7 = *(type_4 **)(var_5 + -0x7e6c), var_6 <= tnum._4_4_)
             ) && (pcVar7 = *(type_4 **)(var_5 + -0x7e6c), var_7(tnum._0_4_,tnum._4_4_) <= var_8))
    goto LAB_0001786c;
    piVar4 = (int *)(*pcVar7)();
    if ((var_9 == (char *)0x0) && (var_10 < (char *)0x40000000)) {
      var_14 = 0x22;
      *piVar4 = 0x22;
    }
    else {
LAB_00017824:
      var_14 = 0x4f;
      *piVar4 = 0x4f;
    }
    if (var_11 == 0) {
      var_11 = 1;
    }
  }
  else {
    piVar4 = (int *)(**(type_4 **)(var_5 + -0x7e6c))();
    if (var_2 == var_12) goto LAB_00017824;
    if (var_2 == var_13) {
      *piVar4 = 0;
      var_14 = 0;
      if (var_11 == 0) {
        var_11 = 1;
      }
    }
    else {
      var_14 = *piVar4;
      if (var_11 == 0) {
        var_11 = 1;
      }
      if (var_14 == 0x16) {
        var_14 = 0;
      }
    }
  }
  max._0_4_ = var_15(n_str);
  base = *(int *)(var_5 + -0x7fc8) + -0x489c;
  (**(type_4 **)(var_5 + -0x7e30))(var_11,var_14);
  val = max._4_4_;
LAB_0001786c:
  var_9 = *(char **)puVar1;
  if (var_16 == var_9) {
    return var_7(tnum._0_4_,tnum._4_4_);
  }
  (**(type_4 **)(var_5 + -0x7e0c))();
  uVar8 = function_1(var_9,10,var_7(max._0_4_,in_stack_ffffffb4),
                     var_7(var_5,in_stack_ffffffbc),(char *)base,(char *)val,in_stack_ffffffc0);
  return uVar8;
}


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

undefined8
MASKED(undefined4 param_1,undefined4 param_2,uint param_3,uint param_4,uint param_5,uint param_6
          ,undefined4 param_7,undefined4 param_8,int param_9)

{
  undefined *puVar1;
  uint uVar2;
  uint uVar3;
  int iVar4;
  int *piVar5;
  undefined4 uVar6;
  undefined8 uVar7;
  uint local_38;
  uint local_34;
  int local_2c;
  
  puVar1 = PTR___stack_chk_guard_0002d2dc;
  local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;
  iVar4 = xstrtoumax(param_1,0,param_2,&local_38,param_7);
  uVar3 = local_34;
  uVar2 = local_38;
  if (iVar4 == 0) {
    if (((param_3 <= local_38) &&
        (((param_3 != local_38 || (param_4 <= local_34)) && (local_38 <= param_5)))) &&
       ((local_38 != param_5 || (local_34 <= param_6)))) goto LAB_0001786c;
    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();
    if ((uVar2 != 0) || (0x3fffffff < uVar3)) goto LAB_00017824;
    iVar4 = 0x22;
    *piVar5 = 0x22;
    if (param_9 != 0) goto LAB_00017834;
LAB_000178fc:
    param_9 = 1;
  }
  else {
    piVar5 = (int *)(*(code *)PTR___errno_location_0002d264)();
    if (iVar4 == 1) {
LAB_00017824:
      iVar4 = 0x4f;
      *piVar5 = 0x4f;
      if (param_9 == 0) goto LAB_000178fc;
    }
    else if (iVar4 == 3) {
      *piVar5 = 0;
      iVar4 = 0;
      if (param_9 == 0) {
        param_9 = 1;
      }
    }
    else {
      iVar4 = *piVar5;
      if (param_9 == 0) {
        param_9 = 1;
      }
      if (iVar4 == 0x16) {
        iVar4 = 0;
      }
    }
  }
LAB_00017834:
  uVar6 = quote(param_1);
  (*(code *)PTR_error_0002d2a0)(param_9,iVar4,PTR_DAT_0002d108 + -0x489c,param_8,uVar6);
LAB_0001786c:
  if (local_2c != *(int *)puVar1) {
    (*(code *)PTR___stack_chk_fail_0002d2c4)();
    uVar7 = MASKED();
    return uVar7;
  }
  return CONCAT44(local_38,local_34);
}

