
./input/rotatingtree.o:     file format elf64-x86-64


Disassembly of section .text:

0000000000000000 <RotatingTree_Add>:
   0:   f3 0f 1e fa             endbr64
   4:   48 8b 07                mov    (%rdi),%rax
   7:   48 85 c0                test   %rax,%rax
   a:   74 1b                   je     27 <RotatingTree_Add+0x27>
   c:   48 8b 0e                mov    (%rsi),%rcx
   f:   90                      nop
  10:   48 8d 50 08             lea    0x8(%rax),%rdx
  14:   48 8d 78 10             lea    0x10(%rax),%rdi
  18:   48 3b 08                cmp    (%rax),%rcx
  1b:   48 0f 42 fa             cmovb  %rdx,%rdi
  1f:   48 8b 07                mov    (%rdi),%rax
  22:   48 85 c0                test   %rax,%rax
  25:   75 e9                   jne    10 <RotatingTree_Add+0x10>
  27:   66 0f ef c0             pxor   %xmm0,%xmm0
  2b:   0f 11 46 08             movups %xmm0,0x8(%rsi)
  2f:   48 89 37                mov    %rsi,(%rdi)
  32:   c3                      ret
  33:   66 66 2e 0f 1f 84 00    data16 cs nopw 0x0(%rax,%rax,1)
  3a:   00 00 00 00 
  3e:   66 90                   xchg   %ax,%ax

