// File: /workspace/github_c_makefile_star2_O2/theck01[P]offbrand_lib/src/tests/obdeque_test.c
// Function: main
int main (){

  obdeque *test_deque_a, *test_deque_b, *joined_deque;
  obdeque_iterator *head_it, *tail_it, *copy_it;
  obtest *a, *b, *c, *d, *e;
  uint32_t i;

  /* create test objects */
  test_deque_a = obdeque_new();
  a = obtest_new(1);
  b = obtest_new(2);
  c = obtest_new(3);
  d = obtest_new(4);
  e = obtest_new(5);


  /* test the empty deque */
  assert(obdeque_is_empty(test_deque_a) != 0);
  assert(obdeque_length(test_deque_a) == 0);
  assert(obdeque_head_iterator(test_deque_a) == NULL);
  assert(obdeque_tail_iterator(test_deque_a) == NULL);

  /* test a deque with a single element */
  obdeque_add_at_head(test_deque_a, (obj *)a);

  assert(obdeque_is_empty(test_deque_a) == 0);
  assert(obdeque_length(test_deque_a) == 1);
  assert(ob_reference_count((obj *)a) == 2);
  assert(obtest_id((obtest *)obdeque_obj_at_head(test_deque_a)) == 1);
  assert(obtest_id((obtest *)obdeque_obj_at_tail(test_deque_a)) == 1);

  head_it = obdeque_head_iterator(test_deque_a);
  tail_it = obdeque_tail_iterator(test_deque_a);

  assert(head_it != NULL);
  assert(tail_it != NULL);
  assert(obtest_id((obtest *)obdeque_obj_at_iterator(test_deque_a, head_it)) == 1);
  assert(obtest_id((obtest *)obdeque_obj_at_iterator(test_deque_a, tail_it)) == 1);

  assert(obdeque_find_obj(test_deque_a, (obj *)a));

  /* test removing the only element from the deque */
  obdeque_remove_tail(test_deque_a);

  /* check that element is still referenced because of existing iterators */
  assert(ob_reference_count((obj *)a) == 2);
  ob_release((obj *)head_it);
  ob_release((obj *)tail_it);
  assert(ob_reference_count((obj *)a) == 1);


  assert(obdeque_is_empty(test_deque_a) != 0);
  assert(obdeque_length(test_deque_a) == 0);
  assert(obdeque_head_iterator(test_deque_a) == NULL);
  assert(obdeque_tail_iterator(test_deque_a) == NULL);

  /* test deque with multiple elements */
  obdeque_add_at_tail(test_deque_a, (obj *)a);
  obdeque_add_at_head(test_deque_a, (obj *)b);
  obdeque_add_at_tail(test_deque_a, (obj *)c);
  obdeque_add_at_head(test_deque_a, (obj *)d);
  obdeque_add_at_tail(test_deque_a, (obj *)e);

  assert(obdeque_is_empty(test_deque_a) == 0);
  assert(obdeque_length(test_deque_a) == 5);

  /* test deque removal functions */
  head_it = obdeque_head_iterator(test_deque_a);
  obdeque_remove_at_iterator(test_deque_a, head_it);
  ob_release((obj *)head_it);

  head_it = obdeque_head_iterator(test_deque_a);
  do{
    assert(obtest_id((obtest *)obdeque_obj_at_iterator(test_deque_a, head_it)) != 4);
  }while(obdeque_iterate_next(test_deque_a, head_it));

  ob_release((obj *)head_it);
  obdeque_add_at_head(test_deque_a, (obj *)d);

  test_deque_b = obdeque_copy(test_deque_a);

  assert(ob_reference_count((obj *)a) == 3);
  assert(ob_compare((obj *)test_deque_a, (obj *)test_deque_b) == OB_EQUAL_TO);
  assert(ob_hash((obj *)test_deque_a) ==  ob_hash((obj *)test_deque_b));

  obdeque_sort(test_deque_a, OB_LEAST_TO_GREATEST);

  assert(obdeque_length(test_deque_a) == 5);
  assert(ob_compare((obj *)test_deque_a, (obj *)test_deque_b) == OB_NOT_EQUAL);
  assert(ob_hash((obj *)test_deque_a) !=  ob_hash((obj *)test_deque_b));

  i = 1;
  head_it = obdeque_head_iterator(test_deque_a);
  do{
    assert(obtest_id((obtest *)obdeque_obj_at_iterator(test_deque_a, head_it)) == i);
    i++;
  }while(obdeque_iterate_next(test_deque_a, head_it));

  ob_release((obj *)head_it);
  ob_release((obj *)test_deque_a);
  assert(ob_reference_count((obj *)a) == 2);

  test_deque_a = obdeque_copy(test_deque_b);
  joined_deque = obdeque_join(test_deque_a, test_deque_b);
  obdeque_sort(joined_deque, OB_GREATEST_TO_LEAST);

  assert(obdeque_length(joined_deque) == 10);
  assert(ob_reference_count((obj *)a) == 5); /* the joined deque has two references,
                                            as a is contained within twice */

  tail_it = obdeque_tail_iterator(joined_deque);
  obdeque_remove_tail(joined_deque);
  assert(obdeque_iterate_prev(joined_deque, tail_it) == 0);
  assert(obdeque_iterate_next(joined_deque, tail_it) == 0);
  ob_release((obj *)tail_it);

  tail_it = obdeque_tail_iterator(joined_deque);
  obdeque_add_at_iterator(joined_deque, tail_it, (obj *)a);
  ob_release((obj *)tail_it);

  tail_it = obdeque_tail_iterator(joined_deque);
  copy_it = obdeque_copy_iterator(tail_it);
  ob_release((obj *)tail_it);
  tail_it = copy_it;


  for(i=0; i<10; i++){
    assert(obtest_id((obtest *)obdeque_obj_at_iterator(joined_deque, tail_it)) == i/2+1);
    if(i != 9) assert(obdeque_iterate_prev(joined_deque, tail_it));
  }

  assert(obdeque_iterate_prev(joined_deque, tail_it) == 0);

  ob_release((obj *)tail_it);

  obdeque_clear(test_deque_a);
  obdeque_clear(test_deque_b);

  for(i=0; i<10; i++){
    obdeque_remove_head(joined_deque);
  }

  assert(obdeque_is_empty(joined_deque) != 0);
  assert(obdeque_length(joined_deque) == 0);
  assert(ob_reference_count((obj *)a) == 1);

  ob_release((obj *)test_deque_a);
  ob_release((obj *)test_deque_b);
  ob_release((obj *)joined_deque);
  ob_release((obj *)e);
  ob_release((obj *)d);
  ob_release((obj *)c);
  ob_release((obj *)b);
  ob_release((obj *)a);

  printf("obdeque: TESTS PASSED\n");
  return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
callq 0x1c04
movq %rax, %rbp
pushq $0x1
popq %rdi
callq 0x2d8c
movq %rax, %rbx
pushq $0x2
popq %rdi
callq 0x2d8c
movq %rax, %r13
pushq $0x3
popq %rdi
callq 0x2d8c
movq %rax, %r12
pushq $0x4
popq %rdi
callq 0x2d8c
movq %rax, %r14
pushq $0x5
popq %rdi
callq 0x2d8c
movq %rax, 0x10(%rsp)
movq %rbp, %rdi
callq 0x1ea9
testb %al, %al
je 0x17ef
movq %rbp, %rdi
callq 0x1ed5
testq %rax, %rax
jne 0x1808
movq %rbp, %rdi
callq 0x1ced
testq %rax, %rax
jne 0x1821
movq %rbp, %rdi
callq 0x1f77
testq %rax, %rax
jne 0x183d
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x204a
movq %rbp, %rdi
callq 0x1ea9
testb %al, %al
jne 0x1859
movq %rbp, %rdi
callq 0x1ed5
cmpq $0x1, %rax
jne 0x1875
movq %rbx, %rdi
callq 0x31d4
cmpl $0x2, %eax
jne 0x1891
movq %rbp, %rdi
callq 0x265f
movq %rax, %rdi
callq 0x2f6f
cmpl $0x1, %eax
jne 0x18ad
movq %r14, 0x8(%rsp)
movq %rbp, %rdi
callq 0x2695
movq %rax, %rdi
callq 0x2f6f
cmpl $0x1, %eax
jne 0x18c9
movq %rbp, %rdi
callq 0x1ced
movq %rax, %r14
movq %rbp, %rdi
callq 0x1f77
testq %r14, %r14
je 0x18e5
movq %rax, %r15
testq %rax, %rax
je 0x1901
movq %rbp, %rdi
movq %r14, %rsi
callq 0x1d19
movq %rax, %rdi
callq 0x2f6f
cmpl $0x1, %eax
jne 0x191d
movq %rbp, %rdi
movq %r15, %rsi
callq 0x1d19
movq %rax, %rdi
callq 0x2f6f
cmpl $0x1, %eax
jne 0x1939
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x2322
testb %al, %al
je 0x1955
movq %rbp, %rdi
callq 0x2728
movq %rbx, %rdi
callq 0x31d4
cmpl $0x2, %eax
jne 0x1971
movq %r14, %rdi
callq 0x316a
movq %r15, %rdi
callq 0x316a
movq %rbx, %rdi
callq 0x31d4
cmpl $0x1, %eax
jne 0x198d
movq %rbp, %rdi
callq 0x1ea9
testb %al, %al
movq 0x8(%rsp), %r15
je 0x19a9
movq %rbp, %rdi
callq 0x1ed5
testq %rax, %rax
jne 0x19c5
movq %rbp, %rdi
callq 0x1ced
testq %rax, %rax
jne 0x19e1
movq %rbp, %rdi
callq 0x1f77
testq %rax, %rax
jne 0x19fd
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x1d9a
movq %rbp, %rdi
movq %r13, %rsi
callq 0x204a
movq %rbp, %rdi
movq %r12, %rsi
callq 0x1d9a
movq %rbp, %rdi
movq %r15, %rsi
callq 0x204a
movq %rbp, %rdi
movq 0x10(%rsp), %rsi
callq 0x1d9a
movq %rbp, %rdi
callq 0x1ea9
testb %al, %al
jne 0x1a19
movq %rbp, %rdi
callq 0x1ed5
cmpq $0x5, %rax
jne 0x1a35
movq %rbp, %rdi
callq 0x1ced
movq %rax, %r14
movq %rbp, %rdi
movq %rax, %rsi
callq 0x2785
movq %r14, %rdi
callq 0x316a
movq %rbp, %rdi
callq 0x1ced
movq %rax, %r14
movq %rbp, %rdi
movq %r14, %rsi
callq 0x1d19
movq %rax, %rdi
callq 0x2f6f
cmpl $0x4, %eax
je 0x177b
movq %rbp, %rdi
movq %r14, %rsi
callq 0x1e12
testb %al, %al
jne 0x145c
movq %r14, %rdi
callq 0x316a
movq %rbp, %rdi
movq %r15, %rsi
callq 0x204a
movq %rbp, %rdi
callq 0x1c75
movq %rax, %r14
movq %rbx, %rdi
callq 0x31d4
cmpl $0x3, %eax
jne 0x1a51
movq %rbp, %rdi
movq %r14, %rsi
callq 0x30b3
testb %al, %al
jne 0x1a6d
movq %rbp, %rdi
callq 0x307a
movq %rax, %r15
movq %r14, %rdi
callq 0x307a
cmpq %rax, %r15
jne 0x1a89
pushq $-0x1
popq %rsi
movq %rbp, %rdi
callq 0x23c5
movq %rbp, %rdi
callq 0x1ed5
cmpq $0x5, %rax
jne 0x1aa5
movq %rbp, %rdi
movq %r14, %rsi
callq 0x30b3
cmpb $0x2, %al
jne 0x1ac1
movq %r12, 0x20(%rsp)
movq %rbp, %rdi
callq 0x307a
movq %rax, %r15
movq %r14, %rdi
callq 0x307a
cmpq %rax, %r15
je 0x1add
movq %rbp, %rdi
callq 0x1ced
movq %rax, %r15
xorl %r12d, %r12d
movq %rbp, %rdi
movq %r15, %rsi
callq 0x1d19
movq %rax, %rdi
callq 0x2f6f
incl %r12d
cmpl %eax, %r12d
jne 0x1794
movq %rbp, %rdi
movq %r15, %rsi
callq 0x1e12
testb %al, %al
jne 0x1544
movq %r15, %rdi
callq 0x316a
movq %rbp, %rdi
callq 0x316a
movq %rbx, %rdi
callq 0x31d4
cmpl $0x2, %eax
jne 0x1af9
movq %r14, %rdi
callq 0x1c75
movq %rax, %r15
movq %rax, %rdi
movq %r14, %rsi
callq 0x2284
movq %rax, %rbp
pushq $0x1
popq %rsi
movq %rax, %rdi
callq 0x23c5
movq %rbp, %rdi
callq 0x1ed5
cmpq $0xa, %rax
jne 0x1b15
movq %r13, 0x18(%rsp)
movq %rbx, %rdi
callq 0x31d4
cmpl $0x5, %eax
jne 0x1b31
movq %rbp, %rdi
callq 0x1f77
movq %rax, %r13
movq %rbp, %rdi
callq 0x2728
movq %rbp, %rdi
movq %r13, %rsi
callq 0x1fb3
testb %al, %al
jne 0x1b4d
movq %rbp, %rdi
movq %r13, %rsi
callq 0x1e12
testb %al, %al
jne 0x1b69
movq %r13, %rdi
callq 0x316a
movq %rbp, %rdi
callq 0x1f77
movq %rax, %r13
movq %rbp, %rdi
movq %rax, %rsi
movq %rbx, %rdx
callq 0x2150
movq %r13, %rdi
callq 0x316a
movq %rbp, %rdi
callq 0x1f77
movq %rax, %r12
movq %rax, %rdi
callq 0x1fa3
movq %rax, %r13
movq %r12, %rdi
callq 0x316a
xorl %r12d, %r12d
movq %rbp, %rdi
movq %r13, %rsi
cmpl $0xa, %r12d
je 0x16a8
callq 0x1d19
movq %rax, %rdi
callq 0x2f6f
movl %r12d, %ecx
shrl %ecx
incl %ecx
cmpl %ecx, %eax
jne 0x17b1
cmpl $0x9, %r12d
je 0x16a3
movq %rbp, %rdi
movq %r13, %rsi
callq 0x1fb3
testb %al, %al
je 0x17d0
incl %r12d
jmp 0x1662
callq 0x1fb3
testb %al, %al
jne 0x1b85
movq %r13, %rdi
callq 0x316a
movq %r15, %rdi
callq 0x2899
movq %r14, %rdi
callq 0x2899
pushq $0xa
popq %r12
movq 0x18(%rsp), %r13
movq %rbp, %rdi
subl $0x1, %r12d
jb 0x16e6
callq 0x26cb
jmp 0x16d6
callq 0x1ea9
testb %al, %al
je 0x1ba4
movq %rbp, %rdi
callq 0x1ed5
testq %rax, %rax
movq 0x20(%rsp), %r12
jne 0x1bc3
movq %rbx, %rdi
callq 0x31d4
cmpl $0x1, %eax
jne 0x1be2
movq %r15, %rdi
callq 0x316a
movq %r14, %rdi
callq 0x316a
movq %rbp, %rdi
callq 0x316a
movq 0x10(%rsp), %rdi
callq 0x316a
movq 0x8(%rsp), %rdi
callq 0x316a
movq %r12, %rdi
callq 0x316a
movq %r13, %rdi
callq 0x316a
movq %rbx, %rdi
callq 0x316a
leaq 0x2e7d(%rip), %rdi      # 0x45e2
callq 0x1040
xorl %eax, %eax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2b43(%rip), %rdi      # 0x42c5
leaq 0x289f(%rip), %rsi      # 0x4028
leaq 0x28b1(%rip), %rcx      # 0x4041
pushq $0x55
jmp 0x17ab
leaq 0x2c98(%rip), %rdi      # 0x4433
leaq 0x2886(%rip), %rsi      # 0x4028
leaq 0x2898(%rip), %rcx      # 0x4041
pushq $0x6a
popq %rdx
callq 0x1050
leaq 0x2d6b(%rip), %rdi      # 0x4523
leaq 0x2869(%rip), %rsi      # 0x4028
leaq 0x287b(%rip), %rcx      # 0x4041
movl $0x8b, %edx
callq 0x1050
leaq 0x2d99(%rip), %rdi      # 0x4570
leaq 0x284a(%rip), %rsi      # 0x4028
leaq 0x285c(%rip), %rcx      # 0x4041
movl $0x8c, %edx
callq 0x1050
leaq 0x280e(%rip), %rdi      # 0x4004
leaq 0x282b(%rip), %rsi      # 0x4028
leaq 0x283d(%rip), %rcx      # 0x4041
pushq $0x1d
jmp 0x17ab
leaq 0x283d(%rip), %rdi      # 0x404c
leaq 0x2812(%rip), %rsi      # 0x4028
leaq 0x2824(%rip), %rcx      # 0x4041
pushq $0x1e
jmp 0x17ab
leaq 0x2846(%rip), %rdi      # 0x406e
leaq 0x27f9(%rip), %rsi      # 0x4028
leaq 0x280b(%rip), %rcx      # 0x4041
pushq $0x1f
jmp 0x17ab
leaq 0x2856(%rip), %rdi      # 0x409a
leaq 0x27dd(%rip), %rsi      # 0x4028
leaq 0x27ef(%rip), %rcx      # 0x4041
pushq $0x20
jmp 0x17ab
leaq 0x2866(%rip), %rdi      # 0x40c6
leaq 0x27c1(%rip), %rsi      # 0x4028
leaq 0x27d3(%rip), %rcx      # 0x4041
pushq $0x25
jmp 0x17ab
leaq 0x286e(%rip), %rdi      # 0x40ea
leaq 0x27a5(%rip), %rsi      # 0x4028
leaq 0x27b7(%rip), %rcx      # 0x4041
pushq $0x26
jmp 0x17ab
leaq 0x2874(%rip), %rdi      # 0x410c
leaq 0x2789(%rip), %rsi      # 0x4028
leaq 0x279b(%rip), %rcx      # 0x4041
pushq $0x27
jmp 0x17ab
leaq 0x287a(%rip), %rdi      # 0x412e
leaq 0x276d(%rip), %rsi      # 0x4028
leaq 0x277f(%rip), %rcx      # 0x4041
pushq $0x28
jmp 0x17ab
leaq 0x289a(%rip), %rdi      # 0x416a
leaq 0x2751(%rip), %rsi      # 0x4028
leaq 0x2763(%rip), %rcx      # 0x4041
pushq $0x29
jmp 0x17ab
leaq 0x28ba(%rip), %rdi      # 0x41a6
leaq 0x2735(%rip), %rsi      # 0x4028
leaq 0x2747(%rip), %rcx      # 0x4041
pushq $0x2e
jmp 0x17ab
leaq 0x28ae(%rip), %rdi      # 0x41b6
leaq 0x2719(%rip), %rsi      # 0x4028
leaq 0x272b(%rip), %rcx      # 0x4041
pushq $0x2f
jmp 0x17ab
leaq 0x28a2(%rip), %rdi      # 0x41c6
leaq 0x26fd(%rip), %rsi      # 0x4028
leaq 0x270f(%rip), %rcx      # 0x4041
pushq $0x30
jmp 0x17ab
leaq 0x28cf(%rip), %rdi      # 0x420f
leaq 0x26e1(%rip), %rsi      # 0x4028
leaq 0x26f3(%rip), %rcx      # 0x4041
pushq $0x31
jmp 0x17ab
leaq 0x28fc(%rip), %rdi      # 0x4258
leaq 0x26c5(%rip), %rsi      # 0x4028
leaq 0x26d7(%rip), %rcx      # 0x4041
pushq $0x33
jmp 0x17ab
leaq 0x2794(%rip), %rdi      # 0x410c
leaq 0x26a9(%rip), %rsi      # 0x4028
leaq 0x26bb(%rip), %rcx      # 0x4041
pushq $0x39
jmp 0x17ab
leaq 0x28ed(%rip), %rdi      # 0x4281
leaq 0x268d(%rip), %rsi      # 0x4028
leaq 0x269f(%rip), %rcx      # 0x4041
pushq $0x3c
jmp 0x17ab
leaq 0x2654(%rip), %rdi      # 0x4004
leaq 0x2671(%rip), %rsi      # 0x4028
leaq 0x2683(%rip), %rcx      # 0x4041
pushq $0x3f
jmp 0x17ab
leaq 0x2680(%rip), %rdi      # 0x404c
leaq 0x2655(%rip), %rsi      # 0x4028
leaq 0x2667(%rip), %rcx      # 0x4041
pushq $0x40
jmp 0x17ab
leaq 0x2686(%rip), %rdi      # 0x406e
leaq 0x2639(%rip), %rsi      # 0x4028
leaq 0x264b(%rip), %rcx      # 0x4041
pushq $0x41
jmp 0x17ab
leaq 0x2696(%rip), %rdi      # 0x409a
leaq 0x261d(%rip), %rsi      # 0x4028
leaq 0x262f(%rip), %rcx      # 0x4041
pushq $0x42
jmp 0x17ab
leaq 0x26a6(%rip), %rdi      # 0x40c6
leaq 0x2601(%rip), %rsi      # 0x4028
leaq 0x2613(%rip), %rcx      # 0x4041
pushq $0x4b
jmp 0x17ab
leaq 0x2867(%rip), %rdi      # 0x42a3
leaq 0x25e5(%rip), %rsi      # 0x4028
leaq 0x25f7(%rip), %rcx      # 0x4041
pushq $0x4c
jmp 0x17ab
leaq 0x28b6(%rip), %rdi      # 0x430e
leaq 0x25c9(%rip), %rsi      # 0x4028
leaq 0x25db(%rip), %rcx      # 0x4041
pushq $0x5d
jmp 0x17ab
leaq 0x28bc(%rip), %rdi      # 0x4330
leaq 0x25ad(%rip), %rsi      # 0x4028
leaq 0x25bf(%rip), %rcx      # 0x4041
pushq $0x5e
jmp 0x17ab
leaq 0x28e4(%rip), %rdi      # 0x4374
leaq 0x2591(%rip), %rsi      # 0x4028
leaq 0x25a3(%rip), %rcx      # 0x4041
pushq $0x5f
jmp 0x17ab
leaq 0x27f7(%rip), %rdi      # 0x42a3
leaq 0x2575(%rip), %rsi      # 0x4028
leaq 0x2587(%rip), %rcx      # 0x4041
pushq $0x63
jmp 0x17ab
leaq 0x28e9(%rip), %rdi      # 0x43b1
leaq 0x2559(%rip), %rsi      # 0x4028
leaq 0x256b(%rip), %rcx      # 0x4041
pushq $0x64
jmp 0x17ab
leaq 0x2912(%rip), %rdi      # 0x43f6
leaq 0x253d(%rip), %rsi      # 0x4028
leaq 0x254f(%rip), %rcx      # 0x4041
pushq $0x65
jmp 0x17ab
leaq 0x260c(%rip), %rdi      # 0x410c
leaq 0x2521(%rip), %rsi      # 0x4028
leaq 0x2533(%rip), %rcx      # 0x4041
pushq $0x70
jmp 0x17ab
leaq 0x2960(%rip), %rdi      # 0x447c
leaq 0x2505(%rip), %rsi      # 0x4028
leaq 0x2517(%rip), %rcx      # 0x4041
pushq $0x76
jmp 0x17ab
leaq 0x2967(%rip), %rdi      # 0x449f
leaq 0x24e9(%rip), %rsi      # 0x4028
leaq 0x24fb(%rip), %rcx      # 0x4041
pushq $0x77
jmp 0x17ab
leaq 0x296d(%rip), %rdi      # 0x44c1
leaq 0x24cd(%rip), %rsi      # 0x4028
leaq 0x24df(%rip), %rcx      # 0x4041
pushq $0x7c
jmp 0x17ab
leaq 0x2982(%rip), %rdi      # 0x44f2
leaq 0x24b1(%rip), %rsi      # 0x4028
leaq 0x24c3(%rip), %rcx      # 0x4041
pushq $0x7d
jmp 0x17ab
leaq 0x2935(%rip), %rdi      # 0x44c1
leaq 0x2495(%rip), %rsi      # 0x4028
leaq 0x24a7(%rip), %rcx      # 0x4041
movl $0x8f, %edx
callq 0x1050
leaq 0x29f1(%rip), %rdi      # 0x459c
leaq 0x2476(%rip), %rsi      # 0x4028
leaq 0x2488(%rip), %rcx      # 0x4041
movl $0x9a, %edx
callq 0x1050
leaq 0x29f6(%rip), %rdi      # 0x45c0
leaq 0x2457(%rip), %rsi      # 0x4028
leaq 0x2469(%rip), %rcx      # 0x4041
movl $0x9b, %edx
callq 0x1050
leaq 0x2698(%rip), %rdi      # 0x4281
leaq 0x2438(%rip), %rsi      # 0x4028
leaq 0x244a(%rip), %rcx      # 0x4041
movl $0x9c, %edx
callq 0x1050
nopl (%rax)