287 lines
15 KiB
Text
287 lines
15 KiB
Text
|
|
./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
|