
bfd_boolean stab_range_type(void *p,bfd_signed_vma low,bfd_signed_vma high)

{
  uint size;
  bfd_boolean bVar1;
  char *__s;
  size_t sVar2;
  char *__s_00;
  stab_write_handle *info;
  
  bVar1 = *(bfd_boolean *)(*(long *)((long)p + 0x60) + 0x1c);
  size = *(uint *)(*(long *)((long)p + 0x60) + 0x18);
  __s = stab_pop_type((stab_write_handle *)((long)p + 0x60));
  sVar2 = strlen(__s);
  __s_00 = (char *)xmalloc(sVar2 + 100);
  sprintf(__s_00,"r%s;%ld;%ld;",__s,low,high);
  free(__s);
  bVar1 = stab_push_string((stab_write_handle *)((long)p + 0x60),__s_00,0,bVar1,size);
  if (bVar1 != 0) {
    free(__s_00);
    bVar1 = 1;
  }
  return bVar1;
}



undefined8 FUN_0011a3d0(long param_1,undefined8 param_2,undefined8 param_3)

{
  undefined4 uVar1;
  undefined4 uVar2;
  char *__s;
  size_t sVar3;
  char *__s_00;
  undefined8 uVar4;
  
  uVar1 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x1c);
  uVar2 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x18);
  __s = (char *)FUN_00118930(param_1 + 0x60);
  sVar3 = strlen(__s);
  __s_00 = (char *)xmalloc(sVar3 + 100);
  sprintf(__s_00,"r%s;%ld;%ld;",__s,param_2,param_3);
  free(__s);
  uVar4 = FUN_00119800(param_1 + 0x60,__s_00,0,uVar1,uVar2);
  if ((int)uVar4 != 0) {
    free(__s_00);
    uVar4 = 1;
  }
  return uVar4;
}


