// File: /workspace/github_c_makefile_star2_O0/rchiossi[P]dexterity/lib/dex_parser.c
// Function: dx_parse
Dex* dx_parse(ByteStream* bs) {
  Dex* dx;
  unsigned int i,j;

  if (bs == NULL) return NULL;

  dx = (Dex*) malloc_s(sizeof(Dex));

  dx->header = dx_header(bs,bs->offset);
  dx->map_list = dx_maplist(bs,dx->header->map_off);

  //header data
  DX_ALLOC_LIST(DexStringIdItem*,dx->string_ids,dx->header->string_ids_size);
  DX_ALLOC_LIST(DexTypeIdItem*,dx->type_ids,dx->header->type_ids_size);
  DX_ALLOC_LIST(DexProtoIdItem*,dx->proto_ids,dx->header->proto_ids_size);
  DX_ALLOC_LIST(DexFieldIdItem*,dx->field_ids,dx->header->field_ids_size);
  DX_ALLOC_LIST(DexMethodIdItem*,dx->method_ids,dx->header->method_ids_size);
  DX_ALLOC_LIST(DexClassDefItem*,dx->class_defs,dx->header->class_defs_size);

  dx->meta.string_ids_alloc = dx->header->string_ids_size;
  dx->meta.type_ids_alloc = dx->header->type_ids_size;
  dx->meta.proto_ids_alloc = dx->header->proto_ids_size;
  dx->meta.field_ids_alloc = dx->header->field_ids_size;
  dx->meta.method_ids_alloc = dx->header->method_ids_size;
  dx->meta.class_defs_alloc = dx->header->class_defs_size;
    
  bsseek(bs,dx->header->string_ids_off);
  for (i=0; i<dx->header->string_ids_size; i++)
    dx->string_ids[i] = dx_stringid(bs,bs->offset);

  bsseek(bs,dx->header->type_ids_off);
  for (i=0; i<dx->header->type_ids_size; i++)
    dx->type_ids[i] = dx_typeid(bs,bs->offset);

  bsseek(bs,dx->header->proto_ids_off);
  for (i=0; i<dx->header->proto_ids_size; i++)
    dx->proto_ids[i] = dx_protoid(bs,bs->offset);

  bsseek(bs,dx->header->field_ids_off);
  for (i=0; i<dx->header->field_ids_size; i++)
    dx->field_ids[i] = dx_fieldid(bs,bs->offset);

  bsseek(bs,dx->header->method_ids_off);
  for (i=0; i<dx->header->method_ids_size; i++)
    dx->method_ids[i] = dx_methodid(bs,bs->offset);

  bsseek(bs,dx->header->class_defs_off);
  for (i=0; i<dx->header->class_defs_size; i++)
    dx->class_defs[i] = dx_classdef(bs,bs->offset);

  //Data from string id
  dx->meta.string_data_list_size = dx->header->string_ids_size;
  dx->meta.string_data_list_alloc = dx->header->string_ids_size;

  DX_ALLOC_LIST(DexStringDataItem*,dx->string_data_list,dx->header->string_ids_size);

  for (i=0; i<dx->meta.string_data_list_size; i++)
    dx->string_data_list[i] = dx_stringdata(bs,dx->string_ids[i]->string_data_off);
  
  //Data from proto id
  dx->meta.type_lists_size = 0;
  dx->meta.type_lists_alloc = dx->header->proto_ids_size;

  DX_ALLOC_LIST(DexTypeList*,dx->type_lists,dx->meta.type_lists_alloc);

  DX_READ_TABLE(DexTypeList*,
		dx_typelist,
		dx->header->proto_ids_size,
		dx->proto_ids[i]->parameters_off,
		dx->type_lists,
		dx->meta.type_lists_size,
		dx->meta.type_lists_alloc);

  //Data from class def
  DX_READ_TABLE(DexTypeList*,
		dx_typelist,
		dx->header->class_defs_size,
		dx->class_defs[i]->interfaces_off,
		dx->type_lists,
		dx->meta.type_lists_size,
		dx->meta.type_lists_alloc);

  dx->meta.an_directories_size = 0;
  dx->meta.an_directories_alloc = dx->header->class_defs_size;

  DX_ALLOC_LIST(DexAnnotationDirectoryItem*,
		dx->an_directories,dx->meta.an_directories_alloc);

  DX_READ_TABLE(DexAnnotationDirectoryItem*,
		dx_annotationdirectoryitem,
		dx->header->class_defs_size,
		dx->class_defs[i]->annotations_off,
		dx->an_directories,
		dx->meta.an_directories_size,
		dx->meta.an_directories_alloc);

  dx->meta.class_data_size = 0;
  dx->meta.class_data_alloc = dx->header->class_defs_size;

  DX_ALLOC_LIST(DexClassDataItem*,
		dx->class_data,dx->meta.class_data_alloc);

  DX_READ_TABLE(DexClassDataItem*,
		dx_classdata,
		dx->header->class_defs_size,
		dx->class_defs[i]->class_data_off,
		dx->class_data,
		dx->meta.class_data_size,
		dx->meta.class_data_alloc);

  dx->meta.encoded_arrays_size = 0;
  dx->meta.encoded_arrays_alloc = dx->header->class_defs_size;

  DX_ALLOC_LIST(DexEncodedArray*,
		dx->encoded_arrays,dx->meta.encoded_arrays_alloc);

  DX_READ_TABLE(DexEncodedArray*,
		dx_encodedarray,
		dx->header->class_defs_size,
		dx->class_defs[i]->static_values_off,
		dx->encoded_arrays,
		dx->meta.encoded_arrays_size,
		dx->meta.encoded_arrays_alloc);

  //Data from class data
  dx->meta.code_list_size = 0;
  dx->meta.code_list_alloc = dx->meta.class_data_size;

  DX_ALLOC_LIST(DexCodeItem*,
		dx->code_list,dx->meta.code_list_alloc);

  for (j=0; j< dx->meta.class_data_size; j++) {
    if (dx->class_data[j]->meta.corrupted) continue;

    DX_READ_TABLE(DexCodeItem*,
		  dx_codeitem,
		  ul128toui(dx->class_data[j]->direct_methods_size),
		  ul128toui(dx->class_data[j]->direct_methods[i]->code_off),
		  dx->code_list,
		  dx->meta.code_list_size,
		  dx->meta.code_list_alloc);   

    DX_READ_TABLE(DexCodeItem*,
		  dx_codeitem,
		  ul128toui(dx->class_data[j]->virtual_methods_size),
		  ul128toui(dx->class_data[j]->virtual_methods[i]->code_off),
		  dx->code_list,
		  dx->meta.code_list_size,
		  dx->meta.code_list_alloc);   
  }

  //data from code item
  dx->meta.debug_info_list_size = 0;
  dx->meta.debug_info_list_alloc = dx->meta.code_list_size;

  DX_ALLOC_LIST(DexDebugInfo*,
		dx->debug_info_list,dx->meta.debug_info_list_alloc);

  DX_READ_TABLE(DexDebugInfo*,
		dx_debuginfo,
		dx->meta.code_list_size,
		dx->code_list[i]->debug_info_off,
		dx->debug_info_list,
		dx->meta.debug_info_list_size,
		dx->meta.debug_info_list_alloc);
 
  //data from annotations directory
  dx->meta.an_set_size = 0;
  dx->meta.an_set_alloc = dx->meta.an_directories_size;

  DX_ALLOC_LIST(DexAnnotationSetItem*,
		dx->an_set,dx->meta.an_set_alloc);

  DX_READ_TABLE(DexAnnotationSetItem*,
		dx_annotationsetitem,
		dx->meta.an_directories_size,
		dx->an_directories[i]->class_annotations_off,
		dx->an_set,
		dx->meta.an_set_size,
		dx->meta.an_set_alloc);

  dx->meta.an_set_ref_lists_size = 0;
  dx->meta.an_set_ref_lists_alloc = dx->meta.an_directories_size;

  DX_ALLOC_LIST(DexAnnotationSetRefList*,
		dx->an_set_ref_lists,dx->meta.an_set_ref_lists_alloc);

  for (j=0; j<dx->meta.an_directories_size; j++) {
    if (dx->an_directories[j]->meta.corrupted) continue;

    DX_READ_TABLE(DexAnnotationSetItem*,
		  dx_annotationsetitem,
		  dx->an_directories[j]->fields_size,
		  dx->an_directories[j]->field_annotations[i]->annotations_off,
		  dx->an_set,
		  dx->meta.an_set_size,
		  dx->meta.an_set_alloc);

    DX_READ_TABLE(DexAnnotationSetItem*,
		  dx_annotationsetitem,
		  dx->an_directories[j]->annotated_methods_size,
		  dx->an_directories[j]->method_annotations[i]->annotations_off,
		  dx->an_set,
		  dx->meta.an_set_size,
		  dx->meta.an_set_alloc);

    DX_READ_TABLE(DexAnnotationSetRefList*,
		  dx_annotationsetreflist,
		  dx->an_directories[j]->annotated_parameters_size,
		  dx->an_directories[j]->parameter_annotations[i]->annotations_off,
		  dx->an_set_ref_lists,
		  dx->meta.an_set_ref_lists_size,
		  dx->meta.an_set_ref_lists_alloc);
  }

  //data from annotation set ref lists
  for (j=0; j<dx->meta.an_set_ref_lists_size; j++) {
    if (dx->an_set_ref_lists[j]->meta.corrupted) continue;
    
    DX_READ_TABLE(DexAnnotationSetItem*,
		  dx_annotationsetitem,
		  dx->an_set_ref_lists[j]->size,
		  dx->an_set_ref_lists[j]->list[i]->annotations_off,
		  dx->an_set,
		  dx->meta.an_set_size,
		  dx->meta.an_set_alloc);
  }

  //data from annotation set items
  dx->meta.annotations_size = 0;
  dx->meta.annotations_alloc = dx->meta.an_set_size;

  DX_ALLOC_LIST(DexAnnotationItem*,
		dx->annotations,dx->meta.annotations_alloc);


  for (j=0; j<dx->meta.an_set_size; j++) {
    if (dx->an_set[j]->meta.corrupted) continue;
    
    DX_READ_TABLE(DexAnnotationItem*,
		  dx_annotationitem,
		  dx->an_set[j]->size,
		  dx->an_set[j]->entries[i]->annotation_off,
		  dx->annotations,
		  dx->meta.annotations_size,
		  dx->meta.annotations_alloc);
  }

  return dx;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x9433
movq $0x0, -0x8(%rbp)
jmp 0xac7b
movl $0x168, %edi            # imm = 0x168
callq 0x4750
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x18(%rax), %esi
callq 0x44d0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x3c(%rax), %esi
callq 0x44b0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x18(%rbp), %rax
movq (%rax), %rax
cmpl $0x0, 0x40(%rax)
je 0x94a8
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x40(%rax), %eax
movl %eax, %edi
shlq $0x3, %rdi
callq 0x4750
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x10(%rax)
jmp 0x94b4
movq -0x18(%rbp), %rax
movq $0x0, 0x10(%rax)
jmp 0x94b6
jmp 0x94b8
movq -0x18(%rbp), %rax
movq (%rax), %rax
cmpl $0x0, 0x48(%rax)
je 0x94e7
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x48(%rax), %eax
movl %eax, %edi
shlq $0x3, %rdi
callq 0x4750
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x18(%rax)
jmp 0x94f3
movq -0x18(%rbp), %rax
movq $0x0, 0x18(%rax)
jmp 0x94f5
jmp 0x94f7
movq -0x18(%rbp), %rax
movq (%rax), %rax
cmpl $0x0, 0x50(%rax)
je 0x9526
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x50(%rax), %eax
movl %eax, %edi
shlq $0x3, %rdi
callq 0x4750
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x20(%rax)
jmp 0x9532
movq -0x18(%rbp), %rax
movq $0x0, 0x20(%rax)
jmp 0x9534
jmp 0x9536
movq -0x18(%rbp), %rax
movq (%rax), %rax
cmpl $0x0, 0x58(%rax)
je 0x9565
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x58(%rax), %eax
movl %eax, %edi
shlq $0x3, %rdi
callq 0x4750
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x28(%rax)
jmp 0x9571
movq -0x18(%rbp), %rax
movq $0x0, 0x28(%rax)
jmp 0x9573
jmp 0x9575
movq -0x18(%rbp), %rax
movq (%rax), %rax
cmpl $0x0, 0x60(%rax)
je 0x95a4
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x60(%rax), %eax
movl %eax, %edi
shlq $0x3, %rdi
callq 0x4750
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x30(%rax)
jmp 0x95b0
movq -0x18(%rbp), %rax
movq $0x0, 0x30(%rax)
jmp 0x95b2
jmp 0x95b4
movq -0x18(%rbp), %rax
movq (%rax), %rax
cmpl $0x0, 0x68(%rax)
je 0x95e3
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x68(%rax), %eax
movl %eax, %edi
shlq $0x3, %rdi
callq 0x4750
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x38(%rax)
jmp 0x95ef
movq -0x18(%rbp), %rax
movq $0x0, 0x38(%rax)
jmp 0x95f1
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x40(%rax), %eax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movq %rcx, 0x98(%rax)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x48(%rax), %eax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movq %rcx, 0xa0(%rax)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x50(%rax), %eax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movq %rcx, 0xa8(%rax)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x58(%rax), %eax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movq %rcx, 0xb0(%rax)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x60(%rax), %eax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movq %rcx, 0xb8(%rax)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x68(%rax), %eax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movq %rcx, 0xc0(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x44(%rax), %esi
callq 0x44f0
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
movq (%rcx), %rcx
cmpl 0x40(%rcx), %eax
jae 0x96d1
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x18(%rax), %esi
callq 0x42d0
movq %rax, %rdx
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movl -0x1c(%rbp), %ecx
movq %rdx, (%rax,%rcx,8)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x9695
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x4c(%rax), %esi
callq 0x44f0
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
movq (%rcx), %rcx
cmpl 0x48(%rcx), %eax
jae 0x9727
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x18(%rax), %esi
callq 0x44a0
movq %rax, %rdx
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rax
movl -0x1c(%rbp), %ecx
movq %rdx, (%rax,%rcx,8)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x96eb
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x54(%rax), %esi
callq 0x44f0
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
movq (%rcx), %rcx
cmpl 0x50(%rcx), %eax
jae 0x977d
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x18(%rax), %esi
callq 0x4780
movq %rax, %rdx
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rax
movl -0x1c(%rbp), %ecx
movq %rdx, (%rax,%rcx,8)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x9741
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x5c(%rax), %esi
callq 0x44f0
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
movq (%rcx), %rcx
cmpl 0x58(%rcx), %eax
jae 0x97d3
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x18(%rax), %esi
callq 0x4760
movq %rax, %rdx
movq -0x18(%rbp), %rax
movq 0x28(%rax), %rax
movl -0x1c(%rbp), %ecx
movq %rdx, (%rax,%rcx,8)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x9797
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x64(%rax), %esi
callq 0x44f0
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
movq (%rcx), %rcx
cmpl 0x60(%rcx), %eax
jae 0x9829
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x18(%rax), %esi
callq 0x40b0
movq %rax, %rdx
movq -0x18(%rbp), %rax
movq 0x30(%rax), %rax
movl -0x1c(%rbp), %ecx
movq %rdx, (%rax,%rcx,8)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x97ed
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x6c(%rax), %esi
callq 0x44f0
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
movq (%rcx), %rcx
cmpl 0x68(%rcx), %eax
jae 0x987f
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x18(%rax), %esi
callq 0x49c0
movq %rax, %rdx
movq -0x18(%rbp), %rax
movq 0x38(%rax), %rax
movl -0x1c(%rbp), %ecx
movq %rdx, (%rax,%rcx,8)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x9843
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x40(%rax), %eax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movq %rcx, 0xc8(%rax)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x40(%rax), %eax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movq %rcx, 0xd0(%rax)
movq -0x18(%rbp), %rax
movq (%rax), %rax
cmpl $0x0, 0x40(%rax)
je 0x98dc
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x40(%rax), %eax
movl %eax, %edi
shlq $0x3, %rdi
callq 0x4750
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x40(%rax)
jmp 0x98e8
movq -0x18(%rbp), %rax
movq $0x0, 0x40(%rax)
jmp 0x98ea
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpq 0xc8(%rcx), %rax
jae 0x9939
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movl 0x8(%rax), %esi
callq 0x4230
movq %rax, %rdx
movq -0x18(%rbp), %rax
movq 0x40(%rax), %rax
movl -0x1c(%rbp), %ecx
movq %rdx, (%rax,%rcx,8)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x98f1
movq -0x18(%rbp), %rax
movq $0x0, 0xd8(%rax)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x50(%rax), %eax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movq %rcx, 0xe0(%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, 0xe0(%rax)
je 0x998e
movq -0x18(%rbp), %rax
movq 0xe0(%rax), %rdi
shlq $0x3, %rdi
callq 0x4750
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x48(%rax)
jmp 0x999a
movq -0x18(%rbp), %rax
movq $0x0, 0x48(%rax)
jmp 0x999c
jmp 0x999e
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
movq (%rcx), %rcx
cmpl 0x50(%rcx), %eax
jae 0x9a86
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
cmpl $0x0, 0x10(%rax)
jne 0x99d2
jmp 0x9a78
movq -0x18(%rbp), %rax
movq 0xd8(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0xe0(%rcx), %rax
jb 0x9a2d
jmp 0x99ec
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0xe0(%rax), %rsi
shlq $0x3, %rsi
shlq %rsi
callq 0x46e0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x48(%rax)
movq -0x18(%rbp), %rax
movq 0xe0(%rax), %rcx
shlq %rcx
movq %rcx, 0xe0(%rax)
jmp 0x9a2d
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movl 0x10(%rax), %esi
callq 0x44c0
movq %rax, %rdx
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0xd8(%rcx), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x18(%rbp), %rax
movq 0xd8(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0xd8(%rax)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x99a5
jmp 0x9a88
jmp 0x9a8a
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
movq (%rcx), %rcx
cmpl 0x68(%rcx), %eax
jae 0x9b72
movq -0x18(%rbp), %rax
movq 0x38(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
cmpl $0x0, 0x14(%rax)
jne 0x9abe
jmp 0x9b64
movq -0x18(%rbp), %rax
movq 0xd8(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0xe0(%rcx), %rax
jb 0x9b19
jmp 0x9ad8
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0xe0(%rax), %rsi
shlq $0x3, %rsi
shlq %rsi
callq 0x46e0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x48(%rax)
movq -0x18(%rbp), %rax
movq 0xe0(%rax), %rcx
shlq %rcx
movq %rcx, 0xe0(%rax)
jmp 0x9b19
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x38(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movl 0x14(%rax), %esi
callq 0x44c0
movq %rax, %rdx
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0xd8(%rcx), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x18(%rbp), %rax
movq 0xd8(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0xd8(%rax)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x9a91
jmp 0x9b74
movq -0x18(%rbp), %rax
movq $0x0, 0xe8(%rax)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x68(%rax), %eax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movq %rcx, 0xf0(%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, 0xf0(%rax)
je 0x9bc9
movq -0x18(%rbp), %rax
movq 0xf0(%rax), %rdi
shlq $0x3, %rdi
callq 0x4750
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x50(%rax)
jmp 0x9bd5
movq -0x18(%rbp), %rax
movq $0x0, 0x50(%rax)
jmp 0x9bd7
jmp 0x9bd9
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
movq (%rcx), %rcx
cmpl 0x68(%rcx), %eax
jae 0x9cc1
movq -0x18(%rbp), %rax
movq 0x38(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
cmpl $0x0, 0x1c(%rax)
jne 0x9c0d
jmp 0x9cb3
movq -0x18(%rbp), %rax
movq 0xe8(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0xf0(%rcx), %rax
jb 0x9c68
jmp 0x9c27
movq -0x18(%rbp), %rax
movq 0x50(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0xf0(%rax), %rsi
shlq $0x3, %rsi
shlq %rsi
callq 0x46e0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x50(%rax)
movq -0x18(%rbp), %rax
movq 0xf0(%rax), %rcx
shlq %rcx
movq %rcx, 0xf0(%rax)
jmp 0x9c68
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x38(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movl 0x1c(%rax), %esi
callq 0x4820
movq %rax, %rdx
movq -0x18(%rbp), %rax
movq 0x50(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0xe8(%rcx), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x18(%rbp), %rax
movq 0xe8(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0xe8(%rax)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x9be0
jmp 0x9cc3
movq -0x18(%rbp), %rax
movq $0x0, 0xf8(%rax)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x68(%rax), %eax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movq %rcx, 0x100(%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x100(%rax)
je 0x9d18
movq -0x18(%rbp), %rax
movq 0x100(%rax), %rdi
shlq $0x3, %rdi
callq 0x4750
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x58(%rax)
jmp 0x9d24
movq -0x18(%rbp), %rax
movq $0x0, 0x58(%rax)
jmp 0x9d26
jmp 0x9d28
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
movq (%rcx), %rcx
cmpl 0x68(%rcx), %eax
jae 0x9e10
movq -0x18(%rbp), %rax
movq 0x38(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
cmpl $0x0, 0x20(%rax)
jne 0x9d5c
jmp 0x9e02
movq -0x18(%rbp), %rax
movq 0xf8(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x100(%rcx), %rax
jb 0x9db7
jmp 0x9d76
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x100(%rax), %rsi
shlq $0x3, %rsi
shlq %rsi
callq 0x46e0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x58(%rax)
movq -0x18(%rbp), %rax
movq 0x100(%rax), %rcx
shlq %rcx
movq %rcx, 0x100(%rax)
jmp 0x9db7
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x38(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movl 0x20(%rax), %esi
callq 0x4610
movq %rax, %rdx
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0xf8(%rcx), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x18(%rbp), %rax
movq 0xf8(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0xf8(%rax)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x9d2f
jmp 0x9e12
movq -0x18(%rbp), %rax
movq $0x0, 0x108(%rax)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x68(%rax), %eax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movq %rcx, 0x110(%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x110(%rax)
je 0x9e67
movq -0x18(%rbp), %rax
movq 0x110(%rax), %rdi
shlq $0x3, %rdi
callq 0x4750
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x60(%rax)
jmp 0x9e73
movq -0x18(%rbp), %rax
movq $0x0, 0x60(%rax)
jmp 0x9e75
jmp 0x9e77
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
movq (%rcx), %rcx
cmpl 0x68(%rcx), %eax
jae 0x9f5f
movq -0x18(%rbp), %rax
movq 0x38(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
cmpl $0x0, 0x24(%rax)
jne 0x9eab
jmp 0x9f51
movq -0x18(%rbp), %rax
movq 0x108(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x110(%rcx), %rax
jb 0x9f06
jmp 0x9ec5
movq -0x18(%rbp), %rax
movq 0x60(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x110(%rax), %rsi
shlq $0x3, %rsi
shlq %rsi
callq 0x46e0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x60(%rax)
movq -0x18(%rbp), %rax
movq 0x110(%rax), %rcx
shlq %rcx
movq %rcx, 0x110(%rax)
jmp 0x9f06
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x38(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movl 0x24(%rax), %esi
callq 0x48c0
movq %rax, %rdx
movq -0x18(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0x108(%rcx), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x18(%rbp), %rax
movq 0x108(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x108(%rax)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x9e7e
jmp 0x9f61
movq -0x18(%rbp), %rax
movq $0x0, 0x118(%rax)
movq -0x18(%rbp), %rax
movq 0xf8(%rax), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x120(%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x120(%rax)
je 0x9fb5
movq -0x18(%rbp), %rax
movq 0x120(%rax), %rdi
shlq $0x3, %rdi
callq 0x4750
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x68(%rax)
jmp 0x9fc1
movq -0x18(%rbp), %rax
movq $0x0, 0x68(%rax)
jmp 0x9fc3
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpq 0xf8(%rcx), %rax
jae 0xa2e9
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
movl -0x20(%rbp), %ecx
movq (%rax,%rcx,8), %rax
testb $0x1, (%rax)
je 0x9ff7
jmp 0xa2db
jmp 0x9ff9
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movl %eax, -0x84(%rbp)
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
movl -0x20(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movq 0x20(%rax), %rcx
movq %rcx, -0x30(%rbp)
movl 0x28(%rax), %eax
movl %eax, -0x28(%rbp)
movq -0x30(%rbp), %rdi
movl -0x28(%rbp), %esi
callq 0x41c0
movl %eax, %ecx
movl -0x84(%rbp), %eax
cmpl %ecx, %eax
jae 0xa166
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
movl -0x20(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movq 0x48(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movq 0x20(%rax), %rcx
movq %rcx, -0x40(%rbp)
movl 0x28(%rax), %eax
movl %eax, -0x38(%rbp)
movq -0x40(%rbp), %rdi
movl -0x38(%rbp), %esi
callq 0x41c0
cmpl $0x0, %eax
jne 0xa080
jmp 0xa158
movq -0x18(%rbp), %rax
movq 0x118(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x120(%rcx), %rax
jb 0xa0db
jmp 0xa09a
movq -0x18(%rbp), %rax
movq 0x68(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x120(%rax), %rsi
shlq $0x3, %rsi
shlq %rsi
callq 0x46e0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x68(%rax)
movq -0x18(%rbp), %rax
movq 0x120(%rax), %rcx
shlq %rcx
movq %rcx, 0x120(%rax)
jmp 0xa0db
movq -0x10(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
movl -0x20(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movq 0x48(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movq 0x20(%rax), %rcx
movq %rcx, -0x50(%rbp)
movl 0x28(%rax), %eax
movl %eax, -0x48(%rbp)
movq -0x50(%rbp), %rdi
movl -0x48(%rbp), %esi
callq 0x41c0
movq -0x90(%rbp), %rdi
movl %eax, %esi
callq 0x48b0
movq %rax, %rdx
movq -0x18(%rbp), %rax
movq 0x68(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0x118(%rcx), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x18(%rbp), %rax
movq 0x118(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x118(%rax)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xa000
jmp 0xa168
jmp 0xa16a
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movl %eax, -0x94(%rbp)
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
movl -0x20(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movq 0x2c(%rax), %rcx
movq %rcx, -0x60(%rbp)
movl 0x34(%rax), %eax
movl %eax, -0x58(%rbp)
movq -0x60(%rbp), %rdi
movl -0x58(%rbp), %esi
callq 0x41c0
movl %eax, %ecx
movl -0x94(%rbp), %eax
cmpl %ecx, %eax
jae 0xa2d7
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
movl -0x20(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movq 0x50(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movq 0x20(%rax), %rcx
movq %rcx, -0x70(%rbp)
movl 0x28(%rax), %eax
movl %eax, -0x68(%rbp)
movq -0x70(%rbp), %rdi
movl -0x68(%rbp), %esi
callq 0x41c0
cmpl $0x0, %eax
jne 0xa1f1
jmp 0xa2c9
movq -0x18(%rbp), %rax
movq 0x118(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x120(%rcx), %rax
jb 0xa24c
jmp 0xa20b
movq -0x18(%rbp), %rax
movq 0x68(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x120(%rax), %rsi
shlq $0x3, %rsi
shlq %rsi
callq 0x46e0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x68(%rax)
movq -0x18(%rbp), %rax
movq 0x120(%rax), %rcx
shlq %rcx
movq %rcx, 0x120(%rax)
jmp 0xa24c
movq -0x10(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
movl -0x20(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movq 0x50(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movq 0x20(%rax), %rcx
movq %rcx, -0x80(%rbp)
movl 0x28(%rax), %eax
movl %eax, -0x78(%rbp)
movq -0x80(%rbp), %rdi
movl -0x78(%rbp), %esi
callq 0x41c0
movq -0xa0(%rbp), %rdi
movl %eax, %esi
callq 0x48b0
movq %rax, %rdx
movq -0x18(%rbp), %rax
movq 0x68(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0x118(%rcx), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x18(%rbp), %rax
movq 0x118(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x118(%rax)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xa171
jmp 0xa2d9
jmp 0xa2db
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x9fca
movq -0x18(%rbp), %rax
movq $0x0, 0x128(%rax)
movq -0x18(%rbp), %rax
movq 0x118(%rax), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x130(%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x130(%rax)
je 0xa33d
movq -0x18(%rbp), %rax
movq 0x130(%rax), %rdi
shlq $0x3, %rdi
callq 0x4750
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x70(%rax)
jmp 0xa349
movq -0x18(%rbp), %rax
movq $0x0, 0x70(%rax)
jmp 0xa34b
jmp 0xa34d
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpq 0x118(%rcx), %rax
jae 0xa436
movq -0x18(%rbp), %rax
movq 0x68(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
cmpl $0x0, 0x10(%rax)
jne 0xa382
jmp 0xa428
movq -0x18(%rbp), %rax
movq 0x128(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x130(%rcx), %rax
jb 0xa3dd
jmp 0xa39c
movq -0x18(%rbp), %rax
movq 0x70(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x130(%rax), %rsi
shlq $0x3, %rsi
shlq %rsi
callq 0x46e0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x70(%rax)
movq -0x18(%rbp), %rax
movq 0x130(%rax), %rcx
shlq %rcx
movq %rcx, 0x130(%rax)
jmp 0xa3dd
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x68(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movl 0x10(%rax), %esi
callq 0x4720
movq %rax, %rdx
movq -0x18(%rbp), %rax
movq 0x70(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0x128(%rcx), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x18(%rbp), %rax
movq 0x128(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x128(%rax)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xa354
jmp 0xa438
movq -0x18(%rbp), %rax
movq $0x0, 0x138(%rax)
movq -0x18(%rbp), %rax
movq 0xe8(%rax), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x140(%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x140(%rax)
je 0xa48c
movq -0x18(%rbp), %rax
movq 0x140(%rax), %rdi
shlq $0x3, %rdi
callq 0x4750
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x78(%rax)
jmp 0xa498
movq -0x18(%rbp), %rax
movq $0x0, 0x78(%rax)
jmp 0xa49a
jmp 0xa49c
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpq 0xe8(%rcx), %rax
jae 0xa585
movq -0x18(%rbp), %rax
movq 0x50(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
cmpl $0x0, 0x8(%rax)
jne 0xa4d1
jmp 0xa577
movq -0x18(%rbp), %rax
movq 0x138(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x140(%rcx), %rax
jb 0xa52c
jmp 0xa4eb
movq -0x18(%rbp), %rax
movq 0x78(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x140(%rax), %rsi
shlq $0x3, %rsi
shlq %rsi
callq 0x46e0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x78(%rax)
movq -0x18(%rbp), %rax
movq 0x140(%rax), %rcx
shlq %rcx
movq %rcx, 0x140(%rax)
jmp 0xa52c
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x50(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movl 0x8(%rax), %esi
callq 0x40d0
movq %rax, %rdx
movq -0x18(%rbp), %rax
movq 0x78(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0x138(%rcx), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x18(%rbp), %rax
movq 0x138(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x138(%rax)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xa4a3
jmp 0xa587
movq -0x18(%rbp), %rax
movq $0x0, 0x148(%rax)
movq -0x18(%rbp), %rax
movq 0xe8(%rax), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x150(%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x150(%rax)
je 0xa5de
movq -0x18(%rbp), %rax
movq 0x150(%rax), %rdi
shlq $0x3, %rdi
callq 0x4750
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x80(%rax)
jmp 0xa5ed
movq -0x18(%rbp), %rax
movq $0x0, 0x80(%rax)
jmp 0xa5ef
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpq 0xe8(%rcx), %rax
jae 0xa95a
movq -0x18(%rbp), %rax
movq 0x50(%rax), %rax
movl -0x20(%rbp), %ecx
movq (%rax,%rcx,8), %rax
testb $0x1, (%rax)
je 0xa623
jmp 0xa94c
jmp 0xa625
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
movq 0x50(%rcx), %rcx
movl -0x20(%rbp), %edx
movq (%rcx,%rdx,8), %rcx
cmpl 0xc(%rcx), %eax
jae 0xa72b
movq -0x18(%rbp), %rax
movq 0x50(%rax), %rax
movl -0x20(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movq 0x18(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
cmpl $0x0, 0xc(%rax)
jne 0xa66c
jmp 0xa71d
movq -0x18(%rbp), %rax
movq 0x138(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x140(%rcx), %rax
jb 0xa6c7
jmp 0xa686
movq -0x18(%rbp), %rax
movq 0x78(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x140(%rax), %rsi
shlq $0x3, %rsi
shlq %rsi
callq 0x46e0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x78(%rax)
movq -0x18(%rbp), %rax
movq 0x140(%rax), %rcx
shlq %rcx
movq %rcx, 0x140(%rax)
jmp 0xa6c7
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x50(%rax), %rax
movl -0x20(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movq 0x18(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movl 0xc(%rax), %esi
callq 0x40d0
movq %rax, %rdx
movq -0x18(%rbp), %rax
movq 0x78(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0x138(%rcx), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x18(%rbp), %rax
movq 0x138(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x138(%rax)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xa62c
jmp 0xa72d
jmp 0xa72f
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
movq 0x50(%rcx), %rcx
movl -0x20(%rbp), %edx
movq (%rcx,%rdx,8), %rcx
cmpl 0x10(%rcx), %eax
jae 0xa835
movq -0x18(%rbp), %rax
movq 0x50(%rax), %rax
movl -0x20(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movq 0x20(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
cmpl $0x0, 0xc(%rax)
jne 0xa776
jmp 0xa827
movq -0x18(%rbp), %rax
movq 0x138(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x140(%rcx), %rax
jb 0xa7d1
jmp 0xa790
movq -0x18(%rbp), %rax
movq 0x78(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x140(%rax), %rsi
shlq $0x3, %rsi
shlq %rsi
callq 0x46e0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x78(%rax)
movq -0x18(%rbp), %rax
movq 0x140(%rax), %rcx
shlq %rcx
movq %rcx, 0x140(%rax)
jmp 0xa7d1
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x50(%rax), %rax
movl -0x20(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movq 0x20(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movl 0xc(%rax), %esi
callq 0x40d0
movq %rax, %rdx
movq -0x18(%rbp), %rax
movq 0x78(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0x138(%rcx), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x18(%rbp), %rax
movq 0x138(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x138(%rax)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xa736
jmp 0xa837
jmp 0xa839
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
movq 0x50(%rcx), %rcx
movl -0x20(%rbp), %edx
movq (%rcx,%rdx,8), %rcx
cmpl 0x14(%rcx), %eax
jae 0xa948
movq -0x18(%rbp), %rax
movq 0x50(%rax), %rax
movl -0x20(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movq 0x28(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
cmpl $0x0, 0xc(%rax)
jne 0xa880
jmp 0xa93a
movq -0x18(%rbp), %rax
movq 0x148(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x150(%rcx), %rax
jb 0xa8e1
jmp 0xa89a
movq -0x18(%rbp), %rax
movq 0x80(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x150(%rax), %rsi
shlq $0x3, %rsi
shlq %rsi
callq 0x46e0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x80(%rax)
movq -0x18(%rbp), %rax
movq 0x150(%rax), %rcx
shlq %rcx
movq %rcx, 0x150(%rax)
jmp 0xa8e1
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x50(%rax), %rax
movl -0x20(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movq 0x28(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movl 0xc(%rax), %esi
callq 0x4220
movq %rax, %rdx
movq -0x18(%rbp), %rax
movq 0x80(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0x148(%rcx), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x18(%rbp), %rax
movq 0x148(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x148(%rax)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xa840
jmp 0xa94a
jmp 0xa94c
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0xa5f6
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpq 0x148(%rcx), %rax
jae 0xaab4
movq -0x18(%rbp), %rax
movq 0x80(%rax), %rax
movl -0x20(%rbp), %ecx
movq (%rax,%rcx,8), %rax
testb $0x1, (%rax)
je 0xa991
jmp 0xaaa6
jmp 0xa993
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
movq 0x80(%rcx), %rcx
movl -0x20(%rbp), %edx
movq (%rcx,%rdx,8), %rcx
cmpl 0x8(%rcx), %eax
jae 0xaaa2
movq -0x18(%rbp), %rax
movq 0x80(%rax), %rax
movl -0x20(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movq 0x10(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
cmpl $0x0, 0x8(%rax)
jne 0xa9e0
jmp 0xaa94
movq -0x18(%rbp), %rax
movq 0x138(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x140(%rcx), %rax
jb 0xaa3b
jmp 0xa9fa
movq -0x18(%rbp), %rax
movq 0x78(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x140(%rax), %rsi
shlq $0x3, %rsi
shlq %rsi
callq 0x46e0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x78(%rax)
movq -0x18(%rbp), %rax
movq 0x140(%rax), %rcx
shlq %rcx
movq %rcx, 0x140(%rax)
jmp 0xaa3b
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x80(%rax), %rax
movl -0x20(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movq 0x10(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movl 0x8(%rax), %esi
callq 0x40d0
movq %rax, %rdx
movq -0x18(%rbp), %rax
movq 0x78(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0x138(%rcx), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x18(%rbp), %rax
movq 0x138(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x138(%rax)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xa99a
jmp 0xaaa4
jmp 0xaaa6
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0xa961
movq -0x18(%rbp), %rax
movq $0x0, 0x158(%rax)
movq -0x18(%rbp), %rax
movq 0x138(%rax), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x160(%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x160(%rax)
je 0xab0b
movq -0x18(%rbp), %rax
movq 0x160(%rax), %rdi
shlq $0x3, %rdi
callq 0x4750
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x88(%rax)
jmp 0xab1a
movq -0x18(%rbp), %rax
movq $0x0, 0x88(%rax)
jmp 0xab1c
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpq 0x138(%rcx), %rax
jae 0xac73
movq -0x18(%rbp), %rax
movq 0x78(%rax), %rax
movl -0x20(%rbp), %ecx
movq (%rax,%rcx,8), %rax
testb $0x1, (%rax)
je 0xab50
jmp 0xac65
jmp 0xab52
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
movq 0x78(%rcx), %rcx
movl -0x20(%rbp), %edx
movq (%rcx,%rdx,8), %rcx
cmpl 0x8(%rcx), %eax
jae 0xac61
movq -0x18(%rbp), %rax
movq 0x78(%rax), %rax
movl -0x20(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movq 0x10(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
cmpl $0x0, 0x8(%rax)
jne 0xab99
jmp 0xac53
movq -0x18(%rbp), %rax
movq 0x158(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x160(%rcx), %rax
jb 0xabfa
jmp 0xabb3
movq -0x18(%rbp), %rax
movq 0x88(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x160(%rax), %rsi
shlq $0x3, %rsi
shlq %rsi
callq 0x46e0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x88(%rax)
movq -0x18(%rbp), %rax
movq 0x160(%rax), %rcx
shlq %rcx
movq %rcx, 0x160(%rax)
jmp 0xabfa
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x78(%rax), %rax
movl -0x20(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movq 0x10(%rax), %rax
movl -0x1c(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movl 0x8(%rax), %esi
callq 0x4600
movq %rax, %rdx
movq -0x18(%rbp), %rax
movq 0x88(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0x158(%rcx), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x18(%rbp), %rax
movq 0x158(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x158(%rax)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xab59
jmp 0xac63
jmp 0xac65
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0xab23
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
nopl (%rax,%rax)