0000000000000040 <RotatingTree_Get>:
  40:   f3 0f 1e fa             endbr64
  44:   8b 0d 00 00 00 00       mov    0x0(%rip),%ecx        # 4a <RotatingTree_Get+0xa>
            46: R_X86_64_PC32   .bss-0x4
  4a:   49 89 f8                mov    %rdi,%r8
  4d:   83 f9 07                cmp    $0x7,%ecx
  50:   77 10                   ja     62 <RotatingTree_Get+0x22>
  52:   69 0d 00 00 00 00 9f    imul   $0x10849f,0x0(%rip),%ecx        # 5c <RotatingTree_Get+0x1c>
  59:   84 10 00 
            54: R_X86_64_PC32   .data-0x8
  5c:   89 0d 00 00 00 00       mov    %ecx,0x0(%rip)        # 62 <RotatingTree_Get+0x22>
            5e: R_X86_64_PC32   .data-0x4
  62:   89 ca                   mov    %ecx,%edx
  64:   83 e1 07                and    $0x7,%ecx
  67:   49 8b 00                mov    (%r8),%rax
  6a:   c1 ea 03                shr    $0x3,%edx
  6d:   89 15 00 00 00 00       mov    %edx,0x0(%rip)        # 73 <RotatingTree_Get+0x33>
            6f: R_X86_64_PC32   .bss-0x4
  73:   83 f9 04                cmp    $0x4,%ecx
  76:   74 48                   je     c0 <RotatingTree_Get+0x80>
  78:   0f 1f 84 00 00 00 00    nopl   0x0(%rax,%rax,1)
  7f:   00 
  80:   48 85 c0                test   %rax,%rax
  83:   74 35                   je     ba <RotatingTree_Get+0x7a>
  85:   48 39 30                cmp    %rsi,(%rax)
  88:   74 17                   je     a1 <RotatingTree_Get+0x61>
  8a:   48 8b 50 08             mov    0x8(%rax),%rdx
  8e:   48 8b 40 10             mov    0x10(%rax),%rax
  92:   76 ec                   jbe    80 <RotatingTree_Get+0x40>
  94:   48 85 d2                test   %rdx,%rdx
  97:   74 21                   je     ba <RotatingTree_Get+0x7a>
  99:   48 89 d0                mov    %rdx,%rax
  9c:   48 39 30                cmp    %rsi,(%rax)
  9f:   75 e9                   jne    8a <RotatingTree_Get+0x4a>
  a1:   c3                      ret
  a2:   66 0f 1f 44 00 00       nopw   0x0(%rax,%rax,1)
  a8:   89 15 00 00 00 00       mov    %edx,0x0(%rip)        # ae <RotatingTree_Get+0x6e>
            aa: R_X86_64_PC32   .bss-0x4
  ae:   45 84 d2                test   %r10b,%r10b
  b1:   74 07                   je     ba <RotatingTree_Get+0x7a>
  b3:   44 89 0d 00 00 00 00    mov    %r9d,0x0(%rip)        # ba <RotatingTree_Get+0x7a>
            b6: R_X86_64_PC32   .data-0x4
  ba:   31 c0                   xor    %eax,%eax
  bc:   c3                      ret
  bd:   0f 1f 00                nopl   (%rax)
  c0:   48 85 c0                test   %rax,%rax
  c3:   74 f5                   je     ba <RotatingTree_Get+0x7a>
  c5:   48 8b 08                mov    (%rax),%rcx
  c8:   48 39 ce                cmp    %rcx,%rsi
  cb:   74 d4                   je     a1 <RotatingTree_Get+0x61>
  cd:   44 8b 0d 00 00 00 00    mov    0x0(%rip),%r9d        # d4 <RotatingTree_Get+0x94>
            d0: R_X86_64_PC32   .data-0x4
  d4:   45 31 d2                xor    %r10d,%r10d
  d7:   eb 32                   jmp    10b <RotatingTree_Get+0xcb>
  d9:   0f 1f 80 00 00 00 00    nopl   0x0(%rax)
  e0:   48 8b 48 08             mov    0x8(%rax),%rcx
  e4:   48 85 c9                test   %rcx,%rcx
  e7:   74 bf                   je     a8 <RotatingTree_Get+0x68>
  e9:   85 ff                   test   %edi,%edi
  eb:   0f 85 7f 00 00 00       jne    170 <RotatingTree_Get+0x130>
  f1:   48 8b 79 10             mov    0x10(%rcx),%rdi
  f5:   48 89 78 08             mov    %rdi,0x8(%rax)
  f9:   48 89 41 10             mov    %rax,0x10(%rcx)
  fd:   48 89 c8                mov    %rcx,%rax
 100:   49 89 08                mov    %rcx,(%r8)
 103:   48 8b 08                mov    (%rax),%rcx
 106:   48 39 f1                cmp    %rsi,%rcx
 109:   74 4c                   je     157 <RotatingTree_Get+0x117>
 10b:   83 fa 01                cmp    $0x1,%edx
 10e:   77 10                   ja     120 <RotatingTree_Get+0xe0>
 110:   41 69 d1 9f 84 10 00    imul   $0x10849f,%r9d,%edx
 117:   41 ba 01 00 00 00       mov    $0x1,%r10d
 11d:   41 89 d1                mov    %edx,%r9d
 120:   89 d7                   mov    %edx,%edi
 122:   d1 ea                   shr    $1,%edx
 124:   83 e7 01                and    $0x1,%edi
 127:   48 39 ce                cmp    %rcx,%rsi
 12a:   72 b4                   jb     e0 <RotatingTree_Get+0xa0>
 12c:   48 8b 48 10             mov    0x10(%rax),%rcx
 130:   48 85 c9                test   %rcx,%rcx
 133:   0f 84 6f ff ff ff       je     a8 <RotatingTree_Get+0x68>
 139:   85 ff                   test   %edi,%edi
 13b:   75 43                   jne    180 <RotatingTree_Get+0x140>
 13d:   48 8b 79 08             mov    0x8(%rcx),%rdi
 141:   48 89 78 10             mov    %rdi,0x10(%rax)
 145:   48 89 41 08             mov    %rax,0x8(%rcx)
 149:   48 89 c8                mov    %rcx,%rax
 14c:   49 89 08                mov    %rcx,(%r8)
 14f:   48 8b 08                mov    (%rax),%rcx
 152:   48 39 f1                cmp    %rsi,%rcx
 155:   75 b4                   jne    10b <RotatingTree_Get+0xcb>
 157:   89 15 00 00 00 00       mov    %edx,0x0(%rip)        # 15d <RotatingTree_Get+0x11d>
            159: R_X86_64_PC32  .bss-0x4
 15d:   45 84 d2                test   %r10b,%r10b
 160:   0f 84 3b ff ff ff       je     a1 <RotatingTree_Get+0x61>
 166:   44 89 0d 00 00 00 00    mov    %r9d,0x0(%rip)        # 16d <RotatingTree_Get+0x12d>
            169: R_X86_64_PC32  .data-0x4
 16d:   c3                      ret
 16e:   66 90                   xchg   %ax,%ax
 170:   4c 8d 40 08             lea    0x8(%rax),%r8
 174:   48 89 c8                mov    %rcx,%rax
 177:   eb 8a                   jmp    103 <RotatingTree_Get+0xc3>
 179:   0f 1f 80 00 00 00 00    nopl   0x0(%rax)
 180:   4c 8d 40 10             lea    0x10(%rax),%r8
 184:   48 89 c8                mov    %rcx,%rax
 187:   e9 77 ff ff ff          jmp    103 <RotatingTree_Get+0xc3>
 18c:   0f 1f 40 00             nopl   0x0(%rax)