PUSH R15
MOV R15,RSI
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
LEA RBX,[RDI + 0x60]
SUB RSP,0x18
MOV RAX,qword ptr [RDI + 0x60]
MOV RDI,RBX
MOV qword ptr [RSP + 0x8],RDX
MOV R13D,dword ptr [RAX + 0x1c]
MOV R14D,dword ptr [RAX + 0x18]
CALL 0x00118930
MOV RDI,RAX
MOV RBP,RAX
CALL 0x00104260
LEA RDI,[RAX + 0x64]
CALL 0x00104370
MOV R8,qword ptr [RSP + 0x8]
MOV RCX,R15
MOV RDX,RBP
LEA RSI,[0x12409e]
MOV RDI,RAX
MOV R12,RAX
XOR EAX,EAX
CALL 0x00104820
MOV RDI,RBP
CALL 0x00104920
XOR EDX,EDX
MOV R8D,R14D
MOV ECX,R13D
MOV RSI,R12
MOV RDI,RBX
CALL 0x00119800
TEST EAX,EAX
JZ 0x0011a45d
MOV RDI,R12
CALL 0x00104920
MOV EAX,0x1
ADD RSP,0x18
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
(translation_unit "undefined8 FUN_0011a3d0(long param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  char *__s;\n  size_t sVar3;\n  char *__s_00;\n  undefined8 uVar4;\n  \n  uVar1 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x1c);\n  uVar2 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x18);\n  __s = (char *)FUN_00118930(param_1 + 0x60);\n  sVar3 = strlen(__s);\n  __s_00 = (char *)xmalloc(sVar3 + 100);\n  sprintf(__s_00,"r%s;%ld;%ld;",__s,param_2,param_3);\n  free(__s);\n  uVar4 = FUN_00119800(param_1 + 0x60,__s_00,0,uVar1,uVar2);\n  if ((int)uVar4 != 0) {\n    free(__s_00);\n    uVar4 = 1;\n  }\n  return uVar4;\n}\n\n" (function_definition "undefined8 FUN_0011a3d0(long param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  char *__s;\n  size_t sVar3;\n  char *__s_00;\n  undefined8 uVar4;\n  \n  uVar1 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x1c);\n  uVar2 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x18);\n  __s = (char *)FUN_00118930(param_1 + 0x60);\n  sVar3 = strlen(__s);\n  __s_00 = (char *)xmalloc(sVar3 + 100);\n  sprintf(__s_00,"r%s;%ld;%ld;",__s,param_2,param_3);\n  free(__s);\n  uVar4 = FUN_00119800(param_1 + 0x60,__s_00,0,uVar1,uVar2);\n  if ((int)uVar4 != 0) {\n    free(__s_00);\n    uVar4 = 1;\n  }\n  return uVar4;\n}" type_identifier (function_declarator "FUN_0011a3d0(long param_1,undefined8 param_2,undefined8 param_3)" identifier (parameter_list "(long param_1,undefined8 param_2,undefined8 param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  char *__s;\n  size_t sVar3;\n  char *__s_00;\n  undefined8 uVar4;\n  \n  uVar1 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x1c);\n  uVar2 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x18);\n  __s = (char *)FUN_00118930(param_1 + 0x60);\n  sVar3 = strlen(__s);\n  __s_00 = (char *)xmalloc(sVar3 + 100);\n  sprintf(__s_00,"r%s;%ld;%ld;",__s,param_2,param_3);\n  free(__s);\n  uVar4 = FUN_00119800(param_1 + 0x60,__s_00,0,uVar1,uVar2);\n  if ((int)uVar4 != 0) {\n    free(__s_00);\n    uVar4 = 1;\n  }\n  return uVar4;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "char *__s_00;" primitive_type (pointer_declarator "*__s_00" * identifier) ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (expression_statement "uVar1 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x1c);" (assignment_expression "uVar1 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x1c)" identifier = (pointer_expression "*(undefined4 *)(*(long *)(param_1 + 0x60) + 0x1c)" * (cast_expression "(undefined4 *)(*(long *)(param_1 + 0x60) + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x60) + 0x1c)" ( (binary_expression "*(long *)(param_1 + 0x60) + 0x1c" (pointer_expression "*(long *)(param_1 + 0x60)" * (cast_expression "(long *)(param_1 + 0x60)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar2 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x18);" (assignment_expression "uVar2 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x18)" identifier = (pointer_expression "*(undefined4 *)(*(long *)(param_1 + 0x60) + 0x18)" * (cast_expression "(undefined4 *)(*(long *)(param_1 + 0x60) + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x60) + 0x18)" ( (binary_expression "*(long *)(param_1 + 0x60) + 0x18" (pointer_expression "*(long *)(param_1 + 0x60)" * (cast_expression "(long *)(param_1 + 0x60)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "__s = (char *)FUN_00118930(param_1 + 0x60);" (assignment_expression "__s = (char *)FUN_00118930(param_1 + 0x60)" identifier = (cast_expression "(char *)FUN_00118930(param_1 + 0x60)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00118930(param_1 + 0x60)" identifier (argument_list "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "sVar3 = strlen(__s);" (assignment_expression "sVar3 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "__s_00 = (char *)xmalloc(sVar3 + 100);" (assignment_expression "__s_00 = (char *)xmalloc(sVar3 + 100)" identifier = (cast_expression "(char *)xmalloc(sVar3 + 100)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar3 + 100)" identifier (argument_list "(sVar3 + 100)" ( (binary_expression "sVar3 + 100" identifier + number_literal) ))))) ;) (expression_statement "sprintf(__s_00,"r%s;%ld;%ld;",__s,param_2,param_3);" (call_expression "sprintf(__s_00,"r%s;%ld;%ld;",__s,param_2,param_3)" identifier (argument_list "(__s_00,"r%s;%ld;%ld;",__s,param_2,param_3)" ( identifier , (string_literal ""r%s;%ld;%ld;"" " string_content ") , identifier , identifier , identifier ))) ;) (expression_statement "free(__s);" (call_expression "free(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (expression_statement "uVar4 = FUN_00119800(param_1 + 0x60,__s_00,0,uVar1,uVar2);" (assignment_expression "uVar4 = FUN_00119800(param_1 + 0x60,__s_00,0,uVar1,uVar2)" identifier = (call_expression "FUN_00119800(param_1 + 0x60,__s_00,0,uVar1,uVar2)" identifier (argument_list "(param_1 + 0x60,__s_00,0,uVar1,uVar2)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) , identifier , number_literal , identifier , identifier )))) ;) (if_statement "if ((int)uVar4 != 0) {\n    free(__s_00);\n    uVar4 = 1;\n  }" if (parenthesized_expression "((int)uVar4 != 0)" ( (binary_expression "(int)uVar4 != 0" (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )) (compound_statement "{\n    free(__s_00);\n    uVar4 = 1;\n  }" { (expression_statement "free(__s_00);" (call_expression "free(__s_00)" identifier (argument_list "(__s_00)" ( identifier ))) ;) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) })) (return_statement "return uVar4;" return identifier ;) })))
(translation_unit "bfd_boolean stab_range_type(void *p,bfd_signed_vma low,bfd_signed_vma high)\n\n{\n  uint size;\n  bfd_boolean bVar1;\n  char *__s;\n  size_t sVar2;\n  char *__s_00;\n  stab_write_handle *info;\n  \n  bVar1 = *(bfd_boolean *)(*(long *)((long)p + 0x60) + 0x1c);\n  size = *(uint *)(*(long *)((long)p + 0x60) + 0x18);\n  __s = stab_pop_type((stab_write_handle *)((long)p + 0x60));\n  sVar2 = strlen(__s);\n  __s_00 = (char *)xmalloc(sVar2 + 100);\n  sprintf(__s_00,"r%s;%ld;%ld;",__s,low,high);\n  free(__s);\n  bVar1 = stab_push_string((stab_write_handle *)((long)p + 0x60),__s_00,0,bVar1,size);\n  if (bVar1 != 0) {\n    free(__s_00);\n    bVar1 = 1;\n  }\n  return bVar1;\n}\n\n" (function_definition "bfd_boolean stab_range_type(void *p,bfd_signed_vma low,bfd_signed_vma high)\n\n{\n  uint size;\n  bfd_boolean bVar1;\n  char *__s;\n  size_t sVar2;\n  char *__s_00;\n  stab_write_handle *info;\n  \n  bVar1 = *(bfd_boolean *)(*(long *)((long)p + 0x60) + 0x1c);\n  size = *(uint *)(*(long *)((long)p + 0x60) + 0x18);\n  __s = stab_pop_type((stab_write_handle *)((long)p + 0x60));\n  sVar2 = strlen(__s);\n  __s_00 = (char *)xmalloc(sVar2 + 100);\n  sprintf(__s_00,"r%s;%ld;%ld;",__s,low,high);\n  free(__s);\n  bVar1 = stab_push_string((stab_write_handle *)((long)p + 0x60),__s_00,0,bVar1,size);\n  if (bVar1 != 0) {\n    free(__s_00);\n    bVar1 = 1;\n  }\n  return bVar1;\n}" type_identifier (function_declarator "stab_range_type(void *p,bfd_signed_vma low,bfd_signed_vma high)" identifier (parameter_list "(void *p,bfd_signed_vma low,bfd_signed_vma high)" ( (parameter_declaration "void *p" primitive_type (pointer_declarator "*p" * identifier)) , (parameter_declaration "bfd_signed_vma low" type_identifier identifier) , (parameter_declaration "bfd_signed_vma high" type_identifier identifier) ))) (compound_statement "{\n  uint size;\n  bfd_boolean bVar1;\n  char *__s;\n  size_t sVar2;\n  char *__s_00;\n  stab_write_handle *info;\n  \n  bVar1 = *(bfd_boolean *)(*(long *)((long)p + 0x60) + 0x1c);\n  size = *(uint *)(*(long *)((long)p + 0x60) + 0x18);\n  __s = stab_pop_type((stab_write_handle *)((long)p + 0x60));\n  sVar2 = strlen(__s);\n  __s_00 = (char *)xmalloc(sVar2 + 100);\n  sprintf(__s_00,"r%s;%ld;%ld;",__s,low,high);\n  free(__s);\n  bVar1 = stab_push_string((stab_write_handle *)((long)p + 0x60),__s_00,0,bVar1,size);\n  if (bVar1 != 0) {\n    free(__s_00);\n    bVar1 = 1;\n  }\n  return bVar1;\n}" { (declaration "uint size;" type_identifier identifier ;) (declaration "bfd_boolean bVar1;" type_identifier identifier ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "char *__s_00;" primitive_type (pointer_declarator "*__s_00" * identifier) ;) (declaration "stab_write_handle *info;" type_identifier (pointer_declarator "*info" * identifier) ;) (expression_statement "bVar1 = *(bfd_boolean *)(*(long *)((long)p + 0x60) + 0x1c);" (assignment_expression "bVar1 = *(bfd_boolean *)(*(long *)((long)p + 0x60) + 0x1c)" identifier = (pointer_expression "*(bfd_boolean *)(*(long *)((long)p + 0x60) + 0x1c)" * (cast_expression "(bfd_boolean *)(*(long *)((long)p + 0x60) + 0x1c)" ( (type_descriptor "bfd_boolean *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)((long)p + 0x60) + 0x1c)" ( (binary_expression "*(long *)((long)p + 0x60) + 0x1c" (pointer_expression "*(long *)((long)p + 0x60)" * (cast_expression "(long *)((long)p + 0x60)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)p + 0x60)" ( (binary_expression "(long)p + 0x60" (cast_expression "(long)p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "size = *(uint *)(*(long *)((long)p + 0x60) + 0x18);" (assignment_expression "size = *(uint *)(*(long *)((long)p + 0x60) + 0x18)" identifier = (pointer_expression "*(uint *)(*(long *)((long)p + 0x60) + 0x18)" * (cast_expression "(uint *)(*(long *)((long)p + 0x60) + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)((long)p + 0x60) + 0x18)" ( (binary_expression "*(long *)((long)p + 0x60) + 0x18" (pointer_expression "*(long *)((long)p + 0x60)" * (cast_expression "(long *)((long)p + 0x60)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)p + 0x60)" ( (binary_expression "(long)p + 0x60" (cast_expression "(long)p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "__s = stab_pop_type((stab_write_handle *)((long)p + 0x60));" (assignment_expression "__s = stab_pop_type((stab_write_handle *)((long)p + 0x60))" identifier = (call_expression "stab_pop_type((stab_write_handle *)((long)p + 0x60))" identifier (argument_list "((stab_write_handle *)((long)p + 0x60))" ( (cast_expression "(stab_write_handle *)((long)p + 0x60)" ( (type_descriptor "stab_write_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)p + 0x60)" ( (binary_expression "(long)p + 0x60" (cast_expression "(long)p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) )))) ;) (expression_statement "sVar2 = strlen(__s);" (assignment_expression "sVar2 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "__s_00 = (char *)xmalloc(sVar2 + 100);" (assignment_expression "__s_00 = (char *)xmalloc(sVar2 + 100)" identifier = (cast_expression "(char *)xmalloc(sVar2 + 100)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar2 + 100)" identifier (argument_list "(sVar2 + 100)" ( (binary_expression "sVar2 + 100" identifier + number_literal) ))))) ;) (expression_statement "sprintf(__s_00,"r%s;%ld;%ld;",__s,low,high);" (call_expression "sprintf(__s_00,"r%s;%ld;%ld;",__s,low,high)" identifier (argument_list "(__s_00,"r%s;%ld;%ld;",__s,low,high)" ( identifier , (string_literal ""r%s;%ld;%ld;"" " string_content ") , identifier , identifier , identifier ))) ;) (expression_statement "free(__s);" (call_expression "free(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (expression_statement "bVar1 = stab_push_string((stab_write_handle *)((long)p + 0x60),__s_00,0,bVar1,size);" (assignment_expression "bVar1 = stab_push_string((stab_write_handle *)((long)p + 0x60),__s_00,0,bVar1,size)" identifier = (call_expression "stab_push_string((stab_write_handle *)((long)p + 0x60),__s_00,0,bVar1,size)" identifier (argument_list "((stab_write_handle *)((long)p + 0x60),__s_00,0,bVar1,size)" ( (cast_expression "(stab_write_handle *)((long)p + 0x60)" ( (type_descriptor "stab_write_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)p + 0x60)" ( (binary_expression "(long)p + 0x60" (cast_expression "(long)p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) , identifier , number_literal , identifier , identifier )))) ;) (if_statement "if (bVar1 != 0) {\n    free(__s_00);\n    bVar1 = 1;\n  }" if (parenthesized_expression "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    free(__s_00);\n    bVar1 = 1;\n  }" { (expression_statement "free(__s_00);" (call_expression "free(__s_00)" identifier (argument_list "(__s_00)" ( identifier ))) ;) (expression_statement "bVar1 = 1;" (assignment_expression "bVar1 = 1" identifier = number_literal) ;) })) (return_statement "return bVar1;" return identifier ;) })))
(translation_unit "undefined8 FUN_0011a3d0(long param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  char *__s;\n  size_t sVar3;\n  char *__s_00;\n  undefined8 uVar4;\n  \n  uVar1 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x1c);\n  uVar2 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x18);\n  __s = (char *)FUN_00118930(param_1 + 0x60);\n  sVar3 = strlen(__s);\n  __s_00 = (char *)xmalloc(sVar3 + 100);\n  sprintf(__s_00,"r%s;%ld;%ld;",__s,param_2,param_3);\n  free(__s);\n  uVar4 = FUN_00119800(param_1 + 0x60,__s_00,0,uVar1,uVar2);\n  if ((int)uVar4 != 0) {\n    free(__s_00);\n    uVar4 = 1;\n  }\n  return uVar4;\n}\n\n" (function_definition "undefined8 FUN_0011a3d0(long param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  char *__s;\n  size_t sVar3;\n  char *__s_00;\n  undefined8 uVar4;\n  \n  uVar1 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x1c);\n  uVar2 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x18);\n  __s = (char *)FUN_00118930(param_1 + 0x60);\n  sVar3 = strlen(__s);\n  __s_00 = (char *)xmalloc(sVar3 + 100);\n  sprintf(__s_00,"r%s;%ld;%ld;",__s,param_2,param_3);\n  free(__s);\n  uVar4 = FUN_00119800(param_1 + 0x60,__s_00,0,uVar1,uVar2);\n  if ((int)uVar4 != 0) {\n    free(__s_00);\n    uVar4 = 1;\n  }\n  return uVar4;\n}" type_identifier (function_declarator "FUN_0011a3d0(long param_1,undefined8 param_2,undefined8 param_3)" identifier (parameter_list "(long param_1,undefined8 param_2,undefined8 param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  char *__s;\n  size_t sVar3;\n  char *__s_00;\n  undefined8 uVar4;\n  \n  uVar1 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x1c);\n  uVar2 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x18);\n  __s = (char *)FUN_00118930(param_1 + 0x60);\n  sVar3 = strlen(__s);\n  __s_00 = (char *)xmalloc(sVar3 + 100);\n  sprintf(__s_00,"r%s;%ld;%ld;",__s,param_2,param_3);\n  free(__s);\n  uVar4 = FUN_00119800(param_1 + 0x60,__s_00,0,uVar1,uVar2);\n  if ((int)uVar4 != 0) {\n    free(__s_00);\n    uVar4 = 1;\n  }\n  return uVar4;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "char *__s_00;" primitive_type (pointer_declarator "*__s_00" * identifier) ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (expression_statement "uVar1 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x1c);" (assignment_expression "uVar1 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x1c)" identifier = (pointer_expression "*(undefined4 *)(*(long *)(param_1 + 0x60) + 0x1c)" * (cast_expression "(undefined4 *)(*(long *)(param_1 + 0x60) + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x60) + 0x1c)" ( (binary_expression "*(long *)(param_1 + 0x60) + 0x1c" (pointer_expression "*(long *)(param_1 + 0x60)" * (cast_expression "(long *)(param_1 + 0x60)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar2 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x18);" (assignment_expression "uVar2 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x18)" identifier = (pointer_expression "*(undefined4 *)(*(long *)(param_1 + 0x60) + 0x18)" * (cast_expression "(undefined4 *)(*(long *)(param_1 + 0x60) + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x60) + 0x18)" ( (binary_expression "*(long *)(param_1 + 0x60) + 0x18" (pointer_expression "*(long *)(param_1 + 0x60)" * (cast_expression "(long *)(param_1 + 0x60)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "__s = (char *)FUN_00118930(param_1 + 0x60);" (assignment_expression "__s = (char *)FUN_00118930(param_1 + 0x60)" identifier = (cast_expression "(char *)FUN_00118930(param_1 + 0x60)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00118930(param_1 + 0x60)" identifier (argument_list "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "sVar3 = strlen(__s);" (assignment_expression "sVar3 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "__s_00 = (char *)xmalloc(sVar3 + 100);" (assignment_expression "__s_00 = (char *)xmalloc(sVar3 + 100)" identifier = (cast_expression "(char *)xmalloc(sVar3 + 100)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar3 + 100)" identifier (argument_list "(sVar3 + 100)" ( (binary_expression "sVar3 + 100" identifier + number_literal) ))))) ;) (expression_statement "sprintf(__s_00,"r%s;%ld;%ld;",__s,param_2,param_3);" (call_expression "sprintf(__s_00,"r%s;%ld;%ld;",__s,param_2,param_3)" identifier (argument_list "(__s_00,"r%s;%ld;%ld;",__s,param_2,param_3)" ( identifier , (string_literal ""r%s;%ld;%ld;"" " string_content ") , identifier , identifier , identifier ))) ;) (expression_statement "free(__s);" (call_expression "free(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (expression_statement "uVar4 = FUN_00119800(param_1 + 0x60,__s_00,0,uVar1,uVar2);" (assignment_expression "uVar4 = FUN_00119800(param_1 + 0x60,__s_00,0,uVar1,uVar2)" identifier = (call_expression "FUN_00119800(param_1 + 0x60,__s_00,0,uVar1,uVar2)" identifier (argument_list "(param_1 + 0x60,__s_00,0,uVar1,uVar2)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) , identifier , number_literal , identifier , identifier )))) ;) (if_statement "if ((int)uVar4 != 0) {\n    free(__s_00);\n    uVar4 = 1;\n  }" if (parenthesized_expression "((int)uVar4 != 0)" ( (binary_expression "(int)uVar4 != 0" (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )) (compound_statement "{\n    free(__s_00);\n    uVar4 = 1;\n  }" { (expression_statement "free(__s_00);" (call_expression "free(__s_00)" identifier (argument_list "(__s_00)" ( identifier ))) ;) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) })) (return_statement "return uVar4;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , LIT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (return_statement return IDENT ;) })))
(function_definition "undefined8 FUN_0011a3d0(long param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  char *__s;\n  size_t sVar3;\n  char *__s_00;\n  undefined8 uVar4;\n  \n  uVar1 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x1c);\n  uVar2 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x18);\n  __s = (char *)FUN_00118930(param_1 + 0x60);\n  sVar3 = strlen(__s);\n  __s_00 = (char *)xmalloc(sVar3 + 100);\n  sprintf(__s_00,"r%s;%ld;%ld;",__s,param_2,param_3);\n  free(__s);\n  uVar4 = FUN_00119800(param_1 + 0x60,__s_00,0,uVar1,uVar2);\n  if ((int)uVar4 != 0) {\n    free(__s_00);\n    uVar4 = 1;\n  }\n  return uVar4;\n}" (type_identifier "undefined8") (function_declarator "FUN_0011a3d0(long param_1,undefined8 param_2,undefined8 param_3)" (identifier "FUN_0011a3d0") (parameter_list "(long param_1,undefined8 param_2,undefined8 param_3)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  char *__s;\n  size_t sVar3;\n  char *__s_00;\n  undefined8 uVar4;\n  \n  uVar1 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x1c);\n  uVar2 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x18);\n  __s = (char *)FUN_00118930(param_1 + 0x60);\n  sVar3 = strlen(__s);\n  __s_00 = (char *)xmalloc(sVar3 + 100);\n  sprintf(__s_00,"r%s;%ld;%ld;",__s,param_2,param_3);\n  free(__s);\n  uVar4 = FUN_00119800(param_1 + 0x60,__s_00,0,uVar1,uVar2);\n  if ((int)uVar4 != 0) {\n    free(__s_00);\n    uVar4 = 1;\n  }\n  return uVar4;\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "char *__s;" (primitive_type "char") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "size_t sVar3;" (primitive_type "size_t") (identifier "sVar3") (; ";")) (declaration "char *__s_00;" (primitive_type "char") (pointer_declarator "*__s_00" (* "*") (identifier "__s_00")) (; ";")) (declaration "undefined8 uVar4;" (type_identifier "undefined8") (identifier "uVar4") (; ";")) (expression_statement "uVar1 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x1c);" (assignment_expression "uVar1 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x1c)" (identifier "uVar1") (= "=") (pointer_expression "*(undefined4 *)(*(long *)(param_1 + 0x60) + 0x1c)" (* "*") (cast_expression "(undefined4 *)(*(long *)(param_1 + 0x60) + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x60) + 0x1c)" (( "(") (binary_expression "*(long *)(param_1 + 0x60) + 0x1c" (pointer_expression "*(long *)(param_1 + 0x60)" (* "*") (cast_expression "(long *)(param_1 + 0x60)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")")))) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x18);" (assignment_expression "uVar2 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x18)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(*(long *)(param_1 + 0x60) + 0x18)" (* "*") (cast_expression "(undefined4 *)(*(long *)(param_1 + 0x60) + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x60) + 0x18)" (( "(") (binary_expression "*(long *)(param_1 + 0x60) + 0x18" (pointer_expression "*(long *)(param_1 + 0x60)" (* "*") (cast_expression "(long *)(param_1 + 0x60)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")")))) (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "__s = (char *)FUN_00118930(param_1 + 0x60);" (assignment_expression "__s = (char *)FUN_00118930(param_1 + 0x60)" (identifier "__s") (= "=") (cast_expression "(char *)FUN_00118930(param_1 + 0x60)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00118930(param_1 + 0x60)" (identifier "FUN_00118930") (argument_list "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (expression_statement "sVar3 = strlen(__s);" (assignment_expression "sVar3 = strlen(__s)" (identifier "sVar3") (= "=") (call_expression "strlen(__s)" (identifier "strlen") (argument_list "(__s)" (( "(") (identifier "__s") () ")")))) (; ";")) (expression_statement "__s_00 = (char *)xmalloc(sVar3 + 100);" (assignment_expression "__s_00 = (char *)xmalloc(sVar3 + 100)" (identifier "__s_00") (= "=") (cast_expression "(char *)xmalloc(sVar3 + 100)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(sVar3 + 100)" (identifier "xmalloc") (argument_list "(sVar3 + 100)" (( "(") (binary_expression "sVar3 + 100" (identifier "sVar3") (+ "+") (number_literal "100")) () ")"))))) (; ";")) (expression_statement "sprintf(__s_00,"r%s;%ld;%ld;",__s,param_2,param_3);" (call_expression "sprintf(__s_00,"r%s;%ld;%ld;",__s,param_2,param_3)" (identifier "sprintf") (argument_list "(__s_00,"r%s;%ld;%ld;",__s,param_2,param_3)" (( "(") (identifier "__s_00") (, ",") (string_literal ""r%s;%ld;%ld;"" (" """) (string_content "r%s;%ld;%ld;") (" """)) (, ",") (identifier "__s") (, ",") (identifier "param_2") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "free(__s);" (call_expression "free(__s)" (identifier "free") (argument_list "(__s)" (( "(") (identifier "__s") () ")"))) (; ";")) (expression_statement "uVar4 = FUN_00119800(param_1 + 0x60,__s_00,0,uVar1,uVar2);" (assignment_expression "uVar4 = FUN_00119800(param_1 + 0x60,__s_00,0,uVar1,uVar2)" (identifier "uVar4") (= "=") (call_expression "FUN_00119800(param_1 + 0x60,__s_00,0,uVar1,uVar2)" (identifier "FUN_00119800") (argument_list "(param_1 + 0x60,__s_00,0,uVar1,uVar2)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) (, ",") (identifier "__s_00") (, ",") (number_literal "0") (, ",") (identifier "uVar1") (, ",") (identifier "uVar2") () ")")))) (; ";")) (if_statement "if ((int)uVar4 != 0) {\n    free(__s_00);\n    uVar4 = 1;\n  }" (if "if") (parenthesized_expression "((int)uVar4 != 0)" (( "(") (binary_expression "(int)uVar4 != 0" (cast_expression "(int)uVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar4")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    free(__s_00);\n    uVar4 = 1;\n  }" ({ "{") (expression_statement "free(__s_00);" (call_expression "free(__s_00)" (identifier "free") (argument_list "(__s_00)" (( "(") (identifier "__s_00") () ")"))) (; ";")) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" (identifier "uVar4") (= "=") (number_literal "1")) (; ";")) (} "}"))) (return_statement "return uVar4;" (return "return") (identifier "uVar4") (; ";")) (} "}")))

type_1 function_1(void *p,type_2 low,type_2 high)

{
  type_3 size;
  type_1 var_8;
  char *__s;
  size_t var_4;
  char *__s_00;
  type_4 *info;
  
  var_8 = *(type_1 *)(*(long *)((long)p + 0x60) + 0x1c);
  size = *(type_3 *)(*(long *)((long)p + 0x60) + 0x18);
  __s = var_1((type_4 *)((long)p + 0x60));
  var_4 = var_2(__s);
  __s_00 = (char *)var_3(var_4 + 100);
  var_5(__s_00,"r%s;%ld;%ld;",__s,low,high);
  var_6(__s);
  var_8 = var_7((type_4 *)((long)p + 0x60),__s_00,0,var_8,size);
  if (var_8 != 0) {
    var_6(__s_00);
    var_8 = 1;
  }
  return var_8;
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (sized_type_specifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (identifier) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (number_literal) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (return_statement (identifier)))))

undefined8 MASKED(long param_1,undefined8 param_2,undefined8 param_3)

{
  undefined4 uVar1;
  undefined4 uVar2;
  char *__s;
  size_t sVar3;
  char *__s_00;
  undefined8 uVar4;
  
  uVar1 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x1c);
  uVar2 = *(undefined4 *)(*(long *)(param_1 + 0x60) + 0x18);
  __s = (char *)FUN_00118930(param_1 + 0x60);
  sVar3 = strlen(__s);
  __s_00 = (char *)xmalloc(sVar3 + 100);
  sprintf(__s_00,"r%s;%ld;%ld;",__s,param_2,param_3);
  free(__s);
  uVar4 = FUN_00119800(param_1 + 0x60,__s_00,0,uVar1,uVar2);
  if ((int)uVar4 != 0) {
    free(__s_00);
    uVar4 = 1;
  }
  return uVar4;
}

