
/* DWARF original prototype: void display_view_pair_list(dwarf_section * section, uchar * *
   vstart_ptr, uint debug_info_entry, uchar * vlistend, dwarf_section * section) */

void display_view_pair_list
               (dwarf_section *section,uchar **vstart_ptr,uint debug_info_entry,uchar *vlistend,
               dwarf_section *section_1)

{
  dwarf_section *data;
  uint num_bytes;
  dwarf_vma value;
  char *__format;
  dwarf_vma value_00;
  int force;
  int force_00;
  undefined4 in_register_00000014;
  dwarf_section *end;
  uint *length_return;
  dwarf_section *data_00;
  long lVar1;
  uint bytes_read;
  
  data_00 = *(dwarf_section **)CONCAT44(in_register_00000014,debug_info_entry);
  num_bytes = debug_information[(ulong)vlistend & 0xffffffff].pointer_size;
  end = (dwarf_section *)(section->uncompressed_name + (long)vstart_ptr);
  if (section_1 < (dwarf_section *)(section->uncompressed_name + (long)vstart_ptr)) {
    end = section_1;
  }
  putc(10,stdout);
  if (data_00 < end) {
    do {
      lVar1 = (long)data_00 - (long)section->uncompressed_name;
      length_return = &bytes_read;
      value_00 = read_leb128((uchar *)data_00,&bytes_read,0,(uchar *)end);
      data = (dwarf_section *)((long)&data_00->uncompressed_name + (ulong)bytes_read);
      if (data == end) break;
      value = read_leb128((uchar *)data,length_return,0,(uchar *)end);
      data_00 = (dwarf_section *)((long)&data->uncompressed_name + (ulong)bytes_read);
      printf("    %8.8lx ",lVar1);
      print_dwarf_view(value_00,num_bytes,force);
      print_dwarf_view(value,num_bytes,force_00);
      __format = (char *)dcgettext(0,"location view pair\n",5);
      printf(__format);
    } while (data_00 < end);
  }
  putc(10,stdout);
  *(dwarf_section **)CONCAT44(in_register_00000014,debug_info_entry) = data_00;
  return;
}



void FUN_00141fd0(long *param_1,long param_2,ulong *param_3,uint param_4,ulong param_5)

{
  ulong uVar1;
  undefined4 uVar2;
  undefined8 uVar3;
  char *__format;
  undefined8 uVar4;
  ulong uVar5;
  ulong uVar6;
  long lVar7;
  uint local_3c [3];
  
  uVar6 = *param_3;
  uVar2 = *(undefined4 *)(DAT_00196f08 + (ulong)param_4 * 0x68);
  uVar5 = *param_1 + param_2;
  if (param_5 < (ulong)(*param_1 + param_2)) {
    uVar5 = param_5;
  }
  putc(10,stdout);
  if (uVar6 < uVar5) {
    do {
      lVar7 = uVar6 - *param_1;
      uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);
      uVar1 = uVar6 + local_3c[0];
      if (uVar1 == uVar5) break;
      uVar3 = FUN_0013fb20(uVar1);
      uVar6 = uVar1 + local_3c[0];
      printf("    %8.8lx ",lVar7);
      FUN_0013ecd0(uVar4,uVar2);
      FUN_0013ecd0(uVar3,uVar2);
      __format = (char *)dcgettext(0,"location view pair\n",5);
      printf(__format);
    } while (uVar6 < uVar5);
  }
  putc(10,stdout);
  *param_3 = uVar6;
  return;
}