0000000000000190 <RotatingTree_Enum>:
 190:   f3 0f 1e fa             endbr64
 194:   41 57                   push   %r15
 196:   41 56                   push   %r14
 198:   41 55                   push   %r13
 19a:   41 54                   push   %r12
 19c:   55                      push   %rbp
 19d:   48 89 f5                mov    %rsi,%rbp
 1a0:   53                      push   %rbx
 1a1:   48 89 d3                mov    %rdx,%rbx
 1a4:   48 83 ec 38             sub    $0x38,%rsp
 1a8:   48 89 7c 24 10          mov    %rdi,0x10(%rsp)
 1ad:   48 83 7c 24 10 00       cmpq   $0x0,0x10(%rsp)
 1b3:   0f 84 ed 01 00 00       je     3a6 <RotatingTree_Enum+0x216>
 1b9:   48 8b 44 24 10          mov    0x10(%rsp),%rax
 1be:   48 8b 40 08             mov    0x8(%rax),%rax
 1c2:   48 89 44 24 08          mov    %rax,0x8(%rsp)
 1c7:   48 83 7c 24 08 00       cmpq   $0x0,0x8(%rsp)
 1cd:   0f 84 b0 01 00 00       je     383 <RotatingTree_Enum+0x1f3>
 1d3:   48 8b 44 24 08          mov    0x8(%rsp),%rax
 1d8:   4c 8b 60 08             mov    0x8(%rax),%r12
 1dc:   4d 85 e4                test   %r12,%r12
 1df:   0f 84 7b 01 00 00       je     360 <RotatingTree_Enum+0x1d0>
 1e5:   4d 8b 6c 24 08          mov    0x8(%r12),%r13
 1ea:   4d 85 ed                test   %r13,%r13
 1ed:   0f 84 50 01 00 00       je     343 <RotatingTree_Enum+0x1b3>
 1f3:   4d 8b 75 08             mov    0x8(%r13),%r14
 1f7:   4d 85 f6                test   %r14,%r14
 1fa:   0f 84 27 01 00 00       je     327 <RotatingTree_Enum+0x197>
 200:   4d 8b 7e 08             mov    0x8(%r14),%r15
 204:   4d 85 ff                test   %r15,%r15
 207:   0f 84 fa 00 00 00       je     307 <RotatingTree_Enum+0x177>
 20d:   4d 8b 47 08             mov    0x8(%r15),%r8
 211:   4d 85 c0                test   %r8,%r8
 214:   0f 84 c6 00 00 00       je     2e0 <RotatingTree_Enum+0x150>
 21a:   4d 8b 48 08             mov    0x8(%r8),%r9
 21e:   4d 85 c9                test   %r9,%r9
 221:   0f 84 92 00 00 00       je     2b9 <RotatingTree_Enum+0x129>
 227:   4d 8b 51 08             mov    0x8(%r9),%r10
 22b:   4d 85 d2                test   %r10,%r10
 22e:   74 58                   je     288 <RotatingTree_Enum+0xf8>
 230:   49 8b 7a 08             mov    0x8(%r10),%rdi
 234:   48 89 da                mov    %rbx,%rdx
 237:   48 89 ee                mov    %rbp,%rsi
 23a:   4c 89 4c 24 28          mov    %r9,0x28(%rsp)
 23f:   4c 89 44 24 20          mov    %r8,0x20(%rsp)
 244:   4c 89 54 24 18          mov    %r10,0x18(%rsp)
 249:   e8 00 00 00 00          call   24e <RotatingTree_Enum+0xbe>
            24a: R_X86_64_PLT32 RotatingTree_Enum-0x4
 24e:   85 c0                   test   %eax,%eax
 250:   0f 85 52 01 00 00       jne    3a8 <RotatingTree_Enum+0x218>
 256:   4c 8b 54 24 18          mov    0x18(%rsp),%r10
 25b:   48 89 de                mov    %rbx,%rsi
 25e:   49 8b 42 10             mov    0x10(%r10),%rax
 262:   4c 89 d7                mov    %r10,%rdi
 265:   48 89 44 24 18          mov    %rax,0x18(%rsp)
 26a:   ff d5                   call   *%rbp
 26c:   85 c0                   test   %eax,%eax
 26e:   0f 85 34 01 00 00       jne    3a8 <RotatingTree_Enum+0x218>
 274:   4c 8b 54 24 18          mov    0x18(%rsp),%r10
 279:   4c 8b 4c 24 28          mov    0x28(%rsp),%r9
 27e:   4c 8b 44 24 20          mov    0x20(%rsp),%r8
 283:   4d 85 d2                test   %r10,%r10
 286:   75 a8                   jne    230 <RotatingTree_Enum+0xa0>
 288:   49 8b 41 10             mov    0x10(%r9),%rax
 28c:   4c 89 44 24 20          mov    %r8,0x20(%rsp)
 291:   48 89 de                mov    %rbx,%rsi
 294:   4c 89 cf                mov    %r9,%rdi
 297:   48 89 44 24 18          mov    %rax,0x18(%rsp)
 29c:   ff d5                   call   *%rbp
 29e:   85 c0                   test   %eax,%eax
 2a0:   0f 85 02 01 00 00       jne    3a8 <RotatingTree_Enum+0x218>
 2a6:   4c 8b 4c 24 18          mov    0x18(%rsp),%r9
 2ab:   4c 8b 44 24 20          mov    0x20(%rsp),%r8
 2b0:   4d 85 c9                test   %r9,%r9
 2b3:   0f 85 6e ff ff ff       jne    227 <RotatingTree_Enum+0x97>
 2b9:   49 8b 40 10             mov    0x10(%r8),%rax
 2bd:   48 89 de                mov    %rbx,%rsi
 2c0:   4c 89 c7                mov    %r8,%rdi
 2c3:   48 89 44 24 18          mov    %rax,0x18(%rsp)
 2c8:   ff d5                   call   *%rbp
 2ca:   85 c0                   test   %eax,%eax
 2cc:   0f 85 d6 00 00 00       jne    3a8 <RotatingTree_Enum+0x218>
 2d2:   4c 8b 44 24 18          mov    0x18(%rsp),%r8
 2d7:   4d 85 c0                test   %r8,%r8
 2da:   0f 85 3a ff ff ff       jne    21a <RotatingTree_Enum+0x8a>
 2e0:   49 8b 47 10             mov    0x10(%r15),%rax
 2e4:   48 89 de                mov    %rbx,%rsi
 2e7:   4c 89 ff                mov    %r15,%rdi
 2ea:   48 89 44 24 18          mov    %rax,0x18(%rsp)
 2ef:   ff d5                   call   *%rbp
 2f1:   85 c0                   test   %eax,%eax
 2f3:   0f 85 af 00 00 00       jne    3a8 <RotatingTree_Enum+0x218>
 2f9:   4c 8b 7c 24 18          mov    0x18(%rsp),%r15
 2fe:   4d 85 ff                test   %r15,%r15
 301:   0f 85 06 ff ff ff       jne    20d <RotatingTree_Enum+0x7d>
 307:   4d 8b 7e 10             mov    0x10(%r14),%r15
 30b:   48 89 de                mov    %rbx,%rsi
 30e:   4c 89 f7                mov    %r14,%rdi
 311:   ff d5                   call   *%rbp
 313:   85 c0                   test   %eax,%eax
 315:   0f 85 8d 00 00 00       jne    3a8 <RotatingTree_Enum+0x218>
 31b:   4d 89 fe                mov    %r15,%r14
 31e:   4d 85 f6                test   %r14,%r14
 321:   0f 85 d9 fe ff ff       jne    200 <RotatingTree_Enum+0x70>
 327:   4d 8b 75 10             mov    0x10(%r13),%r14
 32b:   48 89 de                mov    %rbx,%rsi
 32e:   4c 89 ef                mov    %r13,%rdi
 331:   ff d5                   call   *%rbp
 333:   85 c0                   test   %eax,%eax
 335:   75 71                   jne    3a8 <RotatingTree_Enum+0x218>
 337:   4d 89 f5                mov    %r14,%r13
 33a:   4d 85 ed                test   %r13,%r13
 33d:   0f 85 b0 fe ff ff       jne    1f3 <RotatingTree_Enum+0x63>
 343:   4d 8b 6c 24 10          mov    0x10(%r12),%r13
 348:   48 89 de                mov    %rbx,%rsi
 34b:   4c 89 e7                mov    %r12,%rdi
 34e:   ff d5                   call   *%rbp
 350:   85 c0                   test   %eax,%eax
 352:   75 54                   jne    3a8 <RotatingTree_Enum+0x218>
 354:   4d 89 ec                mov    %r13,%r12
 357:   4d 85 e4                test   %r12,%r12
 35a:   0f 85 85 fe ff ff       jne    1e5 <RotatingTree_Enum+0x55>
 360:   48 8b 7c 24 08          mov    0x8(%rsp),%rdi
 365:   48 89 de                mov    %rbx,%rsi
 368:   4c 8b 67 10             mov    0x10(%rdi),%r12
 36c:   ff d5                   call   *%rbp
 36e:   85 c0                   test   %eax,%eax
 370:   75 36                   jne    3a8 <RotatingTree_Enum+0x218>
 372:   4c 89 64 24 08          mov    %r12,0x8(%rsp)
 377:   48 83 7c 24 08 00       cmpq   $0x0,0x8(%rsp)
 37d:   0f 85 50 fe ff ff       jne    1d3 <RotatingTree_Enum+0x43>
 383:   48 8b 7c 24 10          mov    0x10(%rsp),%rdi
 388:   48 89 de                mov    %rbx,%rsi
 38b:   4c 8b 67 10             mov    0x10(%rdi),%r12
 38f:   ff d5                   call   *%rbp
 391:   85 c0                   test   %eax,%eax
 393:   75 13                   jne    3a8 <RotatingTree_Enum+0x218>
 395:   4c 89 64 24 10          mov    %r12,0x10(%rsp)
 39a:   48 83 7c 24 10 00       cmpq   $0x0,0x10(%rsp)
 3a0:   0f 85 13 fe ff ff       jne    1b9 <RotatingTree_Enum+0x29>
 3a6:   31 c0                   xor    %eax,%eax
 3a8:   48 83 c4 38             add    $0x38,%rsp
 3ac:   5b                      pop    %rbx
 3ad:   5d                      pop    %rbp
 3ae:   41 5c                   pop    %r12
 3b0:   41 5d                   pop    %r13
 3b2:   41 5e                   pop    %r14
 3b4:   41 5f                   pop    %r15
 3b6:   c3                      ret
objdump: ./input/rotatingtree.o: not a dynamic object