PUSH R15
MOV ECX,ECX
PUSH R14
LEA RAX,[RCX + RCX*0x2]
PUSH R13
LEA RAX,[RCX + RAX*0x4]
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x38
MOV RBX,qword ptr [RDI]
MOV R12,qword ptr [RDX]
MOV qword ptr [RSP + 0x18],RDX
MOV RDX,qword ptr [0x00196f08]
ADD RBX,RSI
MOV RSI,qword ptr [0x001923a0]
MOV qword ptr [RSP],RDI
MOV EDI,0xa
CMP RBX,R8
LEA RAX,[RDX + RAX*0x8]
MOV EAX,dword ptr [RAX]
CMOVA RBX,R8
MOV dword ptr [RSP + 0x14],EAX
CALL 0x00107270
CMP R12,RBX
JNC 0x001420dc
LEA RAX,[RSP + 0x2c]
MOV qword ptr [RSP + 0x8],RAX
JMP 0x001420a8
XOR EDX,EDX
MOV RCX,RBX
MOV RDI,RBP
CALL 0x0013fb20
MOV R9D,dword ptr [RSP + 0x2c]
MOV RSI,R14
LEA RDI,[0x180832]
MOV R15,RAX
XOR EAX,EAX
LEA R12,[RBP + R9*0x1]
CALL 0x00107190
MOV R14D,dword ptr [RSP + 0x14]
MOV RDI,R13
MOV ESI,R14D
CALL 0x0013ecd0
MOV ESI,R14D
MOV RDI,R15
CALL 0x0013ecd0
XOR EDI,EDI
MOV EDX,0x5
LEA RSI,[0x18111b]
CALL 0x00107130
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
CMP R12,RBX
JNC 0x001420dc
MOV R15,qword ptr [RSP + 0x8]
MOV RAX,qword ptr [RSP]
MOV RCX,RBX
XOR EDX,EDX
MOV RDI,R12
MOV R14,R12
MOV RSI,R15
SUB R14,qword ptr [RAX]
CALL 0x0013fb20
MOV R8D,dword ptr [RSP + 0x2c]
MOV R13,RAX
LEA RBP,[R12 + R8*0x1]
CMP RBP,RBX
JNZ 0x00142040
MOV RSI,qword ptr [0x001923a0]
MOV EDI,0xa
CALL 0x00107270
MOV RAX,qword ptr [RSP + 0x18]
MOV qword ptr [RAX],R12
ADD RSP,0x38
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
(translation_unit "void FUN_00141fd0(long *param_1,long param_2,ulong *param_3,uint param_4,ulong param_5)\n\n{\n  ulong uVar1;\n  undefined4 uVar2;\n  undefined8 uVar3;\n  char *__format;\n  undefined8 uVar4;\n  ulong uVar5;\n  ulong uVar6;\n  long lVar7;\n  uint local_3c [3];\n  \n  uVar6 = *param_3;\n  uVar2 = *(undefined4 *)(DAT_00196f08 + (ulong)param_4 * 0x68);\n  uVar5 = *param_1 + param_2;\n  if (param_5 < (ulong)(*param_1 + param_2)) {\n    uVar5 = param_5;\n  }\n  putc(10,stdout);\n  if (uVar6 < uVar5) {\n    do {\n      lVar7 = uVar6 - *param_1;\n      uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);\n      uVar1 = uVar6 + local_3c[0];\n      if (uVar1 == uVar5) break;\n      uVar3 = FUN_0013fb20(uVar1);\n      uVar6 = uVar1 + local_3c[0];\n      printf("    %8.8lx ",lVar7);\n      FUN_0013ecd0(uVar4,uVar2);\n      FUN_0013ecd0(uVar3,uVar2);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (uVar6 < uVar5);\n  }\n  putc(10,stdout);\n  *param_3 = uVar6;\n  return;\n}\n\n" (function_definition "void FUN_00141fd0(long *param_1,long param_2,ulong *param_3,uint param_4,ulong param_5)\n\n{\n  ulong uVar1;\n  undefined4 uVar2;\n  undefined8 uVar3;\n  char *__format;\n  undefined8 uVar4;\n  ulong uVar5;\n  ulong uVar6;\n  long lVar7;\n  uint local_3c [3];\n  \n  uVar6 = *param_3;\n  uVar2 = *(undefined4 *)(DAT_00196f08 + (ulong)param_4 * 0x68);\n  uVar5 = *param_1 + param_2;\n  if (param_5 < (ulong)(*param_1 + param_2)) {\n    uVar5 = param_5;\n  }\n  putc(10,stdout);\n  if (uVar6 < uVar5) {\n    do {\n      lVar7 = uVar6 - *param_1;\n      uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);\n      uVar1 = uVar6 + local_3c[0];\n      if (uVar1 == uVar5) break;\n      uVar3 = FUN_0013fb20(uVar1);\n      uVar6 = uVar1 + local_3c[0];\n      printf("    %8.8lx ",lVar7);\n      FUN_0013ecd0(uVar4,uVar2);\n      FUN_0013ecd0(uVar3,uVar2);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (uVar6 < uVar5);\n  }\n  putc(10,stdout);\n  *param_3 = uVar6;\n  return;\n}" primitive_type (function_declarator "FUN_00141fd0(long *param_1,long param_2,ulong *param_3,uint param_4,ulong param_5)" identifier (parameter_list "(long *param_1,long param_2,ulong *param_3,uint param_4,ulong param_5)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "ulong *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "ulong param_5" type_identifier identifier) ))) (compound_statement "{\n  ulong uVar1;\n  undefined4 uVar2;\n  undefined8 uVar3;\n  char *__format;\n  undefined8 uVar4;\n  ulong uVar5;\n  ulong uVar6;\n  long lVar7;\n  uint local_3c [3];\n  \n  uVar6 = *param_3;\n  uVar2 = *(undefined4 *)(DAT_00196f08 + (ulong)param_4 * 0x68);\n  uVar5 = *param_1 + param_2;\n  if (param_5 < (ulong)(*param_1 + param_2)) {\n    uVar5 = param_5;\n  }\n  putc(10,stdout);\n  if (uVar6 < uVar5) {\n    do {\n      lVar7 = uVar6 - *param_1;\n      uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);\n      uVar1 = uVar6 + local_3c[0];\n      if (uVar1 == uVar5) break;\n      uVar3 = FUN_0013fb20(uVar1);\n      uVar6 = uVar1 + local_3c[0];\n      printf("    %8.8lx ",lVar7);\n      FUN_0013ecd0(uVar4,uVar2);\n      FUN_0013ecd0(uVar3,uVar2);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (uVar6 < uVar5);\n  }\n  putc(10,stdout);\n  *param_3 = uVar6;\n  return;\n}" { (declaration "ulong uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "char *__format;" primitive_type (pointer_declarator "*__format" * identifier) ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "ulong uVar6;" type_identifier identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "uint local_3c [3];" type_identifier (array_declarator "local_3c [3]" identifier [ number_literal ]) ;) (expression_statement "uVar6 = *param_3;" (assignment_expression "uVar6 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "uVar2 = *(undefined4 *)(DAT_00196f08 + (ulong)param_4 * 0x68);" (assignment_expression "uVar2 = *(undefined4 *)(DAT_00196f08 + (ulong)param_4 * 0x68)" identifier = (pointer_expression "*(undefined4 *)(DAT_00196f08 + (ulong)param_4 * 0x68)" * (cast_expression "(undefined4 *)(DAT_00196f08 + (ulong)param_4 * 0x68)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00196f08 + (ulong)param_4 * 0x68)" ( (binary_expression "DAT_00196f08 + (ulong)param_4 * 0x68" identifier + (binary_expression "(ulong)param_4 * 0x68" (cast_expression "(ulong)param_4" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;) (expression_statement "uVar5 = *param_1 + param_2;" (assignment_expression "uVar5 = *param_1 + param_2" identifier = (binary_expression "*param_1 + param_2" (pointer_expression "*param_1" * identifier) + identifier)) ;) (if_statement "if (param_5 < (ulong)(*param_1 + param_2)) {\n    uVar5 = param_5;\n  }" if (parenthesized_expression "(param_5 < (ulong)(*param_1 + param_2))" ( (binary_expression "param_5 < (ulong)(*param_1 + param_2)" identifier < (call_expression "(ulong)(*param_1 + param_2)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(*param_1 + param_2)" ( (binary_expression "*param_1 + param_2" (pointer_expression "*param_1" * identifier) + identifier) )))) )) (compound_statement "{\n    uVar5 = param_5;\n  }" { (expression_statement "uVar5 = param_5;" (assignment_expression "uVar5 = param_5" identifier = identifier) ;) })) (expression_statement "putc(10,stdout);" (call_expression "putc(10,stdout)" identifier (argument_list "(10,stdout)" ( number_literal , identifier ))) ;) (if_statement "if (uVar6 < uVar5) {\n    do {\n      lVar7 = uVar6 - *param_1;\n      uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);\n      uVar1 = uVar6 + local_3c[0];\n      if (uVar1 == uVar5) break;\n      uVar3 = FUN_0013fb20(uVar1);\n      uVar6 = uVar1 + local_3c[0];\n      printf("    %8.8lx ",lVar7);\n      FUN_0013ecd0(uVar4,uVar2);\n      FUN_0013ecd0(uVar3,uVar2);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (uVar6 < uVar5);\n  }" if (parenthesized_expression "(uVar6 < uVar5)" ( (binary_expression "uVar6 < uVar5" identifier < identifier) )) (compound_statement "{\n    do {\n      lVar7 = uVar6 - *param_1;\n      uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);\n      uVar1 = uVar6 + local_3c[0];\n      if (uVar1 == uVar5) break;\n      uVar3 = FUN_0013fb20(uVar1);\n      uVar6 = uVar1 + local_3c[0];\n      printf("    %8.8lx ",lVar7);\n      FUN_0013ecd0(uVar4,uVar2);\n      FUN_0013ecd0(uVar3,uVar2);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (uVar6 < uVar5);\n  }" { (do_statement "do {\n      lVar7 = uVar6 - *param_1;\n      uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);\n      uVar1 = uVar6 + local_3c[0];\n      if (uVar1 == uVar5) break;\n      uVar3 = FUN_0013fb20(uVar1);\n      uVar6 = uVar1 + local_3c[0];\n      printf("    %8.8lx ",lVar7);\n      FUN_0013ecd0(uVar4,uVar2);\n      FUN_0013ecd0(uVar3,uVar2);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (uVar6 < uVar5);" do (compound_statement "{\n      lVar7 = uVar6 - *param_1;\n      uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);\n      uVar1 = uVar6 + local_3c[0];\n      if (uVar1 == uVar5) break;\n      uVar3 = FUN_0013fb20(uVar1);\n      uVar6 = uVar1 + local_3c[0];\n      printf("    %8.8lx ",lVar7);\n      FUN_0013ecd0(uVar4,uVar2);\n      FUN_0013ecd0(uVar3,uVar2);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    }" { (expression_statement "lVar7 = uVar6 - *param_1;" (assignment_expression "lVar7 = uVar6 - *param_1" identifier = (binary_expression "uVar6 - *param_1" identifier - (pointer_expression "*param_1" * identifier))) ;) (expression_statement "uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);" (assignment_expression "uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5)" identifier = (call_expression "FUN_0013fb20(uVar6,local_3c,0,uVar5)" identifier (argument_list "(uVar6,local_3c,0,uVar5)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "uVar1 = uVar6 + local_3c[0];" (assignment_expression "uVar1 = uVar6 + local_3c[0]" identifier = (binary_expression "uVar6 + local_3c[0]" identifier + (subscript_expression "local_3c[0]" identifier [ number_literal ]))) ;) (if_statement "if (uVar1 == uVar5) break;" if (parenthesized_expression "(uVar1 == uVar5)" ( (binary_expression "uVar1 == uVar5" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar3 = FUN_0013fb20(uVar1);" (assignment_expression "uVar3 = FUN_0013fb20(uVar1)" identifier = (call_expression "FUN_0013fb20(uVar1)" identifier (argument_list "(uVar1)" ( identifier )))) ;) (expression_statement "uVar6 = uVar1 + local_3c[0];" (assignment_expression "uVar6 = uVar1 + local_3c[0]" identifier = (binary_expression "uVar1 + local_3c[0]" identifier + (subscript_expression "local_3c[0]" identifier [ number_literal ]))) ;) (expression_statement "printf("    %8.8lx ",lVar7);" (call_expression "printf("    %8.8lx ",lVar7)" identifier (argument_list "("    %8.8lx ",lVar7)" ( (string_literal ""    %8.8lx "" " string_content ") , identifier ))) ;) (expression_statement "FUN_0013ecd0(uVar4,uVar2);" (call_expression "FUN_0013ecd0(uVar4,uVar2)" identifier (argument_list "(uVar4,uVar2)" ( identifier , identifier ))) ;) (expression_statement "FUN_0013ecd0(uVar3,uVar2);" (call_expression "FUN_0013ecd0(uVar3,uVar2)" identifier (argument_list "(uVar3,uVar2)" ( identifier , identifier ))) ;) (expression_statement "__format = (char *)dcgettext(0,"location view pair\n",5);" (assignment_expression "__format = (char *)dcgettext(0,"location view pair\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"location view pair\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"location view pair\n",5)" identifier (argument_list "(0,"location view pair\n",5)" ( number_literal , (string_literal ""location view pair\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(__format);" (call_expression "printf(__format)" identifier (argument_list "(__format)" ( identifier ))) ;) }) while (parenthesized_expression "(uVar6 < uVar5)" ( (binary_expression "uVar6 < uVar5" identifier < identifier) )) ;) })) (expression_statement "putc(10,stdout);" (call_expression "putc(10,stdout)" identifier (argument_list "(10,stdout)" ( number_literal , identifier ))) ;) (expression_statement "*param_3 = uVar6;" (assignment_expression "*param_3 = uVar6" (pointer_expression "*param_3" * identifier) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit "/* DWARF original prototype: void display_view_pair_list(dwarf_section * section, uchar * *\n   vstart_ptr, uint debug_info_entry, uchar * vlistend, dwarf_section * section) */\n\nvoid display_view_pair_list\n               (dwarf_section *section,uchar **vstart_ptr,uint debug_info_entry,uchar *vlistend,\n               dwarf_section *section_1)\n\n{\n  dwarf_section *data;\n  uint num_bytes;\n  dwarf_vma value;\n  char *__format;\n  dwarf_vma value_00;\n  int force;\n  int force_00;\n  undefined4 in_register_00000014;\n  dwarf_section *end;\n  uint *length_return;\n  dwarf_section *data_00;\n  long lVar1;\n  uint bytes_read;\n  \n  data_00 = *(dwarf_section **)CONCAT44(in_register_00000014,debug_info_entry);\n  num_bytes = debug_information[(ulong)vlistend & 0xffffffff].pointer_size;\n  end = (dwarf_section *)(section->uncompressed_name + (long)vstart_ptr);\n  if (section_1 < (dwarf_section *)(section->uncompressed_name + (long)vstart_ptr)) {\n    end = section_1;\n  }\n  putc(10,stdout);\n  if (data_00 < end) {\n    do {\n      lVar1 = (long)data_00 - (long)section->uncompressed_name;\n      length_return = &bytes_read;\n      value_00 = read_leb128((uchar *)data_00,&bytes_read,0,(uchar *)end);\n      data = (dwarf_section *)((long)&data_00->uncompressed_name + (ulong)bytes_read);\n      if (data == end) break;\n      value = read_leb128((uchar *)data,length_return,0,(uchar *)end);\n      data_00 = (dwarf_section *)((long)&data->uncompressed_name + (ulong)bytes_read);\n      printf("    %8.8lx ",lVar1);\n      print_dwarf_view(value_00,num_bytes,force);\n      print_dwarf_view(value,num_bytes,force_00);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (data_00 < end);\n  }\n  putc(10,stdout);\n  *(dwarf_section **)CONCAT44(in_register_00000014,debug_info_entry) = data_00;\n  return;\n}\n\n" comment (function_definition "void display_view_pair_list\n               (dwarf_section *section,uchar **vstart_ptr,uint debug_info_entry,uchar *vlistend,\n               dwarf_section *section_1)\n\n{\n  dwarf_section *data;\n  uint num_bytes;\n  dwarf_vma value;\n  char *__format;\n  dwarf_vma value_00;\n  int force;\n  int force_00;\n  undefined4 in_register_00000014;\n  dwarf_section *end;\n  uint *length_return;\n  dwarf_section *data_00;\n  long lVar1;\n  uint bytes_read;\n  \n  data_00 = *(dwarf_section **)CONCAT44(in_register_00000014,debug_info_entry);\n  num_bytes = debug_information[(ulong)vlistend & 0xffffffff].pointer_size;\n  end = (dwarf_section *)(section->uncompressed_name + (long)vstart_ptr);\n  if (section_1 < (dwarf_section *)(section->uncompressed_name + (long)vstart_ptr)) {\n    end = section_1;\n  }\n  putc(10,stdout);\n  if (data_00 < end) {\n    do {\n      lVar1 = (long)data_00 - (long)section->uncompressed_name;\n      length_return = &bytes_read;\n      value_00 = read_leb128((uchar *)data_00,&bytes_read,0,(uchar *)end);\n      data = (dwarf_section *)((long)&data_00->uncompressed_name + (ulong)bytes_read);\n      if (data == end) break;\n      value = read_leb128((uchar *)data,length_return,0,(uchar *)end);\n      data_00 = (dwarf_section *)((long)&data->uncompressed_name + (ulong)bytes_read);\n      printf("    %8.8lx ",lVar1);\n      print_dwarf_view(value_00,num_bytes,force);\n      print_dwarf_view(value,num_bytes,force_00);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (data_00 < end);\n  }\n  putc(10,stdout);\n  *(dwarf_section **)CONCAT44(in_register_00000014,debug_info_entry) = data_00;\n  return;\n}" primitive_type (function_declarator "display_view_pair_list\n               (dwarf_section *section,uchar **vstart_ptr,uint debug_info_entry,uchar *vlistend,\n               dwarf_section *section_1)" identifier (parameter_list "(dwarf_section *section,uchar **vstart_ptr,uint debug_info_entry,uchar *vlistend,\n               dwarf_section *section_1)" ( (parameter_declaration "dwarf_section *section" type_identifier (pointer_declarator "*section" * identifier)) , (parameter_declaration "uchar **vstart_ptr" type_identifier (pointer_declarator "**vstart_ptr" * (pointer_declarator "*vstart_ptr" * identifier))) , (parameter_declaration "uint debug_info_entry" type_identifier identifier) , (parameter_declaration "uchar *vlistend" type_identifier (pointer_declarator "*vlistend" * identifier)) , (parameter_declaration "dwarf_section *section_1" type_identifier (pointer_declarator "*section_1" * identifier)) ))) (compound_statement "{\n  dwarf_section *data;\n  uint num_bytes;\n  dwarf_vma value;\n  char *__format;\n  dwarf_vma value_00;\n  int force;\n  int force_00;\n  undefined4 in_register_00000014;\n  dwarf_section *end;\n  uint *length_return;\n  dwarf_section *data_00;\n  long lVar1;\n  uint bytes_read;\n  \n  data_00 = *(dwarf_section **)CONCAT44(in_register_00000014,debug_info_entry);\n  num_bytes = debug_information[(ulong)vlistend & 0xffffffff].pointer_size;\n  end = (dwarf_section *)(section->uncompressed_name + (long)vstart_ptr);\n  if (section_1 < (dwarf_section *)(section->uncompressed_name + (long)vstart_ptr)) {\n    end = section_1;\n  }\n  putc(10,stdout);\n  if (data_00 < end) {\n    do {\n      lVar1 = (long)data_00 - (long)section->uncompressed_name;\n      length_return = &bytes_read;\n      value_00 = read_leb128((uchar *)data_00,&bytes_read,0,(uchar *)end);\n      data = (dwarf_section *)((long)&data_00->uncompressed_name + (ulong)bytes_read);\n      if (data == end) break;\n      value = read_leb128((uchar *)data,length_return,0,(uchar *)end);\n      data_00 = (dwarf_section *)((long)&data->uncompressed_name + (ulong)bytes_read);\n      printf("    %8.8lx ",lVar1);\n      print_dwarf_view(value_00,num_bytes,force);\n      print_dwarf_view(value,num_bytes,force_00);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (data_00 < end);\n  }\n  putc(10,stdout);\n  *(dwarf_section **)CONCAT44(in_register_00000014,debug_info_entry) = data_00;\n  return;\n}" { (declaration "dwarf_section *data;" type_identifier (pointer_declarator "*data" * identifier) ;) (declaration "uint num_bytes;" type_identifier identifier ;) (declaration "dwarf_vma value;" type_identifier identifier ;) (declaration "char *__format;" primitive_type (pointer_declarator "*__format" * identifier) ;) (declaration "dwarf_vma value_00;" type_identifier identifier ;) (declaration "int force;" primitive_type identifier ;) (declaration "int force_00;" primitive_type identifier ;) (declaration "undefined4 in_register_00000014;" type_identifier identifier ;) (declaration "dwarf_section *end;" type_identifier (pointer_declarator "*end" * identifier) ;) (declaration "uint *length_return;" type_identifier (pointer_declarator "*length_return" * identifier) ;) (declaration "dwarf_section *data_00;" type_identifier (pointer_declarator "*data_00" * identifier) ;) (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "uint bytes_read;" type_identifier identifier ;) (expression_statement "data_00 = *(dwarf_section **)CONCAT44(in_register_00000014,debug_info_entry);" (assignment_expression "data_00 = *(dwarf_section **)CONCAT44(in_register_00000014,debug_info_entry)" identifier = (pointer_expression "*(dwarf_section **)CONCAT44(in_register_00000014,debug_info_entry)" * (cast_expression "(dwarf_section **)CONCAT44(in_register_00000014,debug_info_entry)" ( (type_descriptor "dwarf_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT44(in_register_00000014,debug_info_entry)" identifier (argument_list "(in_register_00000014,debug_info_entry)" ( identifier , identifier )))))) ;) (expression_statement "num_bytes = debug_information[(ulong)vlistend & 0xffffffff].pointer_size;" (assignment_expression "num_bytes = debug_information[(ulong)vlistend & 0xffffffff].pointer_size" identifier = (field_expression "debug_information[(ulong)vlistend & 0xffffffff].pointer_size" (subscript_expression "debug_information[(ulong)vlistend & 0xffffffff]" identifier [ (binary_expression "(ulong)vlistend & 0xffffffff" (cast_expression "(ulong)vlistend" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) ]) . field_identifier)) ;) (expression_statement "end = (dwarf_section *)(section->uncompressed_name + (long)vstart_ptr);" (assignment_expression "end = (dwarf_section *)(section->uncompressed_name + (long)vstart_ptr)" identifier = (cast_expression "(dwarf_section *)(section->uncompressed_name + (long)vstart_ptr)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(section->uncompressed_name + (long)vstart_ptr)" ( (binary_expression "section->uncompressed_name + (long)vstart_ptr" (field_expression "section->uncompressed_name" identifier -> field_identifier) + (cast_expression "(long)vstart_ptr" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (if_statement "if (section_1 < (dwarf_section *)(section->uncompressed_name + (long)vstart_ptr)) {\n    end = section_1;\n  }" if (parenthesized_expression "(section_1 < (dwarf_section *)(section->uncompressed_name + (long)vstart_ptr))" ( (binary_expression "section_1 < (dwarf_section *)(section->uncompressed_name + (long)vstart_ptr)" identifier < (cast_expression "(dwarf_section *)(section->uncompressed_name + (long)vstart_ptr)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(section->uncompressed_name + (long)vstart_ptr)" ( (binary_expression "section->uncompressed_name + (long)vstart_ptr" (field_expression "section->uncompressed_name" identifier -> field_identifier) + (cast_expression "(long)vstart_ptr" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) )) (compound_statement "{\n    end = section_1;\n  }" { (expression_statement "end = section_1;" (assignment_expression "end = section_1" identifier = identifier) ;) })) (expression_statement "putc(10,stdout);" (call_expression "putc(10,stdout)" identifier (argument_list "(10,stdout)" ( number_literal , identifier ))) ;) (if_statement "if (data_00 < end) {\n    do {\n      lVar1 = (long)data_00 - (long)section->uncompressed_name;\n      length_return = &bytes_read;\n      value_00 = read_leb128((uchar *)data_00,&bytes_read,0,(uchar *)end);\n      data = (dwarf_section *)((long)&data_00->uncompressed_name + (ulong)bytes_read);\n      if (data == end) break;\n      value = read_leb128((uchar *)data,length_return,0,(uchar *)end);\n      data_00 = (dwarf_section *)((long)&data->uncompressed_name + (ulong)bytes_read);\n      printf("    %8.8lx ",lVar1);\n      print_dwarf_view(value_00,num_bytes,force);\n      print_dwarf_view(value,num_bytes,force_00);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (data_00 < end);\n  }" if (parenthesized_expression "(data_00 < end)" ( (binary_expression "data_00 < end" identifier < identifier) )) (compound_statement "{\n    do {\n      lVar1 = (long)data_00 - (long)section->uncompressed_name;\n      length_return = &bytes_read;\n      value_00 = read_leb128((uchar *)data_00,&bytes_read,0,(uchar *)end);\n      data = (dwarf_section *)((long)&data_00->uncompressed_name + (ulong)bytes_read);\n      if (data == end) break;\n      value = read_leb128((uchar *)data,length_return,0,(uchar *)end);\n      data_00 = (dwarf_section *)((long)&data->uncompressed_name + (ulong)bytes_read);\n      printf("    %8.8lx ",lVar1);\n      print_dwarf_view(value_00,num_bytes,force);\n      print_dwarf_view(value,num_bytes,force_00);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (data_00 < end);\n  }" { (do_statement "do {\n      lVar1 = (long)data_00 - (long)section->uncompressed_name;\n      length_return = &bytes_read;\n      value_00 = read_leb128((uchar *)data_00,&bytes_read,0,(uchar *)end);\n      data = (dwarf_section *)((long)&data_00->uncompressed_name + (ulong)bytes_read);\n      if (data == end) break;\n      value = read_leb128((uchar *)data,length_return,0,(uchar *)end);\n      data_00 = (dwarf_section *)((long)&data->uncompressed_name + (ulong)bytes_read);\n      printf("    %8.8lx ",lVar1);\n      print_dwarf_view(value_00,num_bytes,force);\n      print_dwarf_view(value,num_bytes,force_00);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (data_00 < end);" do (compound_statement "{\n      lVar1 = (long)data_00 - (long)section->uncompressed_name;\n      length_return = &bytes_read;\n      value_00 = read_leb128((uchar *)data_00,&bytes_read,0,(uchar *)end);\n      data = (dwarf_section *)((long)&data_00->uncompressed_name + (ulong)bytes_read);\n      if (data == end) break;\n      value = read_leb128((uchar *)data,length_return,0,(uchar *)end);\n      data_00 = (dwarf_section *)((long)&data->uncompressed_name + (ulong)bytes_read);\n      printf("    %8.8lx ",lVar1);\n      print_dwarf_view(value_00,num_bytes,force);\n      print_dwarf_view(value,num_bytes,force_00);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    }" { (expression_statement "lVar1 = (long)data_00 - (long)section->uncompressed_name;" (assignment_expression "lVar1 = (long)data_00 - (long)section->uncompressed_name" identifier = (binary_expression "(long)data_00 - (long)section->uncompressed_name" (cast_expression "(long)data_00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)section->uncompressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "section->uncompressed_name" identifier -> field_identifier)))) ;) (expression_statement "length_return = &bytes_read;" (assignment_expression "length_return = &bytes_read" identifier = (pointer_expression "&bytes_read" & identifier)) ;) (expression_statement "value_00 = read_leb128((uchar *)data_00,&bytes_read,0,(uchar *)end);" (assignment_expression "value_00 = read_leb128((uchar *)data_00,&bytes_read,0,(uchar *)end)" identifier = (call_expression "read_leb128((uchar *)data_00,&bytes_read,0,(uchar *)end)" identifier (argument_list "((uchar *)data_00,&bytes_read,0,(uchar *)end)" ( (cast_expression "(uchar *)data_00" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&bytes_read" & identifier) , number_literal , (cast_expression "(uchar *)end" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "data = (dwarf_section *)((long)&data_00->uncompressed_name + (ulong)bytes_read);" (assignment_expression "data = (dwarf_section *)((long)&data_00->uncompressed_name + (ulong)bytes_read)" identifier = (cast_expression "(dwarf_section *)((long)&data_00->uncompressed_name + (ulong)bytes_read)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&data_00->uncompressed_name + (ulong)bytes_read)" ( (binary_expression "(long)&data_00->uncompressed_name + (ulong)bytes_read" (cast_expression "(long)&data_00->uncompressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&data_00->uncompressed_name" & (field_expression "data_00->uncompressed_name" identifier -> field_identifier))) + (cast_expression "(ulong)bytes_read" ( (type_descriptor "ulong" type_identifier) ) identifier)) )))) ;) (if_statement "if (data == end) break;" if (parenthesized_expression "(data == end)" ( (binary_expression "data == end" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "value = read_leb128((uchar *)data,length_return,0,(uchar *)end);" (assignment_expression "value = read_leb128((uchar *)data,length_return,0,(uchar *)end)" identifier = (call_expression "read_leb128((uchar *)data,length_return,0,(uchar *)end)" identifier (argument_list "((uchar *)data,length_return,0,(uchar *)end)" ( (cast_expression "(uchar *)data" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , number_literal , (cast_expression "(uchar *)end" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "data_00 = (dwarf_section *)((long)&data->uncompressed_name + (ulong)bytes_read);" (assignment_expression "data_00 = (dwarf_section *)((long)&data->uncompressed_name + (ulong)bytes_read)" identifier = (cast_expression "(dwarf_section *)((long)&data->uncompressed_name + (ulong)bytes_read)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&data->uncompressed_name + (ulong)bytes_read)" ( (binary_expression "(long)&data->uncompressed_name + (ulong)bytes_read" (cast_expression "(long)&data->uncompressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&data->uncompressed_name" & (field_expression "data->uncompressed_name" identifier -> field_identifier))) + (cast_expression "(ulong)bytes_read" ( (type_descriptor "ulong" type_identifier) ) identifier)) )))) ;) (expression_statement "printf("    %8.8lx ",lVar1);" (call_expression "printf("    %8.8lx ",lVar1)" identifier (argument_list "("    %8.8lx ",lVar1)" ( (string_literal ""    %8.8lx "" " string_content ") , identifier ))) ;) (expression_statement "print_dwarf_view(value_00,num_bytes,force);" (call_expression "print_dwarf_view(value_00,num_bytes,force)" identifier (argument_list "(value_00,num_bytes,force)" ( identifier , identifier , identifier ))) ;) (expression_statement "print_dwarf_view(value,num_bytes,force_00);" (call_expression "print_dwarf_view(value,num_bytes,force_00)" identifier (argument_list "(value,num_bytes,force_00)" ( identifier , identifier , identifier ))) ;) (expression_statement "__format = (char *)dcgettext(0,"location view pair\n",5);" (assignment_expression "__format = (char *)dcgettext(0,"location view pair\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"location view pair\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"location view pair\n",5)" identifier (argument_list "(0,"location view pair\n",5)" ( number_literal , (string_literal ""location view pair\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(__format);" (call_expression "printf(__format)" identifier (argument_list "(__format)" ( identifier ))) ;) }) while (parenthesized_expression "(data_00 < end)" ( (binary_expression "data_00 < end" identifier < identifier) )) ;) })) (expression_statement "putc(10,stdout);" (call_expression "putc(10,stdout)" identifier (argument_list "(10,stdout)" ( number_literal , identifier ))) ;) (expression_statement "*(dwarf_section **)CONCAT44(in_register_00000014,debug_info_entry) = data_00;" (assignment_expression "*(dwarf_section **)CONCAT44(in_register_00000014,debug_info_entry) = data_00" (pointer_expression "*(dwarf_section **)CONCAT44(in_register_00000014,debug_info_entry)" * (cast_expression "(dwarf_section **)CONCAT44(in_register_00000014,debug_info_entry)" ( (type_descriptor "dwarf_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT44(in_register_00000014,debug_info_entry)" identifier (argument_list "(in_register_00000014,debug_info_entry)" ( identifier , identifier ))))) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00141fd0(long *param_1,long param_2,ulong *param_3,uint param_4,ulong param_5)\n\n{\n  ulong uVar1;\n  undefined4 uVar2;\n  undefined8 uVar3;\n  char *__format;\n  undefined8 uVar4;\n  ulong uVar5;\n  ulong uVar6;\n  long lVar7;\n  uint local_3c [3];\n  \n  uVar6 = *param_3;\n  uVar2 = *(undefined4 *)(DAT_00196f08 + (ulong)param_4 * 0x68);\n  uVar5 = *param_1 + param_2;\n  if (param_5 < (ulong)(*param_1 + param_2)) {\n    uVar5 = param_5;\n  }\n  putc(10,stdout);\n  if (uVar6 < uVar5) {\n    do {\n      lVar7 = uVar6 - *param_1;\n      uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);\n      uVar1 = uVar6 + local_3c[0];\n      if (uVar1 == uVar5) break;\n      uVar3 = FUN_0013fb20(uVar1);\n      uVar6 = uVar1 + local_3c[0];\n      printf("    %8.8lx ",lVar7);\n      FUN_0013ecd0(uVar4,uVar2);\n      FUN_0013ecd0(uVar3,uVar2);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (uVar6 < uVar5);\n  }\n  putc(10,stdout);\n  *param_3 = uVar6;\n  return;\n}\n\n" (function_definition "void FUN_00141fd0(long *param_1,long param_2,ulong *param_3,uint param_4,ulong param_5)\n\n{\n  ulong uVar1;\n  undefined4 uVar2;\n  undefined8 uVar3;\n  char *__format;\n  undefined8 uVar4;\n  ulong uVar5;\n  ulong uVar6;\n  long lVar7;\n  uint local_3c [3];\n  \n  uVar6 = *param_3;\n  uVar2 = *(undefined4 *)(DAT_00196f08 + (ulong)param_4 * 0x68);\n  uVar5 = *param_1 + param_2;\n  if (param_5 < (ulong)(*param_1 + param_2)) {\n    uVar5 = param_5;\n  }\n  putc(10,stdout);\n  if (uVar6 < uVar5) {\n    do {\n      lVar7 = uVar6 - *param_1;\n      uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);\n      uVar1 = uVar6 + local_3c[0];\n      if (uVar1 == uVar5) break;\n      uVar3 = FUN_0013fb20(uVar1);\n      uVar6 = uVar1 + local_3c[0];\n      printf("    %8.8lx ",lVar7);\n      FUN_0013ecd0(uVar4,uVar2);\n      FUN_0013ecd0(uVar3,uVar2);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (uVar6 < uVar5);\n  }\n  putc(10,stdout);\n  *param_3 = uVar6;\n  return;\n}" primitive_type (function_declarator "FUN_00141fd0(long *param_1,long param_2,ulong *param_3,uint param_4,ulong param_5)" identifier (parameter_list "(long *param_1,long param_2,ulong *param_3,uint param_4,ulong param_5)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "ulong *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "ulong param_5" type_identifier identifier) ))) (compound_statement "{\n  ulong uVar1;\n  undefined4 uVar2;\n  undefined8 uVar3;\n  char *__format;\n  undefined8 uVar4;\n  ulong uVar5;\n  ulong uVar6;\n  long lVar7;\n  uint local_3c [3];\n  \n  uVar6 = *param_3;\n  uVar2 = *(undefined4 *)(DAT_00196f08 + (ulong)param_4 * 0x68);\n  uVar5 = *param_1 + param_2;\n  if (param_5 < (ulong)(*param_1 + param_2)) {\n    uVar5 = param_5;\n  }\n  putc(10,stdout);\n  if (uVar6 < uVar5) {\n    do {\n      lVar7 = uVar6 - *param_1;\n      uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);\n      uVar1 = uVar6 + local_3c[0];\n      if (uVar1 == uVar5) break;\n      uVar3 = FUN_0013fb20(uVar1);\n      uVar6 = uVar1 + local_3c[0];\n      printf("    %8.8lx ",lVar7);\n      FUN_0013ecd0(uVar4,uVar2);\n      FUN_0013ecd0(uVar3,uVar2);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (uVar6 < uVar5);\n  }\n  putc(10,stdout);\n  *param_3 = uVar6;\n  return;\n}" { (declaration "ulong uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "char *__format;" primitive_type (pointer_declarator "*__format" * identifier) ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "ulong uVar6;" type_identifier identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "uint local_3c [3];" type_identifier (array_declarator "local_3c [3]" identifier [ number_literal ]) ;) (expression_statement "uVar6 = *param_3;" (assignment_expression "uVar6 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "uVar2 = *(undefined4 *)(DAT_00196f08 + (ulong)param_4 * 0x68);" (assignment_expression "uVar2 = *(undefined4 *)(DAT_00196f08 + (ulong)param_4 * 0x68)" identifier = (pointer_expression "*(undefined4 *)(DAT_00196f08 + (ulong)param_4 * 0x68)" * (cast_expression "(undefined4 *)(DAT_00196f08 + (ulong)param_4 * 0x68)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00196f08 + (ulong)param_4 * 0x68)" ( (binary_expression "DAT_00196f08 + (ulong)param_4 * 0x68" identifier + (binary_expression "(ulong)param_4 * 0x68" (cast_expression "(ulong)param_4" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;) (expression_statement "uVar5 = *param_1 + param_2;" (assignment_expression "uVar5 = *param_1 + param_2" identifier = (binary_expression "*param_1 + param_2" (pointer_expression "*param_1" * identifier) + identifier)) ;) (if_statement "if (param_5 < (ulong)(*param_1 + param_2)) {\n    uVar5 = param_5;\n  }" if (parenthesized_expression "(param_5 < (ulong)(*param_1 + param_2))" ( (binary_expression "param_5 < (ulong)(*param_1 + param_2)" identifier < (call_expression "(ulong)(*param_1 + param_2)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(*param_1 + param_2)" ( (binary_expression "*param_1 + param_2" (pointer_expression "*param_1" * identifier) + identifier) )))) )) (compound_statement "{\n    uVar5 = param_5;\n  }" { (expression_statement "uVar5 = param_5;" (assignment_expression "uVar5 = param_5" identifier = identifier) ;) })) (expression_statement "putc(10,stdout);" (call_expression "putc(10,stdout)" identifier (argument_list "(10,stdout)" ( number_literal , identifier ))) ;) (if_statement "if (uVar6 < uVar5) {\n    do {\n      lVar7 = uVar6 - *param_1;\n      uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);\n      uVar1 = uVar6 + local_3c[0];\n      if (uVar1 == uVar5) break;\n      uVar3 = FUN_0013fb20(uVar1);\n      uVar6 = uVar1 + local_3c[0];\n      printf("    %8.8lx ",lVar7);\n      FUN_0013ecd0(uVar4,uVar2);\n      FUN_0013ecd0(uVar3,uVar2);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (uVar6 < uVar5);\n  }" if (parenthesized_expression "(uVar6 < uVar5)" ( (binary_expression "uVar6 < uVar5" identifier < identifier) )) (compound_statement "{\n    do {\n      lVar7 = uVar6 - *param_1;\n      uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);\n      uVar1 = uVar6 + local_3c[0];\n      if (uVar1 == uVar5) break;\n      uVar3 = FUN_0013fb20(uVar1);\n      uVar6 = uVar1 + local_3c[0];\n      printf("    %8.8lx ",lVar7);\n      FUN_0013ecd0(uVar4,uVar2);\n      FUN_0013ecd0(uVar3,uVar2);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (uVar6 < uVar5);\n  }" { (do_statement "do {\n      lVar7 = uVar6 - *param_1;\n      uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);\n      uVar1 = uVar6 + local_3c[0];\n      if (uVar1 == uVar5) break;\n      uVar3 = FUN_0013fb20(uVar1);\n      uVar6 = uVar1 + local_3c[0];\n      printf("    %8.8lx ",lVar7);\n      FUN_0013ecd0(uVar4,uVar2);\n      FUN_0013ecd0(uVar3,uVar2);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (uVar6 < uVar5);" do (compound_statement "{\n      lVar7 = uVar6 - *param_1;\n      uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);\n      uVar1 = uVar6 + local_3c[0];\n      if (uVar1 == uVar5) break;\n      uVar3 = FUN_0013fb20(uVar1);\n      uVar6 = uVar1 + local_3c[0];\n      printf("    %8.8lx ",lVar7);\n      FUN_0013ecd0(uVar4,uVar2);\n      FUN_0013ecd0(uVar3,uVar2);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    }" { (expression_statement "lVar7 = uVar6 - *param_1;" (assignment_expression "lVar7 = uVar6 - *param_1" identifier = (binary_expression "uVar6 - *param_1" identifier - (pointer_expression "*param_1" * identifier))) ;) (expression_statement "uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);" (assignment_expression "uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5)" identifier = (call_expression "FUN_0013fb20(uVar6,local_3c,0,uVar5)" identifier (argument_list "(uVar6,local_3c,0,uVar5)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "uVar1 = uVar6 + local_3c[0];" (assignment_expression "uVar1 = uVar6 + local_3c[0]" identifier = (binary_expression "uVar6 + local_3c[0]" identifier + (subscript_expression "local_3c[0]" identifier [ number_literal ]))) ;) (if_statement "if (uVar1 == uVar5) break;" if (parenthesized_expression "(uVar1 == uVar5)" ( (binary_expression "uVar1 == uVar5" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar3 = FUN_0013fb20(uVar1);" (assignment_expression "uVar3 = FUN_0013fb20(uVar1)" identifier = (call_expression "FUN_0013fb20(uVar1)" identifier (argument_list "(uVar1)" ( identifier )))) ;) (expression_statement "uVar6 = uVar1 + local_3c[0];" (assignment_expression "uVar6 = uVar1 + local_3c[0]" identifier = (binary_expression "uVar1 + local_3c[0]" identifier + (subscript_expression "local_3c[0]" identifier [ number_literal ]))) ;) (expression_statement "printf("    %8.8lx ",lVar7);" (call_expression "printf("    %8.8lx ",lVar7)" identifier (argument_list "("    %8.8lx ",lVar7)" ( (string_literal ""    %8.8lx "" " string_content ") , identifier ))) ;) (expression_statement "FUN_0013ecd0(uVar4,uVar2);" (call_expression "FUN_0013ecd0(uVar4,uVar2)" identifier (argument_list "(uVar4,uVar2)" ( identifier , identifier ))) ;) (expression_statement "FUN_0013ecd0(uVar3,uVar2);" (call_expression "FUN_0013ecd0(uVar3,uVar2)" identifier (argument_list "(uVar3,uVar2)" ( identifier , identifier ))) ;) (expression_statement "__format = (char *)dcgettext(0,"location view pair\n",5);" (assignment_expression "__format = (char *)dcgettext(0,"location view pair\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"location view pair\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"location view pair\n",5)" identifier (argument_list "(0,"location view pair\n",5)" ( number_literal , (string_literal ""location view pair\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(__format);" (call_expression "printf(__format)" identifier (argument_list "(__format)" ( identifier ))) ;) }) while (parenthesized_expression "(uVar6 < uVar5)" ( (binary_expression "uVar6 < uVar5" identifier < identifier) )) ;) })) (expression_statement "putc(10,stdout);" (call_expression "putc(10,stdout)" identifier (argument_list "(10,stdout)" ( number_literal , identifier ))) ;) (expression_statement "*param_3 = uVar6;" (assignment_expression "*param_3 = uVar6" (pointer_expression "*param_3" * identifier) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * IDENT) + IDENT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (return_statement return ;) })))
(function_definition "void FUN_00141fd0(long *param_1,long param_2,ulong *param_3,uint param_4,ulong param_5)\n\n{\n  ulong uVar1;\n  undefined4 uVar2;\n  undefined8 uVar3;\n  char *__format;\n  undefined8 uVar4;\n  ulong uVar5;\n  ulong uVar6;\n  long lVar7;\n  uint local_3c [3];\n  \n  uVar6 = *param_3;\n  uVar2 = *(undefined4 *)(DAT_00196f08 + (ulong)param_4 * 0x68);\n  uVar5 = *param_1 + param_2;\n  if (param_5 < (ulong)(*param_1 + param_2)) {\n    uVar5 = param_5;\n  }\n  putc(10,stdout);\n  if (uVar6 < uVar5) {\n    do {\n      lVar7 = uVar6 - *param_1;\n      uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);\n      uVar1 = uVar6 + local_3c[0];\n      if (uVar1 == uVar5) break;\n      uVar3 = FUN_0013fb20(uVar1);\n      uVar6 = uVar1 + local_3c[0];\n      printf("    %8.8lx ",lVar7);\n      FUN_0013ecd0(uVar4,uVar2);\n      FUN_0013ecd0(uVar3,uVar2);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (uVar6 < uVar5);\n  }\n  putc(10,stdout);\n  *param_3 = uVar6;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00141fd0(long *param_1,long param_2,ulong *param_3,uint param_4,ulong param_5)" (identifier "FUN_00141fd0") (parameter_list "(long *param_1,long param_2,ulong *param_3,uint param_4,ulong param_5)" (( "(") (parameter_declaration "long *param_1" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "long param_2" (sized_type_specifier "long" (long "long")) (identifier "param_2")) (, ",") (parameter_declaration "ulong *param_3" (type_identifier "ulong") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "uint param_4" (type_identifier "uint") (identifier "param_4")) (, ",") (parameter_declaration "ulong param_5" (type_identifier "ulong") (identifier "param_5")) () ")"))) (compound_statement "{\n  ulong uVar1;\n  undefined4 uVar2;\n  undefined8 uVar3;\n  char *__format;\n  undefined8 uVar4;\n  ulong uVar5;\n  ulong uVar6;\n  long lVar7;\n  uint local_3c [3];\n  \n  uVar6 = *param_3;\n  uVar2 = *(undefined4 *)(DAT_00196f08 + (ulong)param_4 * 0x68);\n  uVar5 = *param_1 + param_2;\n  if (param_5 < (ulong)(*param_1 + param_2)) {\n    uVar5 = param_5;\n  }\n  putc(10,stdout);\n  if (uVar6 < uVar5) {\n    do {\n      lVar7 = uVar6 - *param_1;\n      uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);\n      uVar1 = uVar6 + local_3c[0];\n      if (uVar1 == uVar5) break;\n      uVar3 = FUN_0013fb20(uVar1);\n      uVar6 = uVar1 + local_3c[0];\n      printf("    %8.8lx ",lVar7);\n      FUN_0013ecd0(uVar4,uVar2);\n      FUN_0013ecd0(uVar3,uVar2);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (uVar6 < uVar5);\n  }\n  putc(10,stdout);\n  *param_3 = uVar6;\n  return;\n}" ({ "{") (declaration "ulong uVar1;" (type_identifier "ulong") (identifier "uVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined8 uVar3;" (type_identifier "undefined8") (identifier "uVar3") (; ";")) (declaration "char *__format;" (primitive_type "char") (pointer_declarator "*__format" (* "*") (identifier "__format")) (; ";")) (declaration "undefined8 uVar4;" (type_identifier "undefined8") (identifier "uVar4") (; ";")) (declaration "ulong uVar5;" (type_identifier "ulong") (identifier "uVar5") (; ";")) (declaration "ulong uVar6;" (type_identifier "ulong") (identifier "uVar6") (; ";")) (declaration "long lVar7;" (sized_type_specifier "long" (long "long")) (identifier "lVar7") (; ";")) (declaration "uint local_3c [3];" (type_identifier "uint") (array_declarator "local_3c [3]" (identifier "local_3c") ([ "[") (number_literal "3") (] "]")) (; ";")) (expression_statement "uVar6 = *param_3;" (assignment_expression "uVar6 = *param_3" (identifier "uVar6") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(DAT_00196f08 + (ulong)param_4 * 0x68);" (assignment_expression "uVar2 = *(undefined4 *)(DAT_00196f08 + (ulong)param_4 * 0x68)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(DAT_00196f08 + (ulong)param_4 * 0x68)" (* "*") (cast_expression "(undefined4 *)(DAT_00196f08 + (ulong)param_4 * 0x68)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00196f08 + (ulong)param_4 * 0x68)" (( "(") (binary_expression "DAT_00196f08 + (ulong)param_4 * 0x68" (identifier "DAT_00196f08") (+ "+") (binary_expression "(ulong)param_4 * 0x68" (cast_expression "(ulong)param_4" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_4")) (* "*") (number_literal "0x68"))) () ")"))))) (; ";")) (expression_statement "uVar5 = *param_1 + param_2;" (assignment_expression "uVar5 = *param_1 + param_2" (identifier "uVar5") (= "=") (binary_expression "*param_1 + param_2" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (identifier "param_2"))) (; ";")) (if_statement "if (param_5 < (ulong)(*param_1 + param_2)) {\n    uVar5 = param_5;\n  }" (if "if") (parenthesized_expression "(param_5 < (ulong)(*param_1 + param_2))" (( "(") (binary_expression "param_5 < (ulong)(*param_1 + param_2)" (identifier "param_5") (< "<") (call_expression "(ulong)(*param_1 + param_2)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(*param_1 + param_2)" (( "(") (binary_expression "*param_1 + param_2" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (identifier "param_2")) () ")")))) () ")")) (compound_statement "{\n    uVar5 = param_5;\n  }" ({ "{") (expression_statement "uVar5 = param_5;" (assignment_expression "uVar5 = param_5" (identifier "uVar5") (= "=") (identifier "param_5")) (; ";")) (} "}"))) (expression_statement "putc(10,stdout);" (call_expression "putc(10,stdout)" (identifier "putc") (argument_list "(10,stdout)" (( "(") (number_literal "10") (, ",") (identifier "stdout") () ")"))) (; ";")) (if_statement "if (uVar6 < uVar5) {\n    do {\n      lVar7 = uVar6 - *param_1;\n      uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);\n      uVar1 = uVar6 + local_3c[0];\n      if (uVar1 == uVar5) break;\n      uVar3 = FUN_0013fb20(uVar1);\n      uVar6 = uVar1 + local_3c[0];\n      printf("    %8.8lx ",lVar7);\n      FUN_0013ecd0(uVar4,uVar2);\n      FUN_0013ecd0(uVar3,uVar2);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (uVar6 < uVar5);\n  }" (if "if") (parenthesized_expression "(uVar6 < uVar5)" (( "(") (binary_expression "uVar6 < uVar5" (identifier "uVar6") (< "<") (identifier "uVar5")) () ")")) (compound_statement "{\n    do {\n      lVar7 = uVar6 - *param_1;\n      uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);\n      uVar1 = uVar6 + local_3c[0];\n      if (uVar1 == uVar5) break;\n      uVar3 = FUN_0013fb20(uVar1);\n      uVar6 = uVar1 + local_3c[0];\n      printf("    %8.8lx ",lVar7);\n      FUN_0013ecd0(uVar4,uVar2);\n      FUN_0013ecd0(uVar3,uVar2);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (uVar6 < uVar5);\n  }" ({ "{") (do_statement "do {\n      lVar7 = uVar6 - *param_1;\n      uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);\n      uVar1 = uVar6 + local_3c[0];\n      if (uVar1 == uVar5) break;\n      uVar3 = FUN_0013fb20(uVar1);\n      uVar6 = uVar1 + local_3c[0];\n      printf("    %8.8lx ",lVar7);\n      FUN_0013ecd0(uVar4,uVar2);\n      FUN_0013ecd0(uVar3,uVar2);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    } while (uVar6 < uVar5);" (do "do") (compound_statement "{\n      lVar7 = uVar6 - *param_1;\n      uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);\n      uVar1 = uVar6 + local_3c[0];\n      if (uVar1 == uVar5) break;\n      uVar3 = FUN_0013fb20(uVar1);\n      uVar6 = uVar1 + local_3c[0];\n      printf("    %8.8lx ",lVar7);\n      FUN_0013ecd0(uVar4,uVar2);\n      FUN_0013ecd0(uVar3,uVar2);\n      __format = (char *)dcgettext(0,"location view pair\n",5);\n      printf(__format);\n    }" ({ "{") (expression_statement "lVar7 = uVar6 - *param_1;" (assignment_expression "lVar7 = uVar6 - *param_1" (identifier "lVar7") (= "=") (binary_expression "uVar6 - *param_1" (identifier "uVar6") (- "-") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (; ";")) (expression_statement "uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);" (assignment_expression "uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5)" (identifier "uVar4") (= "=") (call_expression "FUN_0013fb20(uVar6,local_3c,0,uVar5)" (identifier "FUN_0013fb20") (argument_list "(uVar6,local_3c,0,uVar5)" (( "(") (identifier "uVar6") (, ",") (identifier "local_3c") (, ",") (number_literal "0") (, ",") (identifier "uVar5") () ")")))) (; ";")) (expression_statement "uVar1 = uVar6 + local_3c[0];" (assignment_expression "uVar1 = uVar6 + local_3c[0]" (identifier "uVar1") (= "=") (binary_expression "uVar6 + local_3c[0]" (identifier "uVar6") (+ "+") (subscript_expression "local_3c[0]" (identifier "local_3c") ([ "[") (number_literal "0") (] "]")))) (; ";")) (if_statement "if (uVar1 == uVar5) break;" (if "if") (parenthesized_expression "(uVar1 == uVar5)" (( "(") (binary_expression "uVar1 == uVar5" (identifier "uVar1") (== "==") (identifier "uVar5")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar3 = FUN_0013fb20(uVar1);" (assignment_expression "uVar3 = FUN_0013fb20(uVar1)" (identifier "uVar3") (= "=") (call_expression "FUN_0013fb20(uVar1)" (identifier "FUN_0013fb20") (argument_list "(uVar1)" (( "(") (identifier "uVar1") () ")")))) (; ";")) (expression_statement "uVar6 = uVar1 + local_3c[0];" (assignment_expression "uVar6 = uVar1 + local_3c[0]" (identifier "uVar6") (= "=") (binary_expression "uVar1 + local_3c[0]" (identifier "uVar1") (+ "+") (subscript_expression "local_3c[0]" (identifier "local_3c") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "printf("    %8.8lx ",lVar7);" (call_expression "printf("    %8.8lx ",lVar7)" (identifier "printf") (argument_list "("    %8.8lx ",lVar7)" (( "(") (string_literal ""    %8.8lx "" (" """) (string_content "    %8.8lx ") (" """)) (, ",") (identifier "lVar7") () ")"))) (; ";")) (expression_statement "FUN_0013ecd0(uVar4,uVar2);" (call_expression "FUN_0013ecd0(uVar4,uVar2)" (identifier "FUN_0013ecd0") (argument_list "(uVar4,uVar2)" (( "(") (identifier "uVar4") (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "FUN_0013ecd0(uVar3,uVar2);" (call_expression "FUN_0013ecd0(uVar3,uVar2)" (identifier "FUN_0013ecd0") (argument_list "(uVar3,uVar2)" (( "(") (identifier "uVar3") (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "__format = (char *)dcgettext(0,"location view pair\n",5);" (assignment_expression "__format = (char *)dcgettext(0,"location view pair\n",5)" (identifier "__format") (= "=") (cast_expression "(char *)dcgettext(0,"location view pair\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"location view pair\n",5)" (identifier "dcgettext") (argument_list "(0,"location view pair\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""location view pair\n"" (" """) (string_content "location view pair") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(__format);" (call_expression "printf(__format)" (identifier "printf") (argument_list "(__format)" (( "(") (identifier "__format") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar6 < uVar5)" (( "(") (binary_expression "uVar6 < uVar5" (identifier "uVar6") (< "<") (identifier "uVar5")) () ")")) (; ";")) (} "}"))) (expression_statement "putc(10,stdout);" (call_expression "putc(10,stdout)" (identifier "putc") (argument_list "(10,stdout)" (( "(") (number_literal "10") (, ",") (identifier "stdout") () ")"))) (; ";")) (expression_statement "*param_3 = uVar6;" (assignment_expression "*param_3 = uVar6" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (identifier "uVar6")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* DWARF original prototype: void display_view_pair_list(dwarf_section * section, uchar * *
   vstart_ptr, uint debug_info_entry, uchar * vlistend, dwarf_section * section) */

void function_1
               (type_1 *section,type_2 **vstart_ptr,type_3 debug_info_entry,type_2 *vlistend,
               type_1 *var_2)

{
  type_1 *var_7;
  type_3 num_bytes;
  type_4 value;
  char *__format;
  type_4 value_00;
  int force;
  int force_00;
  type_5 in_register_00000014;
  type_1 *var_5;
  type_3 *length_return;
  type_1 *var_4;
  long lVar1;
  type_3 bytes_read;
  
  var_4 = *(type_1 **)var_1(in_register_00000014,debug_info_entry);
  num_bytes = debug_information[(type_6)vlistend & 0xffffffff].pointer_size;
  var_5 = (type_1 *)(section->uncompressed_name + (long)vstart_ptr);
  if (var_2 < (type_1 *)(section->uncompressed_name + (long)vstart_ptr)) {
    var_5 = var_2;
  }
  var_3(10,stdout);
  if (var_4 < var_5) {
    do {
      lVar1 = (long)var_4 - (long)section->uncompressed_name;
      length_return = &bytes_read;
      value_00 = var_6((type_2 *)var_4,&bytes_read,0,(type_2 *)var_5);
      var_7 = (type_1 *)((long)&var_4->uncompressed_name + (type_6)bytes_read);
      if (var_7 == var_5) break;
      value = var_6((type_2 *)var_7,length_return,0,(type_2 *)var_5);
      var_4 = (type_1 *)((long)&var_7->uncompressed_name + (type_6)bytes_read);
      var_8("    %8.8lx ",lVar1);
      var_9(value_00,num_bytes,force);
      var_9(value,num_bytes,force_00);
      __format = (char *)var_10(0,"location view pair\n",5);
      var_8(__format);
    } while (var_4 < var_5);
  }
  var_3(10,stdout);
  *(type_1 **)var_1(in_register_00000014,debug_info_entry) = var_4;
  return;
}


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

void MASKED(long *param_1,long param_2,ulong *param_3,uint param_4,ulong param_5)

{
  ulong uVar1;
  undefined4 uVar2;
  undefined8 uVar3;
  char *__format;
  undefined8 uVar4;
  ulong uVar5;
  ulong uVar6;
  long lVar7;
  uint local_3c [3];
  
  uVar6 = *param_3;
  uVar2 = *(undefined4 *)(DAT_00196f08 + (ulong)param_4 * 0x68);
  uVar5 = *param_1 + param_2;
  if (param_5 < (ulong)(*param_1 + param_2)) {
    uVar5 = param_5;
  }
  putc(10,stdout);
  if (uVar6 < uVar5) {
    do {
      lVar7 = uVar6 - *param_1;
      uVar4 = FUN_0013fb20(uVar6,local_3c,0,uVar5);
      uVar1 = uVar6 + local_3c[0];
      if (uVar1 == uVar5) break;
      uVar3 = FUN_0013fb20(uVar1);
      uVar6 = uVar1 + local_3c[0];
      printf("    %8.8lx ",lVar7);
      FUN_0013ecd0(uVar4,uVar2);
      FUN_0013ecd0(uVar3,uVar2);
      __format = (char *)dcgettext(0,"location view pair\n",5);
      printf(__format);
    } while (uVar6 < uVar5);
  }
  putc(10,stdout);
  *param_3 = uVar6;
  return;
}

