public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* (no subject)
@ 2022-01-10 12:03 Manuel Lauss
  2022-01-10 12:10 ` Jonathan Wakely
  0 siblings, 1 reply; 4+ messages in thread
From: Manuel Lauss @ 2022-01-10 12:03 UTC (permalink / raw)
  To: gcc-help

[-- Attachment #1: Type: text/plain, Size: 2042 bytes --]

I'm seeing an issue with what looks like a miscompilation of libcap with gcc-12:

/bin/ls  segfaults when run in a certain directory, triggered by what looks like
an sprintf() called inside "cap_to_text()" in from the libcap library:

#0  __pthread_kill_implementation (threadid=<optimized out>,
signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
44            return INTERNAL_SYSCALL_ERROR_P (ret) ?
INTERNAL_SYSCALL_ERRNO (ret) : 0;
(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>,
signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007f34f856932f in __pthread_kill_internal (signo=6,
threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007f34f8518e42 in __GI_raise (sig=sig@entry=6) at
../sysdeps/posix/raise.c:26
#3  0x00007f34f8503457 in __GI_abort () at abort.c:79
#4  0x00007f34f855d5a8 in __libc_message
(action=action@entry=do_abort, fmt=fmt@entry=0x7f34f8690291 "*** %s
***: terminated\n") at ../sysdeps/posix/libc_fatal.c:155
#5  0x00007f34f85fb042 in __GI___fortify_fail
(msg=msg@entry=0x7f34f8690237 "buffer overflow detected") at
fortify_fail.c:26
#6  0x00007f34f85f9b60 in __GI___chk_fail () at chk_fail.c:28
#7  0x00007f34f85f96d5 in ___sprintf_chk (s=s@entry=0x7fff9f08c6c2
",", flag=flag@entry=1, slen=slen@entry=0,
format=format@entry=0x7f34f86dc085 "%c%s%s%s")
   at sprintf_chk.c:37
#8  0x00007f34f86da882 in sprintf (__fmt=0x7f34f86dc085 "%c%s%s%s",
__s=<optimized out>) at /usr/include/bits/stdio2.h:38
#9  cap_to_text (caps=0x5643cf9b1a38, length_p=0x0) at cap_text.c:431

when libcap is built with gcc-11.3, the "ls" runs just fine; when I replace the
cap_text.o file from the gcc-12 build with the one generated by
gcc-11.2, it also runs fine, so seems like gcc-12 miscompiles
something in cap_to_text function (libcap-2.62)

I attach the disassemblies of the gcc-11 (OK) and gcc-12 built (BAD)
cap_text.o files. Maybe someone here can use this to figure out what
went wrong.
(-O2 -march=znver3 -mtune=znver3 -pipe" are used cflags).

Thanks!
      Manuel

[-- Attachment #2: cap_text-OK --]
[-- Type: application/octet-stream, Size: 76884 bytes --]


cap_text.o:     file format elf64-x86-64


Disassembly of section .text:

0000000000000000 <getstateflags>:
       0:	89 f2                	mov    %esi,%edx
       2:	b8 01 00 00 00       	mov    $0x1,%eax
       7:	c1 fa 05             	sar    $0x5,%edx
       a:	c4 e2 49 f7 f0       	shlx   %esi,%eax,%esi
       f:	48 63 c2             	movslq %edx,%rax
      12:	48 8d 14 40          	lea    (%rax,%rax,2),%rdx
      16:	89 f0                	mov    %esi,%eax
      18:	23 44 97 0c          	and    0xc(%rdi,%rdx,4),%eax
      1c:	44 8b 44 97 10       	mov    0x10(%rdi,%rdx,4),%r8d
      21:	0f 95 c0             	setne  %al
      24:	41 21 f0             	and    %esi,%r8d
      27:	0f b6 c0             	movzbl %al,%eax
      2a:	89 c1                	mov    %eax,%ecx
      2c:	83 c9 02             	or     $0x2,%ecx
      2f:	45 85 c0             	test   %r8d,%r8d
      32:	0f 45 c1             	cmovne %ecx,%eax
      35:	23 74 97 14          	and    0x14(%rdi,%rdx,4),%esi
      39:	89 c2                	mov    %eax,%edx
      3b:	83 ca 04             	or     $0x4,%edx
      3e:	85 f6                	test   %esi,%esi
      40:	0f 45 c2             	cmovne %edx,%eax
      43:	c3                   	ret    
      44:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
      4b:	00 00 00 00 
      4f:	90                   	nop

0000000000000050 <_parse_vec_string>:
      50:	41 56                	push   %r14
      52:	41 55                	push   %r13
      54:	41 54                	push   %r12
      56:	49 89 f4             	mov    %rsi,%r12
      59:	55                   	push   %rbp
      5a:	48 89 fd             	mov    %rdi,%rbp
      5d:	53                   	push   %rbx
      5e:	48 89 f7             	mov    %rsi,%rdi
      61:	89 d3                	mov    %edx,%ebx
      63:	e8 00 00 00 00       	call   68 <_parse_vec_string+0x18>
      68:	48 c1 e8 03          	shr    $0x3,%rax
      6c:	49 89 c6             	mov    %rax,%r14
      6f:	83 f8 02             	cmp    $0x2,%eax
      72:	7e 0c                	jle    80 <_parse_vec_string+0x30>
      74:	5b                   	pop    %rbx
      75:	31 c0                	xor    %eax,%eax
      77:	5d                   	pop    %rbp
      78:	41 5c                	pop    %r12
      7a:	41 5d                	pop    %r13
      7c:	41 5e                	pop    %r14
      7e:	c3                   	ret    
      7f:	90                   	nop
      80:	41 89 c5             	mov    %eax,%r13d
      83:	e8 00 00 00 00       	call   88 <_parse_vec_string+0x38>
      88:	41 8d 56 ff          	lea    -0x1(%r14),%edx
      8c:	89 c7                	mov    %eax,%edi
      8e:	45 85 f6             	test   %r14d,%r14d
      91:	74 53                	je     e6 <_parse_vec_string+0x96>
      93:	83 e0 1f             	and    $0x1f,%eax
      96:	41 b8 01 00 00 00    	mov    $0x1,%r8d
      9c:	45 31 c9             	xor    %r9d,%r9d
      9f:	c4 42 f9 f7 c0       	shlx   %rax,%r8,%r8
      a4:	89 d0                	mov    %edx,%eax
      a6:	c1 e2 05             	shl    $0x5,%edx
      a9:	41 ff c8             	dec    %r8d
      ac:	48 8d 44 85 00       	lea    0x0(%rbp,%rax,4),%rax
      b1:	eb 10                	jmp    c3 <_parse_vec_string+0x73>
      b3:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
      ba:	00 00 00 00 
      be:	66 90                	xchg   %ax,%ax
      c0:	48 89 c8             	mov    %rcx,%rax
      c3:	8d 72 20             	lea    0x20(%rdx),%esi
      c6:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
      cb:	39 f7                	cmp    %esi,%edi
      cd:	73 09                	jae    d8 <_parse_vec_string+0x88>
      cf:	39 d7                	cmp    %edx,%edi
      d1:	44 89 c9             	mov    %r9d,%ecx
      d4:	41 0f 47 c8          	cmova  %r8d,%ecx
      d8:	89 08                	mov    %ecx,(%rax)
      da:	83 ea 20             	sub    $0x20,%edx
      dd:	48 8d 48 fc          	lea    -0x4(%rax),%rcx
      e1:	48 39 e8             	cmp    %rbp,%rax
      e4:	75 da                	jne    c0 <_parse_vec_string+0x70>
      e6:	45 85 f6             	test   %r14d,%r14d
      e9:	7e 6a                	jle    155 <_parse_vec_string+0x105>
      eb:	41 c1 e6 03          	shl    $0x3,%r14d
      ef:	31 ff                	xor    %edi,%edi
      f1:	4d 63 f6             	movslq %r14d,%r14
      f4:	4d 01 f4             	add    %r14,%r12
      f7:	4c 89 e6             	mov    %r12,%rsi
      fa:	49 83 ec 08          	sub    $0x8,%r12
      fe:	31 c0                	xor    %eax,%eax
     100:	4c 89 e1             	mov    %r12,%rcx
     103:	eb 17                	jmp    11c <_parse_vec_string+0xcc>
     105:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
     10c:	00 00 00 00 
     110:	8d 44 02 d0          	lea    -0x30(%rdx,%rax,1),%eax
     114:	48 ff c1             	inc    %rcx
     117:	48 39 f1             	cmp    %rsi,%rcx
     11a:	74 24                	je     140 <_parse_vec_string+0xf0>
     11c:	c1 e0 04             	shl    $0x4,%eax
     11f:	89 c2                	mov    %eax,%edx
     121:	0f be 01             	movsbl (%rcx),%eax
     124:	3c 2f                	cmp    $0x2f,%al
     126:	7e 58                	jle    180 <_parse_vec_string+0x130>
     128:	3c 39                	cmp    $0x39,%al
     12a:	7e e4                	jle    110 <_parse_vec_string+0xc0>
     12c:	3c 66                	cmp    $0x66,%al
     12e:	7f 50                	jg     180 <_parse_vec_string+0x130>
     130:	3c 60                	cmp    $0x60,%al
     132:	7e 3c                	jle    170 <_parse_vec_string+0x120>
     134:	48 ff c1             	inc    %rcx
     137:	8d 44 02 a9          	lea    -0x57(%rdx,%rax,1),%eax
     13b:	48 39 f1             	cmp    %rsi,%rcx
     13e:	75 dc                	jne    11c <_parse_vec_string+0xcc>
     140:	89 c2                	mov    %eax,%edx
     142:	85 db                	test   %ebx,%ebx
     144:	f7 d2                	not    %edx
     146:	0f 45 c2             	cmovne %edx,%eax
     149:	21 44 bd 00          	and    %eax,0x0(%rbp,%rdi,4)
     14d:	48 ff c7             	inc    %rdi
     150:	41 39 fd             	cmp    %edi,%r13d
     153:	7f a2                	jg     f7 <_parse_vec_string+0xa7>
     155:	5b                   	pop    %rbx
     156:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
     15b:	5d                   	pop    %rbp
     15c:	41 5c                	pop    %r12
     15e:	41 5d                	pop    %r13
     160:	41 5e                	pop    %r14
     162:	c3                   	ret    
     163:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
     16a:	00 00 00 00 
     16e:	66 90                	xchg   %ax,%ax
     170:	44 8d 40 bf          	lea    -0x41(%rax),%r8d
     174:	41 80 f8 05          	cmp    $0x5,%r8b
     178:	77 06                	ja     180 <_parse_vec_string+0x130>
     17a:	8d 44 02 c9          	lea    -0x37(%rdx,%rax,1),%eax
     17e:	eb 94                	jmp    114 <_parse_vec_string+0xc4>
     180:	31 c0                	xor    %eax,%eax
     182:	eb bc                	jmp    140 <_parse_vec_string+0xf0>
     184:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
     18b:	00 00 00 00 
     18f:	90                   	nop

0000000000000190 <__cap_lookup_name>:
     190:	48 8d 4e f9          	lea    -0x7(%rsi),%rcx
     194:	48 89 fa             	mov    %rdi,%rdx
     197:	48 89 f0             	mov    %rsi,%rax
     19a:	45 31 c0             	xor    %r8d,%r8d
     19d:	48 83 f9 0f          	cmp    $0xf,%rcx
     1a1:	0f 87 8d 00 00 00    	ja     234 <__cap_lookup_name+0xa4>
     1a7:	89 f7                	mov    %esi,%edi
     1a9:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # 1b0 <__cap_lookup_name+0x20>
     1b0:	be 07 00 00 00       	mov    $0x7,%esi
     1b5:	48 83 f8 07          	cmp    $0x7,%rax
     1b9:	74 19                	je     1d4 <__cap_lookup_name+0x44>
     1bb:	83 f8 08             	cmp    $0x8,%eax
     1be:	74 0a                	je     1ca <__cap_lookup_name+0x3a>
     1c0:	0f b6 72 08          	movzbl 0x8(%rdx),%esi
     1c4:	0f b6 3c 31          	movzbl (%rcx,%rsi,1),%edi
     1c8:	01 c7                	add    %eax,%edi
     1ca:	0f b6 72 07          	movzbl 0x7(%rdx),%esi
     1ce:	0f b6 34 31          	movzbl (%rcx,%rsi,1),%esi
     1d2:	01 fe                	add    %edi,%esi
     1d4:	0f b6 7a 04          	movzbl 0x4(%rdx),%edi
     1d8:	45 31 c0             	xor    %r8d,%r8d
     1db:	0f b6 0c 39          	movzbl (%rcx,%rdi,1),%ecx
     1df:	01 f1                	add    %esi,%ecx
     1e1:	83 f9 3a             	cmp    $0x3a,%ecx
     1e4:	77 4e                	ja     234 <__cap_lookup_name+0xa4>
     1e6:	48 89 ce             	mov    %rcx,%rsi
     1e9:	4c 8d 15 00 00 00 00 	lea    0x0(%rip),%r10        # 1f0 <__cap_lookup_name+0x60>
     1f0:	48 c1 e6 04          	shl    $0x4,%rsi
     1f4:	4d 8b 04 32          	mov    (%r10,%rsi,1),%r8
     1f8:	4d 85 c0             	test   %r8,%r8
     1fb:	74 37                	je     234 <__cap_lookup_name+0xa4>
     1fd:	0f b6 32             	movzbl (%rdx),%esi
     200:	41 0f b6 38          	movzbl (%r8),%edi
     204:	41 89 f1             	mov    %esi,%r9d
     207:	41 31 f9             	xor    %edi,%r9d
     20a:	41 81 e1 df 00 00 00 	and    $0xdf,%r9d
     211:	75 1e                	jne    231 <__cap_lookup_name+0xa1>
     213:	4c 8d 0d 00 00 00 00 	lea    0x0(%rip),%r9        # 21a <__cap_lookup_name+0x8a>
     21a:	45 31 db             	xor    %r11d,%r11d
     21d:	41 0f b6 34 31       	movzbl (%r9,%rsi,1),%esi
     222:	41 0f b6 3c 39       	movzbl (%r9,%rdi,1),%edi
     227:	40 84 f6             	test   %sil,%sil
     22a:	74 35                	je     261 <__cap_lookup_name+0xd1>
     22c:	40 38 fe             	cmp    %dil,%sil
     22f:	74 0f                	je     240 <__cap_lookup_name+0xb0>
     231:	45 31 c0             	xor    %r8d,%r8d
     234:	4c 89 c0             	mov    %r8,%rax
     237:	c3                   	ret    
     238:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
     23f:	00 
     240:	49 ff c3             	inc    %r11
     243:	4c 39 d8             	cmp    %r11,%rax
     246:	74 1e                	je     266 <__cap_lookup_name+0xd6>
     248:	42 0f b6 34 1a       	movzbl (%rdx,%r11,1),%esi
     24d:	43 0f b6 3c 18       	movzbl (%r8,%r11,1),%edi
     252:	41 0f b6 34 31       	movzbl (%r9,%rsi,1),%esi
     257:	41 0f b6 3c 39       	movzbl (%r9,%rdi,1),%edi
     25c:	40 84 f6             	test   %sil,%sil
     25f:	75 cb                	jne    22c <__cap_lookup_name+0x9c>
     261:	40 38 fe             	cmp    %dil,%sil
     264:	75 cb                	jne    231 <__cap_lookup_name+0xa1>
     266:	41 80 3c 00 00       	cmpb   $0x0,(%r8,%rax,1)
     26b:	75 c4                	jne    231 <__cap_lookup_name+0xa1>
     26d:	48 c1 e1 04          	shl    $0x4,%rcx
     271:	4d 8d 04 0a          	lea    (%r10,%rcx,1),%r8
     275:	4c 89 c0             	mov    %r8,%rax
     278:	c3                   	ret    
     279:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

0000000000000280 <lookupname>:
     280:	41 54                	push   %r12
     282:	55                   	push   %rbp
     283:	53                   	push   %rbx
     284:	48 89 fd             	mov    %rdi,%rbp
     287:	48 83 ec 10          	sub    $0x10,%rsp
     28b:	4c 8b 27             	mov    (%rdi),%r12
     28e:	4c 89 64 24 08       	mov    %r12,0x8(%rsp)
     293:	e8 00 00 00 00       	call   298 <lookupname+0x18>
     298:	48 8b 08             	mov    (%rax),%rcx
     29b:	49 0f be 04 24       	movsbq (%r12),%rax
     2a0:	48 89 c2             	mov    %rax,%rdx
     2a3:	0f b7 04 41          	movzwl (%rcx,%rax,2),%eax
     2a7:	f6 c4 08             	test   $0x8,%ah
     2aa:	75 54                	jne    300 <lookupname+0x80>
     2ac:	31 db                	xor    %ebx,%ebx
     2ae:	85 d2                	test   %edx,%edx
     2b0:	75 12                	jne    2c4 <lookupname+0x44>
     2b2:	eb 26                	jmp    2da <lookupname+0x5a>
     2b4:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
     2bb:	00 00 00 00 
     2bf:	90                   	nop
     2c0:	0f b7 04 51          	movzwl (%rcx,%rdx,2),%eax
     2c4:	f6 c4 04             	test   $0x4,%ah
     2c7:	75 05                	jne    2ce <lookupname+0x4e>
     2c9:	83 fa 5f             	cmp    $0x5f,%edx
     2cc:	75 0c                	jne    2da <lookupname+0x5a>
     2ce:	48 ff c3             	inc    %rbx
     2d1:	49 0f be 14 1c       	movsbq (%r12,%rbx,1),%rdx
     2d6:	85 d2                	test   %edx,%edx
     2d8:	75 e6                	jne    2c0 <lookupname+0x40>
     2da:	48 89 de             	mov    %rbx,%rsi
     2dd:	4c 89 e7             	mov    %r12,%rdi
     2e0:	e8 00 00 00 00       	call   2e5 <lookupname+0x65>
     2e5:	48 85 c0             	test   %rax,%rax
     2e8:	74 3d                	je     327 <lookupname+0xa7>
     2ea:	48 03 5c 24 08       	add    0x8(%rsp),%rbx
     2ef:	8b 40 08             	mov    0x8(%rax),%eax
     2f2:	48 89 5d 00          	mov    %rbx,0x0(%rbp)
     2f6:	48 83 c4 10          	add    $0x10,%rsp
     2fa:	5b                   	pop    %rbx
     2fb:	5d                   	pop    %rbp
     2fc:	41 5c                	pop    %r12
     2fe:	c3                   	ret    
     2ff:	90                   	nop
     300:	31 d2                	xor    %edx,%edx
     302:	48 8d 74 24 08       	lea    0x8(%rsp),%rsi
     307:	4c 89 e7             	mov    %r12,%rdi
     30a:	e8 00 00 00 00       	call   30f <lookupname+0x8f>
     30f:	48 83 f8 3f          	cmp    $0x3f,%rax
     313:	77 12                	ja     327 <lookupname+0xa7>
     315:	48 8b 54 24 08       	mov    0x8(%rsp),%rdx
     31a:	48 89 55 00          	mov    %rdx,0x0(%rbp)
     31e:	48 83 c4 10          	add    $0x10,%rsp
     322:	5b                   	pop    %rbx
     323:	5d                   	pop    %rbp
     324:	41 5c                	pop    %r12
     326:	c3                   	ret    
     327:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
     32c:	eb c8                	jmp    2f6 <lookupname+0x76>
     32e:	66 90                	xchg   %ax,%ax

0000000000000330 <cap_from_text>:
     330:	41 57                	push   %r15
     332:	41 56                	push   %r14
     334:	41 55                	push   %r13
     336:	41 54                	push   %r12
     338:	55                   	push   %rbp
     339:	53                   	push   %rbx
     33a:	48 83 ec 58          	sub    $0x58,%rsp
     33e:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
     343:	48 85 ff             	test   %rdi,%rdi
     346:	0f 84 2b 02 00 00    	je     577 <cap_from_text+0x247>
     34c:	e8 00 00 00 00       	call   351 <cap_from_text+0x21>
     351:	49 89 c4             	mov    %rax,%r12
     354:	48 85 c0             	test   %rax,%rax
     357:	74 32                	je     38b <cap_from_text+0x5b>
     359:	8b 40 04             	mov    0x4(%rax),%eax
     35c:	3d 26 10 07 20       	cmp    $0x20071026,%eax
     361:	74 3d                	je     3a0 <cap_from_text+0x70>
     363:	3d 22 05 08 20       	cmp    $0x20080522,%eax
     368:	74 36                	je     3a0 <cap_from_text+0x70>
     36a:	3d 30 03 98 19       	cmp    $0x19980330,%eax
     36f:	0f 84 c3 00 00 00    	je     438 <cap_from_text+0x108>
     375:	4c 89 e7             	mov    %r12,%rdi
     378:	45 31 e4             	xor    %r12d,%r12d
     37b:	e8 00 00 00 00       	call   380 <cap_from_text+0x50>
     380:	e8 00 00 00 00       	call   385 <cap_from_text+0x55>
     385:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
     38b:	48 83 c4 58          	add    $0x58,%rsp
     38f:	4c 89 e0             	mov    %r12,%rax
     392:	5b                   	pop    %rbx
     393:	5d                   	pop    %rbp
     394:	41 5c                	pop    %r12
     396:	41 5d                	pop    %r13
     398:	41 5e                	pop    %r14
     39a:	41 5f                	pop    %r15
     39c:	c3                   	ret    
     39d:	0f 1f 00             	nopl   (%rax)
     3a0:	bd 02 00 00 00       	mov    $0x2,%ebp
     3a5:	e8 00 00 00 00       	call   3aa <cap_from_text+0x7a>
     3aa:	8d 55 ff             	lea    -0x1(%rbp),%edx
     3ad:	41 89 ee             	mov    %ebp,%r14d
     3b0:	4c 8d 7c 24 48       	lea    0x48(%rsp),%r15
     3b5:	48 89 c3             	mov    %rax,%rbx
     3b8:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
     3bd:	89 54 24 1c          	mov    %edx,0x1c(%rsp)
     3c1:	4c 8d 6c 94 48       	lea    0x48(%rsp,%rdx,4),%r13
     3c6:	4c 8b 0b             	mov    (%rbx),%r9
     3c9:	48 8d 54 6d 00       	lea    0x0(%rbp,%rbp,2),%rdx
     3ce:	4c 89 64 24 08       	mov    %r12,0x8(%rsp)
     3d3:	41 c1 e6 05          	shl    $0x5,%r14d
     3d7:	49 8d 34 94          	lea    (%r12,%rdx,4),%rsi
     3db:	4d 89 fc             	mov    %r15,%r12
     3de:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
     3e3:	49 c7 04 24 00 00 00 	movq   $0x0,(%r12)
     3ea:	00 
     3eb:	eb 08                	jmp    3f5 <cap_from_text+0xc5>
     3ed:	0f 1f 00             	nopl   (%rax)
     3f0:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
     3f5:	0f b6 38             	movzbl (%rax),%edi
     3f8:	49 89 c0             	mov    %rax,%r8
     3fb:	48 ff c0             	inc    %rax
     3fe:	41 0f b7 0c 79       	movzwl (%r9,%rdi,2),%ecx
     403:	48 89 fa             	mov    %rdi,%rdx
     406:	f6 c5 20             	test   $0x20,%ch
     409:	75 e5                	jne    3f0 <cap_from_text+0xc0>
     40b:	40 84 ff             	test   %dil,%dil
     40e:	0f 84 c1 04 00 00    	je     8d5 <cap_from_text+0x5a5>
     414:	83 e1 08             	and    $0x8,%ecx
     417:	75 29                	jne    442 <cap_from_text+0x112>
     419:	40 80 ff 5f          	cmp    $0x5f,%dil
     41d:	74 23                	je     442 <cap_from_text+0x112>
     41f:	83 ea 2b             	sub    $0x2b,%edx
     422:	81 e2 fd 00 00 00    	and    $0xfd,%edx
     428:	0f 85 ed 03 00 00    	jne    81b <cap_from_text+0x4eb>
     42e:	4c 8b 64 24 08       	mov    0x8(%rsp),%r12
     433:	e9 3d ff ff ff       	jmp    375 <cap_from_text+0x45>
     438:	bd 01 00 00 00       	mov    $0x1,%ebp
     43d:	e9 63 ff ff ff       	jmp    3a5 <cap_from_text+0x75>
     442:	4c 89 4c 24 30       	mov    %r9,0x30(%rsp)
     447:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
     44c:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
     451:	e8 00 00 00 00       	call   456 <cap_from_text+0x126>
     456:	48 89 c5             	mov    %rax,%rbp
     459:	4c 8d 7c 24 38       	lea    0x38(%rsp),%r15
     45e:	4c 8b 44 24 20       	mov    0x20(%rsp),%r8
     463:	48 8b 7c 24 28       	mov    0x28(%rsp),%rdi
     468:	4c 8b 4c 24 30       	mov    0x30(%rsp),%r9
     46d:	0f 1f 00             	nopl   (%rax)
     470:	4c 8b 55 00          	mov    0x0(%rbp),%r10
     474:	4c 89 c1             	mov    %r8,%rcx
     477:	b8 61 00 00 00       	mov    $0x61,%eax
     47c:	48 8d 15 00 00 00 00 	lea    0x0(%rip),%rdx        # 483 <cap_from_text+0x153>
     483:	eb 1c                	jmp    4a1 <cap_from_text+0x171>
     485:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
     48c:	00 00 00 00 
     490:	0f be 42 01          	movsbl 0x1(%rdx),%eax
     494:	48 ff c1             	inc    %rcx
     497:	48 ff c2             	inc    %rdx
     49a:	0f b6 39             	movzbl (%rcx),%edi
     49d:	84 c0                	test   %al,%al
     49f:	74 6f                	je     510 <cap_from_text+0x1e0>
     4a1:	41 39 04 ba          	cmp    %eax,(%r10,%rdi,4)
     4a5:	74 e9                	je     490 <cap_from_text+0x160>
     4a7:	4c 89 ff             	mov    %r15,%rdi
     4aa:	e8 d1 fd ff ff       	call   280 <lookupname>
     4af:	83 f8 ff             	cmp    $0xffffffff,%eax
     4b2:	0f 84 76 ff ff ff    	je     42e <cap_from_text+0xfe>
     4b8:	89 c2                	mov    %eax,%edx
     4ba:	b9 01 00 00 00       	mov    $0x1,%ecx
     4bf:	c1 fa 05             	sar    $0x5,%edx
     4c2:	c4 e2 79 f7 c1       	shlx   %eax,%ecx,%eax
     4c7:	48 63 d2             	movslq %edx,%rdx
     4ca:	09 44 94 48          	or     %eax,0x48(%rsp,%rdx,4)
     4ce:	48 8b 54 24 38       	mov    0x38(%rsp),%rdx
     4d3:	80 3a 2c             	cmpb   $0x2c,(%rdx)
     4d6:	48 8d 42 01          	lea    0x1(%rdx),%rax
     4da:	49 89 c0             	mov    %rax,%r8
     4dd:	0f 85 a7 00 00 00    	jne    58a <cap_from_text+0x25a>
     4e3:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
     4e8:	4c 8b 0b             	mov    (%rbx),%r9
     4eb:	0f b6 7a 01          	movzbl 0x1(%rdx),%edi
     4ef:	41 f6 04 79 08       	testb  $0x8,(%r9,%rdi,2)
     4f4:	0f 85 76 ff ff ff    	jne    470 <cap_from_text+0x140>
     4fa:	40 80 ff 5f          	cmp    $0x5f,%dil
     4fe:	0f 84 6c ff ff ff    	je     470 <cap_from_text+0x140>
     504:	e9 25 ff ff ff       	jmp    42e <cap_from_text+0xfe>
     509:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
     510:	40 0f b6 c7          	movzbl %dil,%eax
     514:	41 f6 04 41 08       	testb  $0x8,(%r9,%rax,2)
     519:	75 8c                	jne    4a7 <cap_from_text+0x177>
     51b:	3c 5f                	cmp    $0x5f,%al
     51d:	74 88                	je     4a7 <cap_from_text+0x177>
     51f:	49 83 c0 03          	add    $0x3,%r8
     523:	4c 89 44 24 38       	mov    %r8,0x38(%rsp)
     528:	e8 00 00 00 00       	call   52d <cap_from_text+0x1fd>
     52d:	bf 01 00 00 00       	mov    $0x1,%edi
     532:	4c 89 ea             	mov    %r13,%rdx
     535:	89 c6                	mov    %eax,%esi
     537:	83 e0 1f             	and    $0x1f,%eax
     53a:	45 31 c0             	xor    %r8d,%r8d
     53d:	c4 e2 f9 f7 ff       	shlx   %rax,%rdi,%rdi
     542:	44 89 f0             	mov    %r14d,%eax
     545:	ff cf                	dec    %edi
     547:	eb 20                	jmp    569 <cap_from_text+0x239>
     549:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
     550:	83 e8 20             	sub    $0x20,%eax
     553:	44 89 c1             	mov    %r8d,%ecx
     556:	39 c6                	cmp    %eax,%esi
     558:	0f 47 cf             	cmova  %edi,%ecx
     55b:	89 0a                	mov    %ecx,(%rdx)
     55d:	48 83 ea 04          	sub    $0x4,%rdx
     561:	85 c0                	test   %eax,%eax
     563:	0f 84 65 ff ff ff    	je     4ce <cap_from_text+0x19e>
     569:	39 c6                	cmp    %eax,%esi
     56b:	72 e3                	jb     550 <cap_from_text+0x220>
     56d:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
     572:	83 e8 20             	sub    $0x20,%eax
     575:	eb e4                	jmp    55b <cap_from_text+0x22b>
     577:	49 89 fc             	mov    %rdi,%r12
     57a:	e8 00 00 00 00       	call   57f <cap_from_text+0x24f>
     57f:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
     585:	e9 01 fe ff ff       	jmp    38b <cap_from_text+0x5b>
     58a:	41 b8 01 00 00 00    	mov    $0x1,%r8d
     590:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
     595:	44 0f b6 12          	movzbl (%rdx),%r10d
     599:	41 80 fa 3d          	cmp    $0x3d,%r10b
     59d:	0f 84 ec 02 00 00    	je     88f <cap_from_text+0x55f>
     5a3:	41 8d 4a d5          	lea    -0x2b(%r10),%ecx
     5a7:	81 e1 fd 00 00 00    	and    $0xfd,%ecx
     5ad:	0f 85 7b fe ff ff    	jne    42e <cap_from_text+0xfe>
     5b3:	48 0f be 4a 01       	movsbq 0x1(%rdx),%rcx
     5b8:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
     5bd:	44 8b 5c 24 1c       	mov    0x1c(%rsp),%r11d
     5c2:	31 ff                	xor    %edi,%edi
     5c4:	84 c9                	test   %cl,%cl
     5c6:	0f 84 63 01 00 00    	je     72f <cap_from_text+0x3ff>
     5cc:	0f 1f 40 00          	nopl   0x0(%rax)
     5d0:	4c 8b 0b             	mov    (%rbx),%r9
     5d3:	41 f6 44 49 01 20    	testb  $0x20,0x1(%r9,%rcx,2)
     5d9:	0f 85 50 01 00 00    	jne    72f <cap_from_text+0x3ff>
     5df:	48 8d 50 01          	lea    0x1(%rax),%rdx
     5e3:	48 89 54 24 38       	mov    %rdx,0x38(%rsp)
     5e8:	0f b6 00             	movzbl (%rax),%eax
     5eb:	3c 69                	cmp    $0x69,%al
     5ed:	0f 84 94 02 00 00    	je     887 <cap_from_text+0x557>
     5f3:	3c 70                	cmp    $0x70,%al
     5f5:	0f 84 84 02 00 00    	je     87f <cap_from_text+0x54f>
     5fb:	3c 65                	cmp    $0x65,%al
     5fd:	0f 85 2b fe ff ff    	jne    42e <cap_from_text+0xfe>
     603:	83 cf 01             	or     $0x1,%edi
     606:	41 8d 42 d5          	lea    -0x2b(%r10),%eax
     60a:	3c 25                	cmp    $0x25,%al
     60c:	0f 87 be 00 00 00    	ja     6d0 <cap_from_text+0x3a0>
     612:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # 619 <cap_from_text+0x2e9>
     619:	0f b6 c0             	movzbl %al,%eax
     61c:	48 63 04 81          	movslq (%rcx,%rax,4),%rax
     620:	48 01 c8             	add    %rcx,%rax
     623:	ff e0                	jmp    *%rax
     625:	48 89 d0             	mov    %rdx,%rax
     628:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
     62f:	00 
     630:	49 63 d3             	movslq %r11d,%rdx
     633:	49 89 f1             	mov    %rsi,%r9
     636:	48 89 d1             	mov    %rdx,%rcx
     639:	41 8b 2c 8c          	mov    (%r12,%rcx,4),%ebp
     63d:	48 ff c9             	dec    %rcx
     640:	f7 d5                	not    %ebp
     642:	41 21 29             	and    %ebp,(%r9)
     645:	49 83 e9 0c          	sub    $0xc,%r9
     649:	83 f9 ff             	cmp    $0xffffffff,%ecx
     64c:	75 eb                	jne    639 <cap_from_text+0x309>
     64e:	49 89 f1             	mov    %rsi,%r9
     651:	48 89 d1             	mov    %rdx,%rcx
     654:	41 8b 2c 8c          	mov    (%r12,%rcx,4),%ebp
     658:	48 ff c9             	dec    %rcx
     65b:	f7 d5                	not    %ebp
     65d:	41 21 69 04          	and    %ebp,0x4(%r9)
     661:	49 83 e9 0c          	sub    $0xc,%r9
     665:	83 f9 ff             	cmp    $0xffffffff,%ecx
     668:	75 ea                	jne    654 <cap_from_text+0x324>
     66a:	48 89 f1             	mov    %rsi,%rcx
     66d:	45 8b 0c 94          	mov    (%r12,%rdx,4),%r9d
     671:	48 ff ca             	dec    %rdx
     674:	41 f7 d1             	not    %r9d
     677:	44 21 49 08          	and    %r9d,0x8(%rcx)
     67b:	48 83 e9 0c          	sub    $0xc,%rcx
     67f:	83 fa ff             	cmp    $0xffffffff,%edx
     682:	75 e9                	jne    66d <cap_from_text+0x33d>
     684:	48 89 c2             	mov    %rax,%rdx
     687:	41 80 fa 4d          	cmp    $0x4d,%r10b
     68b:	0f 84 af 00 00 00    	je     740 <cap_from_text+0x410>
     691:	40 f6 c7 01          	test   $0x1,%dil
     695:	0f 85 1f 01 00 00    	jne    7ba <cap_from_text+0x48a>
     69b:	40 f6 c7 02          	test   $0x2,%dil
     69f:	0f 85 f6 00 00 00    	jne    79b <cap_from_text+0x46b>
     6a5:	40 f6 c7 04          	test   $0x4,%dil
     6a9:	74 25                	je     6d0 <cap_from_text+0x3a0>
     6ab:	49 63 cb             	movslq %r11d,%rcx
     6ae:	48 89 f0             	mov    %rsi,%rax
     6b1:	45 8b 0c 8c          	mov    (%r12,%rcx,4),%r9d
     6b5:	48 ff c9             	dec    %rcx
     6b8:	44 09 48 08          	or     %r9d,0x8(%rax)
     6bc:	48 83 e8 0c          	sub    $0xc,%rax
     6c0:	83 f9 ff             	cmp    $0xffffffff,%ecx
     6c3:	75 ec                	jne    6b1 <cap_from_text+0x381>
     6c5:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
     6cc:	00 00 00 00 
     6d0:	48 0f be 0a          	movsbq (%rdx),%rcx
     6d4:	8d 41 d5             	lea    -0x2b(%rcx),%eax
     6d7:	a8 fd                	test   $0xfd,%al
     6d9:	0f 85 b1 00 00 00    	jne    790 <cap_from_text+0x460>
     6df:	45 85 c0             	test   %r8d,%r8d
     6e2:	0f 84 46 fd ff ff    	je     42e <cap_from_text+0xfe>
     6e8:	48 8d 42 01          	lea    0x1(%rdx),%rax
     6ec:	4c 8b 0b             	mov    (%rbx),%r9
     6ef:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
     6f4:	48 0f be 4a 01       	movsbq 0x1(%rdx),%rcx
     6f9:	44 0f b6 12          	movzbl (%rdx),%r10d
     6fd:	48 0f be d1          	movsbq %cl,%rdx
     701:	41 f6 44 51 01 04    	testb  $0x4,0x1(%r9,%rdx,2)
     707:	0f 84 21 fd ff ff    	je     42e <cap_from_text+0xfe>
     70d:	31 ff                	xor    %edi,%edi
     70f:	84 c9                	test   %cl,%cl
     711:	0f 84 cc fc ff ff    	je     3e3 <cap_from_text+0xb3>
     717:	48 0f be d1          	movsbq %cl,%rdx
     71b:	41 f6 44 51 01 20    	testb  $0x20,0x1(%r9,%rdx,2)
     721:	0f 85 bc fc ff ff    	jne    3e3 <cap_from_text+0xb3>
     727:	84 c9                	test   %cl,%cl
     729:	0f 85 a1 fe ff ff    	jne    5d0 <cap_from_text+0x2a0>
     72f:	41 80 fa 3d          	cmp    $0x3d,%r10b
     733:	0f 84 f7 fe ff ff    	je     630 <cap_from_text+0x300>
     739:	e9 f0 fc ff ff       	jmp    42e <cap_from_text+0xfe>
     73e:	66 90                	xchg   %ax,%ax
     740:	40 f6 c7 01          	test   $0x1,%dil
     744:	0f 85 b0 00 00 00    	jne    7fa <cap_from_text+0x4ca>
     74a:	40 f6 c7 02          	test   $0x2,%dil
     74e:	0f 85 84 00 00 00    	jne    7d8 <cap_from_text+0x4a8>
     754:	40 f6 c7 04          	test   $0x4,%dil
     758:	0f 84 72 ff ff ff    	je     6d0 <cap_from_text+0x3a0>
     75e:	49 63 cb             	movslq %r11d,%rcx
     761:	48 89 f0             	mov    %rsi,%rax
     764:	45 8b 0c 8c          	mov    (%r12,%rcx,4),%r9d
     768:	48 ff c9             	dec    %rcx
     76b:	41 f7 d1             	not    %r9d
     76e:	44 21 48 08          	and    %r9d,0x8(%rax)
     772:	48 83 e8 0c          	sub    $0xc,%rax
     776:	83 f9 ff             	cmp    $0xffffffff,%ecx
     779:	75 e9                	jne    764 <cap_from_text+0x434>
     77b:	48 0f be 0a          	movsbq (%rdx),%rcx
     77f:	8d 41 d5             	lea    -0x2b(%rcx),%eax
     782:	a8 fd                	test   $0xfd,%al
     784:	0f 84 55 ff ff ff    	je     6df <cap_from_text+0x3af>
     78a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
     790:	4c 8b 0b             	mov    (%rbx),%r9
     793:	48 89 d0             	mov    %rdx,%rax
     796:	e9 74 ff ff ff       	jmp    70f <cap_from_text+0x3df>
     79b:	49 63 cb             	movslq %r11d,%rcx
     79e:	48 89 f0             	mov    %rsi,%rax
     7a1:	45 8b 0c 8c          	mov    (%r12,%rcx,4),%r9d
     7a5:	48 ff c9             	dec    %rcx
     7a8:	44 09 48 04          	or     %r9d,0x4(%rax)
     7ac:	48 83 e8 0c          	sub    $0xc,%rax
     7b0:	83 f9 ff             	cmp    $0xffffffff,%ecx
     7b3:	75 ec                	jne    7a1 <cap_from_text+0x471>
     7b5:	e9 eb fe ff ff       	jmp    6a5 <cap_from_text+0x375>
     7ba:	49 63 cb             	movslq %r11d,%rcx
     7bd:	48 89 f0             	mov    %rsi,%rax
     7c0:	45 8b 0c 8c          	mov    (%r12,%rcx,4),%r9d
     7c4:	48 ff c9             	dec    %rcx
     7c7:	44 09 08             	or     %r9d,(%rax)
     7ca:	48 83 e8 0c          	sub    $0xc,%rax
     7ce:	83 f9 ff             	cmp    $0xffffffff,%ecx
     7d1:	75 ed                	jne    7c0 <cap_from_text+0x490>
     7d3:	e9 c3 fe ff ff       	jmp    69b <cap_from_text+0x36b>
     7d8:	49 63 cb             	movslq %r11d,%rcx
     7db:	48 89 f0             	mov    %rsi,%rax
     7de:	45 8b 0c 8c          	mov    (%r12,%rcx,4),%r9d
     7e2:	48 ff c9             	dec    %rcx
     7e5:	41 f7 d1             	not    %r9d
     7e8:	44 21 48 04          	and    %r9d,0x4(%rax)
     7ec:	48 83 e8 0c          	sub    $0xc,%rax
     7f0:	83 f9 ff             	cmp    $0xffffffff,%ecx
     7f3:	75 e9                	jne    7de <cap_from_text+0x4ae>
     7f5:	e9 5a ff ff ff       	jmp    754 <cap_from_text+0x424>
     7fa:	49 63 cb             	movslq %r11d,%rcx
     7fd:	48 89 f0             	mov    %rsi,%rax
     800:	45 8b 0c 8c          	mov    (%r12,%rcx,4),%r9d
     804:	48 ff c9             	dec    %rcx
     807:	41 f7 d1             	not    %r9d
     80a:	44 21 08             	and    %r9d,(%rax)
     80d:	48 83 e8 0c          	sub    $0xc,%rax
     811:	83 f9 ff             	cmp    $0xffffffff,%ecx
     814:	75 ea                	jne    800 <cap_from_text+0x4d0>
     816:	e9 2f ff ff ff       	jmp    74a <cap_from_text+0x41a>
     81b:	e8 00 00 00 00       	call   820 <cap_from_text+0x4f0>
     820:	41 b8 01 00 00 00    	mov    $0x1,%r8d
     826:	4c 89 ea             	mov    %r13,%rdx
     829:	45 31 c9             	xor    %r9d,%r9d
     82c:	89 c7                	mov    %eax,%edi
     82e:	83 e0 1f             	and    $0x1f,%eax
     831:	c4 42 f9 f7 c0       	shlx   %rax,%r8,%r8
     836:	44 89 f0             	mov    %r14d,%eax
     839:	41 ff c8             	dec    %r8d
     83c:	eb 19                	jmp    857 <cap_from_text+0x527>
     83e:	66 90                	xchg   %ax,%ax
     840:	83 e8 20             	sub    $0x20,%eax
     843:	44 89 c9             	mov    %r9d,%ecx
     846:	39 c7                	cmp    %eax,%edi
     848:	41 0f 47 c8          	cmova  %r8d,%ecx
     84c:	48 83 ea 04          	sub    $0x4,%rdx
     850:	89 4a 04             	mov    %ecx,0x4(%rdx)
     853:	85 c0                	test   %eax,%eax
     855:	74 17                	je     86e <cap_from_text+0x53e>
     857:	39 c7                	cmp    %eax,%edi
     859:	72 e5                	jb     840 <cap_from_text+0x510>
     85b:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
     860:	83 e8 20             	sub    $0x20,%eax
     863:	48 83 ea 04          	sub    $0x4,%rdx
     867:	89 4a 04             	mov    %ecx,0x4(%rdx)
     86a:	85 c0                	test   %eax,%eax
     86c:	75 e9                	jne    857 <cap_from_text+0x527>
     86e:	48 8b 54 24 38       	mov    0x38(%rsp),%rdx
     873:	45 31 c0             	xor    %r8d,%r8d
     876:	48 8d 42 01          	lea    0x1(%rdx),%rax
     87a:	e9 11 fd ff ff       	jmp    590 <cap_from_text+0x260>
     87f:	83 cf 02             	or     $0x2,%edi
     882:	e9 7f fd ff ff       	jmp    606 <cap_from_text+0x2d6>
     887:	83 cf 04             	or     $0x4,%edi
     88a:	e9 77 fd ff ff       	jmp    606 <cap_from_text+0x2d6>
     88f:	48 0f be 4a 01       	movsbq 0x1(%rdx),%rcx
     894:	8d 79 d5             	lea    -0x2b(%rcx),%edi
     897:	81 e7 fd 00 00 00    	and    $0xfd,%edi
     89d:	0f 85 15 fd ff ff    	jne    5b8 <cap_from_text+0x288>
     8a3:	45 85 c0             	test   %r8d,%r8d
     8a6:	0f 84 82 fb ff ff    	je     42e <cap_from_text+0xfe>
     8ac:	48 8d 42 02          	lea    0x2(%rdx),%rax
     8b0:	41 ba 50 00 00 00    	mov    $0x50,%r10d
     8b6:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
     8bb:	80 7a 01 2b          	cmpb   $0x2b,0x1(%rdx)
     8bf:	48 0f be 4a 02       	movsbq 0x2(%rdx),%rcx
     8c4:	0f 84 ee fc ff ff    	je     5b8 <cap_from_text+0x288>
     8ca:	41 ba 4d 00 00 00    	mov    $0x4d,%r10d
     8d0:	e9 e3 fc ff ff       	jmp    5b8 <cap_from_text+0x288>
     8d5:	4c 8b 64 24 08       	mov    0x8(%rsp),%r12
     8da:	e9 ac fa ff ff       	jmp    38b <cap_from_text+0x5b>
     8df:	90                   	nop

00000000000008e0 <cap_from_name>:
     8e0:	53                   	push   %rbx
     8e1:	48 89 f3             	mov    %rsi,%rbx
     8e4:	48 83 ec 10          	sub    $0x10,%rsp
     8e8:	48 89 7c 24 08       	mov    %rdi,0x8(%rsp)
     8ed:	48 8d 7c 24 08       	lea    0x8(%rsp),%rdi
     8f2:	e8 89 f9 ff ff       	call   280 <lookupname>
     8f7:	85 c0                	test   %eax,%eax
     8f9:	78 07                	js     902 <cap_from_name+0x22>
     8fb:	48 85 db             	test   %rbx,%rbx
     8fe:	74 02                	je     902 <cap_from_name+0x22>
     900:	89 03                	mov    %eax,(%rbx)
     902:	48 83 c4 10          	add    $0x10,%rsp
     906:	c1 f8 1f             	sar    $0x1f,%eax
     909:	5b                   	pop    %rbx
     90a:	c3                   	ret    
     90b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000000910 <cap_to_name>:
     910:	48 63 cf             	movslq %edi,%rcx
     913:	83 f9 28             	cmp    $0x28,%ecx
     916:	76 48                	jbe    960 <cap_to_name+0x50>
     918:	41 54                	push   %r12
     91a:	48 8d 15 00 00 00 00 	lea    0x0(%rip),%rdx        # 921 <cap_to_name+0x11>
     921:	be 01 00 00 00       	mov    $0x1,%esi
     926:	31 c0                	xor    %eax,%eax
     928:	48 83 ec 10          	sub    $0x10,%rsp
     92c:	45 31 e4             	xor    %r12d,%r12d
     92f:	48 8d 7c 24 08       	lea    0x8(%rsp),%rdi
     934:	e8 00 00 00 00       	call   939 <cap_to_name+0x29>
     939:	85 c0                	test   %eax,%eax
     93b:	7e 17                	jle    954 <cap_to_name+0x44>
     93d:	48 8b 7c 24 08       	mov    0x8(%rsp),%rdi
     942:	e8 00 00 00 00       	call   947 <cap_to_name+0x37>
     947:	48 8b 7c 24 08       	mov    0x8(%rsp),%rdi
     94c:	49 89 c4             	mov    %rax,%r12
     94f:	e8 00 00 00 00       	call   954 <cap_to_name+0x44>
     954:	48 83 c4 10          	add    $0x10,%rsp
     958:	4c 89 e0             	mov    %r12,%rax
     95b:	41 5c                	pop    %r12
     95d:	c3                   	ret    
     95e:	66 90                	xchg   %ax,%ax
     960:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # 967 <cap_to_name+0x57>
     967:	48 8b 3c c8          	mov    (%rax,%rcx,8),%rdi
     96b:	e9 00 00 00 00       	jmp    970 <cap_to_text>

0000000000000970 <cap_to_text>:
     970:	41 57                	push   %r15
     972:	41 56                	push   %r14
     974:	41 55                	push   %r13
     976:	41 54                	push   %r12
     978:	55                   	push   %rbp
     979:	53                   	push   %rbx
     97a:	48 81 ec 98 06 00 00 	sub    $0x698,%rsp
     981:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
     986:	48 85 ff             	test   %rdi,%rdi
     989:	0f 84 b1 04 00 00    	je     e40 <cap_to_text+0x4d0>
     98f:	81 7f f8 d0 90 ca 00 	cmpl   $0xca90d0,-0x8(%rdi)
     996:	48 89 fb             	mov    %rdi,%rbx
     999:	0f 85 a1 04 00 00    	jne    e40 <cap_to_text+0x4d0>
     99f:	c5 f9 ef c0          	vpxor  %xmm0,%xmm0,%xmm0
     9a3:	c5 f9 7f 44 24 40    	vmovdqa %xmm0,0x40(%rsp)
     9a9:	c5 f9 7f 44 24 50    	vmovdqa %xmm0,0x50(%rsp)
     9af:	e8 00 00 00 00       	call   9b4 <cap_to_text+0x44>
     9b4:	89 c5                	mov    %eax,%ebp
     9b6:	85 c0                	test   %eax,%eax
     9b8:	0f 84 bc 04 00 00    	je     e7a <cap_to_text+0x50a>
     9be:	45 31 c9             	xor    %r9d,%r9d
     9c1:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
     9c8:	00 00 00 00 
     9cc:	0f 1f 40 00          	nopl   0x0(%rax)
     9d0:	44 89 ce             	mov    %r9d,%esi
     9d3:	48 89 df             	mov    %rbx,%rdi
     9d6:	41 ff c1             	inc    %r9d
     9d9:	e8 22 f6 ff ff       	call   0 <getstateflags>
     9de:	48 98                	cltq   
     9e0:	ff 44 84 40          	incl   0x40(%rsp,%rax,4)
     9e4:	41 39 e9             	cmp    %ebp,%r9d
     9e7:	75 e7                	jne    9d0 <cap_to_text+0x60>
     9e9:	8b 54 24 5c          	mov    0x5c(%rsp),%edx
     9ed:	8b 4c 24 58          	mov    0x58(%rsp),%ecx
     9f1:	b8 06 00 00 00       	mov    $0x6,%eax
     9f6:	41 bd 07 00 00 00    	mov    $0x7,%r13d
     9fc:	eb 0d                	jmp    a0b <cap_to_text+0x9b>
     9fe:	66 90                	xchg   %ax,%ax
     a00:	49 63 d5             	movslq %r13d,%rdx
     a03:	8b 4c 84 40          	mov    0x40(%rsp,%rax,4),%ecx
     a07:	8b 54 94 40          	mov    0x40(%rsp,%rdx,4),%edx
     a0b:	39 ca                	cmp    %ecx,%edx
     a0d:	44 0f 4e e8          	cmovle %eax,%r13d
     a11:	48 83 e8 01          	sub    $0x1,%rax
     a15:	73 e9                	jae    a00 <cap_to_text+0x90>
     a17:	41 f6 c5 02          	test   $0x2,%r13b
     a1b:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # a22 <cap_to_text+0xb2>
     a22:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # a29 <cap_to_text+0xb9>
     a29:	4c 8d 0d 00 00 00 00 	lea    0x0(%rip),%r9        # a30 <cap_to_text+0xc0>
     a30:	48 0f 45 c1          	cmovne %rcx,%rax
     a34:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # a3b <cap_to_text+0xcb>
     a3b:	41 f6 c5 04          	test   $0x4,%r13b
     a3f:	4c 8d 74 24 60       	lea    0x60(%rsp),%r14
     a44:	4c 0f 44 c9          	cmove  %rcx,%r9
     a48:	4c 8d 05 00 00 00 00 	lea    0x0(%rip),%r8        # a4f <cap_to_text+0xdf>
     a4f:	41 f6 c5 01          	test   $0x1,%r13b
     a53:	4c 89 74 24 08       	mov    %r14,0x8(%rsp)
     a58:	4c 0f 44 c1          	cmove  %rcx,%r8
     a5c:	48 83 ec 08          	sub    $0x8,%rsp
     a60:	4c 89 f7             	mov    %r14,%rdi
     a63:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # a6a <cap_to_text+0xfa>
     a6a:	50                   	push   %rax
     a6b:	ba 24 06 00 00       	mov    $0x624,%edx
     a70:	be 01 00 00 00       	mov    $0x1,%esi
     a75:	31 c0                	xor    %eax,%eax
     a77:	e8 00 00 00 00       	call   a7c <cap_to_text+0x10c>
     a7c:	41 5c                	pop    %r12
     a7e:	41 5f                	pop    %r15
     a80:	4c 63 d0             	movslq %eax,%r10
     a83:	4c 89 f0             	mov    %r14,%rax
     a86:	41 bf 07 00 00 00    	mov    $0x7,%r15d
     a8c:	4f 8d 34 16          	lea    (%r14,%r10,1),%r14
     a90:	4c 89 f7             	mov    %r14,%rdi
     a93:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
     a98:	44 89 6c 24 20       	mov    %r13d,0x20(%rsp)
     a9d:	89 6c 24 24          	mov    %ebp,0x24(%rsp)
     aa1:	44 89 7c 24 10       	mov    %r15d,0x10(%rsp)
     aa6:	44 89 7c 24 18       	mov    %r15d,0x18(%rsp)
     aab:	45 89 fc             	mov    %r15d,%r12d
     aae:	44 39 7c 24 20       	cmp    %r15d,0x20(%rsp)
     ab3:	74 0e                	je     ac3 <cap_to_text+0x153>
     ab5:	46 8b 5c bc 40       	mov    0x40(%rsp,%r15,4),%r11d
     aba:	45 85 db             	test   %r11d,%r11d
     abd:	0f 85 bd 01 00 00    	jne    c80 <cap_to_text+0x310>
     ac3:	49 83 ef 01          	sub    $0x1,%r15
     ac7:	73 d8                	jae    aa1 <cap_to_text+0x131>
     ac9:	8b 6c 24 24          	mov    0x24(%rsp),%ebp
     acd:	c5 f9 ef c0          	vpxor  %xmm0,%xmm0,%xmm0
     ad1:	49 89 fe             	mov    %rdi,%r14
     ad4:	c5 f9 7f 44 24 40    	vmovdqa %xmm0,0x40(%rsp)
     ada:	c5 f9 7f 44 24 50    	vmovdqa %xmm0,0x50(%rsp)
     ae0:	83 fd 3f             	cmp    $0x3f,%ebp
     ae3:	0f 87 d6 03 00 00    	ja     ebf <cap_to_text+0x54f>
     ae9:	41 89 e9             	mov    %ebp,%r9d
     aec:	0f 1f 40 00          	nopl   0x0(%rax)
     af0:	44 89 ce             	mov    %r9d,%esi
     af3:	48 89 df             	mov    %rbx,%rdi
     af6:	41 ff c1             	inc    %r9d
     af9:	e8 02 f5 ff ff       	call   0 <getstateflags>
     afe:	48 98                	cltq   
     b00:	ff 44 84 40          	incl   0x40(%rsp,%rax,4)
     b04:	41 83 f9 40          	cmp    $0x40,%r9d
     b08:	75 e6                	jne    af0 <cap_to_text+0x180>
     b0a:	8b 44 24 5c          	mov    0x5c(%rsp),%eax
     b0e:	41 bc 07 00 00 00    	mov    $0x7,%r12d
     b14:	4c 89 f7             	mov    %r14,%rdi
     b17:	89 6c 24 20          	mov    %ebp,0x20(%rsp)
     b1b:	45 89 e7             	mov    %r12d,%r15d
     b1e:	85 c0                	test   %eax,%eax
     b20:	75 23                	jne    b45 <cap_to_text+0x1d5>
     b22:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
     b29:	00 00 00 00 
     b2d:	0f 1f 00             	nopl   (%rax)
     b30:	49 ff cc             	dec    %r12
     b33:	0f 84 65 03 00 00    	je     e9e <cap_to_text+0x52e>
     b39:	42 8b 44 a4 40       	mov    0x40(%rsp,%r12,4),%eax
     b3e:	45 89 e7             	mov    %r12d,%r15d
     b41:	85 c0                	test   %eax,%eax
     b43:	74 eb                	je     b30 <cap_to_text+0x1c0>
     b45:	8b 44 24 20          	mov    0x20(%rsp),%eax
     b49:	4c 8d 6f 01          	lea    0x1(%rdi),%r13
     b4d:	c6 07 20             	movb   $0x20,(%rdi)
     b50:	83 f8 3f             	cmp    $0x3f,%eax
     b53:	0f 87 8b 00 00 00    	ja     be4 <cap_to_text+0x274>
     b59:	89 c5                	mov    %eax,%ebp
     b5b:	eb 0a                	jmp    b67 <cap_to_text+0x1f7>
     b5d:	0f 1f 00             	nopl   (%rax)
     b60:	ff c5                	inc    %ebp
     b62:	83 fd 40             	cmp    $0x40,%ebp
     b65:	74 79                	je     be0 <cap_to_text+0x270>
     b67:	89 ee                	mov    %ebp,%esi
     b69:	48 89 df             	mov    %rbx,%rdi
     b6c:	e8 8f f4 ff ff       	call   0 <getstateflags>
     b71:	44 39 e0             	cmp    %r12d,%eax
     b74:	75 ea                	jne    b60 <cap_to_text+0x1f0>
     b76:	89 ef                	mov    %ebp,%edi
     b78:	e8 00 00 00 00       	call   b7d <cap_to_text+0x20d>
     b7d:	49 89 c6             	mov    %rax,%r14
     b80:	48 85 c0             	test   %rax,%rax
     b83:	0f 84 e7 00 00 00    	je     c70 <cap_to_text+0x300>
     b89:	48 89 c7             	mov    %rax,%rdi
     b8c:	e8 00 00 00 00       	call   b91 <cap_to_text+0x221>
     b91:	49 89 c1             	mov    %rax,%r9
     b94:	4c 89 e8             	mov    %r13,%rax
     b97:	48 2b 44 24 08       	sub    0x8(%rsp),%rax
     b9c:	4c 01 c8             	add    %r9,%rax
     b9f:	48 3d c0 05 00 00    	cmp    $0x5c0,%rax
     ba5:	0f 87 db 02 00 00    	ja     e86 <cap_to_text+0x516>
     bab:	4c 89 ef             	mov    %r13,%rdi
     bae:	4d 89 f0             	mov    %r14,%r8
     bb1:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # bb8 <cap_to_text+0x248>
     bb8:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
     bbf:	be 01 00 00 00       	mov    $0x1,%esi
     bc4:	31 c0                	xor    %eax,%eax
     bc6:	ff c5                	inc    %ebp
     bc8:	e8 00 00 00 00       	call   bcd <cap_to_text+0x25d>
     bcd:	4c 89 f7             	mov    %r14,%rdi
     bd0:	48 98                	cltq   
     bd2:	49 01 c5             	add    %rax,%r13
     bd5:	e8 00 00 00 00       	call   bda <cap_to_text+0x26a>
     bda:	83 fd 40             	cmp    $0x40,%ebp
     bdd:	75 88                	jne    b67 <cap_to_text+0x1f7>
     bdf:	90                   	nop
     be0:	49 8d 7d ff          	lea    -0x1(%r13),%rdi
     be4:	41 f6 c7 02          	test   $0x2,%r15b
     be8:	48 8d 15 00 00 00 00 	lea    0x0(%rip),%rdx        # bef <cap_to_text+0x27f>
     bef:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # bf6 <cap_to_text+0x286>
     bf6:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # bfd <cap_to_text+0x28d>
     bfd:	48 0f 45 c2          	cmovne %rdx,%rax
     c01:	4c 8d 0d 00 00 00 00 	lea    0x0(%rip),%r9        # c08 <cap_to_text+0x298>
     c08:	41 f6 c7 04          	test   $0x4,%r15b
     c0c:	4c 8d 05 00 00 00 00 	lea    0x0(%rip),%r8        # c13 <cap_to_text+0x2a3>
     c13:	4c 0f 44 c9          	cmove  %rcx,%r9
     c17:	41 83 e7 01          	and    $0x1,%r15d
     c1b:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
     c22:	be 01 00 00 00       	mov    $0x1,%esi
     c27:	4c 0f 44 c1          	cmove  %rcx,%r8
     c2b:	48 83 ec 08          	sub    $0x8,%rsp
     c2f:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # c36 <cap_to_text+0x2c6>
     c36:	50                   	push   %rax
     c37:	31 c0                	xor    %eax,%eax
     c39:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
     c3e:	e8 00 00 00 00       	call   c43 <cap_to_text+0x2d3>
     c43:	48 8b 7c 24 20       	mov    0x20(%rsp),%rdi
     c48:	48 98                	cltq   
     c4a:	48 01 c7             	add    %rax,%rdi
     c4d:	48 89 f8             	mov    %rdi,%rax
     c50:	48 2b 44 24 18       	sub    0x18(%rsp),%rax
     c55:	5a                   	pop    %rdx
     c56:	59                   	pop    %rcx
     c57:	48 3d c0 05 00 00    	cmp    $0x5c0,%rax
     c5d:	0f 8e cd fe ff ff    	jle    b30 <cap_to_text+0x1c0>
     c63:	e8 00 00 00 00       	call   c68 <cap_to_text+0x2f8>
     c68:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
     c6e:	66 90                	xchg   %ax,%ax
     c70:	31 c0                	xor    %eax,%eax
     c72:	e9 d6 01 00 00       	jmp    e4d <cap_to_text+0x4dd>
     c77:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
     c7e:	00 00 
     c80:	44 8b 74 24 24       	mov    0x24(%rsp),%r14d
     c85:	4c 8d 6f 01          	lea    0x1(%rdi),%r13
     c89:	c6 07 20             	movb   $0x20,(%rdi)
     c8c:	45 85 f6             	test   %r14d,%r14d
     c8f:	0f 84 94 00 00 00    	je     d29 <cap_to_text+0x3b9>
     c95:	31 ed                	xor    %ebp,%ebp
     c97:	4c 89 7c 24 28       	mov    %r15,0x28(%rsp)
     c9c:	eb 09                	jmp    ca7 <cap_to_text+0x337>
     c9e:	66 90                	xchg   %ax,%ax
     ca0:	ff c5                	inc    %ebp
     ca2:	44 39 f5             	cmp    %r14d,%ebp
     ca5:	74 79                	je     d20 <cap_to_text+0x3b0>
     ca7:	89 ee                	mov    %ebp,%esi
     ca9:	48 89 df             	mov    %rbx,%rdi
     cac:	e8 4f f3 ff ff       	call   0 <getstateflags>
     cb1:	44 39 e0             	cmp    %r12d,%eax
     cb4:	75 ea                	jne    ca0 <cap_to_text+0x330>
     cb6:	89 ef                	mov    %ebp,%edi
     cb8:	e8 00 00 00 00       	call   cbd <cap_to_text+0x34d>
     cbd:	49 89 c7             	mov    %rax,%r15
     cc0:	48 85 c0             	test   %rax,%rax
     cc3:	74 ab                	je     c70 <cap_to_text+0x300>
     cc5:	48 89 c7             	mov    %rax,%rdi
     cc8:	e8 00 00 00 00       	call   ccd <cap_to_text+0x35d>
     ccd:	49 89 c2             	mov    %rax,%r10
     cd0:	4c 89 e8             	mov    %r13,%rax
     cd3:	48 2b 44 24 08       	sub    0x8(%rsp),%rax
     cd8:	4c 01 d0             	add    %r10,%rax
     cdb:	48 3d c0 05 00 00    	cmp    $0x5c0,%rax
     ce1:	0f 87 9c 01 00 00    	ja     e83 <cap_to_text+0x513>
     ce7:	4c 89 ef             	mov    %r13,%rdi
     cea:	4d 89 f8             	mov    %r15,%r8
     ced:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # cf4 <cap_to_text+0x384>
     cf4:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
     cfb:	be 01 00 00 00       	mov    $0x1,%esi
     d00:	31 c0                	xor    %eax,%eax
     d02:	ff c5                	inc    %ebp
     d04:	e8 00 00 00 00       	call   d09 <cap_to_text+0x399>
     d09:	4c 89 ff             	mov    %r15,%rdi
     d0c:	48 98                	cltq   
     d0e:	49 01 c5             	add    %rax,%r13
     d11:	e8 00 00 00 00       	call   d16 <cap_to_text+0x3a6>
     d16:	44 39 f5             	cmp    %r14d,%ebp
     d19:	75 8c                	jne    ca7 <cap_to_text+0x337>
     d1b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
     d20:	4c 8b 7c 24 28       	mov    0x28(%rsp),%r15
     d25:	49 8d 7d ff          	lea    -0x1(%r13),%rdi
     d29:	8b 44 24 20          	mov    0x20(%rsp),%eax
     d2d:	c4 e2 78 f2 44 24 18 	andn   0x18(%rsp),%eax,%eax
     d34:	85 c0                	test   %eax,%eax
     d36:	74 78                	je     db0 <cap_to_text+0x440>
     d38:	48 8b 54 24 38       	mov    0x38(%rsp),%rdx
     d3d:	41 b8 2b 00 00 00    	mov    $0x2b,%r8d
     d43:	80 3a 3d             	cmpb   $0x3d,(%rdx)
     d46:	0f 84 13 01 00 00    	je     e5f <cap_to_text+0x4ef>
     d4c:	a8 02                	test   $0x2,%al
     d4e:	48 8d 15 00 00 00 00 	lea    0x0(%rip),%rdx        # d55 <cap_to_text+0x3e5>
     d55:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # d5c <cap_to_text+0x3ec>
     d5c:	48 8d 35 00 00 00 00 	lea    0x0(%rip),%rsi        # d63 <cap_to_text+0x3f3>
     d63:	48 0f 45 ca          	cmovne %rdx,%rcx
     d67:	a8 04                	test   $0x4,%al
     d69:	48 8d 15 00 00 00 00 	lea    0x0(%rip),%rdx        # d70 <cap_to_text+0x400>
     d70:	4c 8d 0d 00 00 00 00 	lea    0x0(%rip),%r9        # d77 <cap_to_text+0x407>
     d77:	48 0f 44 d6          	cmove  %rsi,%rdx
     d7b:	a8 01                	test   $0x1,%al
     d7d:	51                   	push   %rcx
     d7e:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # d85 <cap_to_text+0x415>
     d85:	52                   	push   %rdx
     d86:	4c 0f 44 ce          	cmove  %rsi,%r9
     d8a:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
     d91:	be 01 00 00 00       	mov    $0x1,%esi
     d96:	31 c0                	xor    %eax,%eax
     d98:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
     d9d:	e8 00 00 00 00       	call   da2 <cap_to_text+0x432>
     da2:	48 8b 7c 24 28       	mov    0x28(%rsp),%rdi
     da7:	41 59                	pop    %r9
     da9:	48 98                	cltq   
     dab:	41 5a                	pop    %r10
     dad:	48 01 c7             	add    %rax,%rdi
     db0:	8b 44 24 10          	mov    0x10(%rsp),%eax
     db4:	c4 e2 78 f2 44 24 20 	andn   0x20(%rsp),%eax,%eax
     dbb:	85 c0                	test   %eax,%eax
     dbd:	74 66                	je     e25 <cap_to_text+0x4b5>
     dbf:	a8 02                	test   $0x2,%al
     dc1:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # dc8 <cap_to_text+0x458>
     dc8:	48 8d 15 00 00 00 00 	lea    0x0(%rip),%rdx        # dcf <cap_to_text+0x45f>
     dcf:	4c 8d 0d 00 00 00 00 	lea    0x0(%rip),%r9        # dd6 <cap_to_text+0x466>
     dd6:	48 0f 45 d1          	cmovne %rcx,%rdx
     dda:	a8 04                	test   $0x4,%al
     ddc:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # de3 <cap_to_text+0x473>
     de3:	4c 8d 05 00 00 00 00 	lea    0x0(%rip),%r8        # dea <cap_to_text+0x47a>
     dea:	4c 0f 44 c9          	cmove  %rcx,%r9
     dee:	a8 01                	test   $0x1,%al
     df0:	be 01 00 00 00       	mov    $0x1,%esi
     df5:	4c 0f 44 c1          	cmove  %rcx,%r8
     df9:	48 83 ec 08          	sub    $0x8,%rsp
     dfd:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # e04 <cap_to_text+0x494>
     e04:	31 c0                	xor    %eax,%eax
     e06:	52                   	push   %rdx
     e07:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
     e0e:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
     e13:	e8 00 00 00 00       	call   e18 <cap_to_text+0x4a8>
     e18:	48 8b 7c 24 20       	mov    0x20(%rsp),%rdi
     e1d:	5e                   	pop    %rsi
     e1e:	48 98                	cltq   
     e20:	41 58                	pop    %r8
     e22:	48 01 c7             	add    %rax,%rdi
     e25:	48 89 f8             	mov    %rdi,%rax
     e28:	48 2b 44 24 08       	sub    0x8(%rsp),%rax
     e2d:	48 3d c0 05 00 00    	cmp    $0x5c0,%rax
     e33:	0f 8e 8a fc ff ff    	jle    ac3 <cap_to_text+0x153>
     e39:	e9 25 fe ff ff       	jmp    c63 <cap_to_text+0x2f3>
     e3e:	66 90                	xchg   %ax,%ax
     e40:	e8 00 00 00 00       	call   e45 <cap_to_text+0x4d5>
     e45:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
     e4b:	31 c0                	xor    %eax,%eax
     e4d:	48 81 c4 98 06 00 00 	add    $0x698,%rsp
     e54:	5b                   	pop    %rbx
     e55:	5d                   	pop    %rbp
     e56:	41 5c                	pop    %r12
     e58:	41 5d                	pop    %r13
     e5a:	41 5e                	pop    %r14
     e5c:	41 5f                	pop    %r15
     e5e:	c3                   	ret    
     e5f:	80 7a 01 20          	cmpb   $0x20,0x1(%rdx)
     e63:	0f 85 e3 fe ff ff    	jne    d4c <cap_to_text+0x3dc>
     e69:	48 83 44 24 38 02    	addq   $0x2,0x38(%rsp)
     e6f:	41 b8 3d 00 00 00    	mov    $0x3d,%r8d
     e75:	e9 d2 fe ff ff       	jmp    d4c <cap_to_text+0x3dc>
     e7a:	31 c9                	xor    %ecx,%ecx
     e7c:	31 d2                	xor    %edx,%edx
     e7e:	e9 6e fb ff ff       	jmp    9f1 <cap_to_text+0x81>
     e83:	4d 89 fe             	mov    %r15,%r14
     e86:	4c 89 f7             	mov    %r14,%rdi
     e89:	e8 00 00 00 00       	call   e8e <cap_to_text+0x51e>
     e8e:	e8 00 00 00 00       	call   e93 <cap_to_text+0x523>
     e93:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
     e99:	e9 d2 fd ff ff       	jmp    c70 <cap_to_text+0x300>
     e9e:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
     ea3:	48 85 c0             	test   %rax,%rax
     ea6:	74 0b                	je     eb3 <cap_to_text+0x543>
     ea8:	49 89 fa             	mov    %rdi,%r10
     eab:	4c 2b 54 24 38       	sub    0x38(%rsp),%r10
     eb0:	4c 89 10             	mov    %r10,(%rax)
     eb3:	48 8b 7c 24 38       	mov    0x38(%rsp),%rdi
     eb8:	e8 00 00 00 00       	call   ebd <cap_to_text+0x54d>
     ebd:	eb 8e                	jmp    e4d <cap_to_text+0x4dd>
     ebf:	31 c0                	xor    %eax,%eax
     ec1:	e9 48 fc ff ff       	jmp    b0e <cap_to_text+0x19e>
     ec6:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
     ecd:	00 00 00 

0000000000000ed0 <cap_mode_name>:
     ed0:	83 ff 04             	cmp    $0x4,%edi
     ed3:	77 63                	ja     f38 <cap_mode_name+0x68>
     ed5:	48 8d 15 00 00 00 00 	lea    0x0(%rip),%rdx        # edc <cap_mode_name+0xc>
     edc:	89 ff                	mov    %edi,%edi
     ede:	48 63 04 ba          	movslq (%rdx,%rdi,4),%rax
     ee2:	48 01 d0             	add    %rdx,%rax
     ee5:	ff e0                	jmp    *%rax
     ee7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
     eee:	00 00 
     ef0:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # ef7 <cap_mode_name+0x27>
     ef7:	c3                   	ret    
     ef8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
     eff:	00 
     f00:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # f07 <cap_mode_name+0x37>
     f07:	c3                   	ret    
     f08:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
     f0f:	00 
     f10:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # f17 <cap_mode_name+0x47>
     f17:	c3                   	ret    
     f18:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
     f1f:	00 
     f20:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # f27 <cap_mode_name+0x57>
     f27:	c3                   	ret    
     f28:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
     f2f:	00 
     f30:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # f37 <cap_mode_name+0x67>
     f37:	c3                   	ret    
     f38:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # f3f <cap_mode_name+0x6f>
     f3f:	c3                   	ret    

0000000000000f40 <cap_iab_to_text>:
     f40:	41 57                	push   %r15
     f42:	41 56                	push   %r14
     f44:	41 55                	push   %r13
     f46:	41 54                	push   %r12
     f48:	55                   	push   %rbp
     f49:	53                   	push   %rbx
     f4a:	48 89 fd             	mov    %rdi,%rbp
     f4d:	48 81 ec 38 06 00 00 	sub    $0x638,%rsp
     f54:	49 89 e7             	mov    %rsp,%r15
     f57:	e8 00 00 00 00       	call   f5c <cap_iab_to_text+0x1c>
     f5c:	4c 89 fa             	mov    %r15,%rdx
     f5f:	48 85 ed             	test   %rbp,%rbp
     f62:	74 11                	je     f75 <cap_iab_to_text+0x35>
     f64:	81 7d f8 ab 91 ca 00 	cmpl   $0xca91ab,-0x8(%rbp)
     f6b:	4c 63 e0             	movslq %eax,%r12
     f6e:	bb 01 00 00 00       	mov    $0x1,%ebx
     f73:	74 30                	je     fa5 <cap_iab_to_text+0x65>
     f75:	4c 89 ff             	mov    %r15,%rdi
     f78:	c6 02 00             	movb   $0x0,(%rdx)
     f7b:	e8 00 00 00 00       	call   f80 <cap_iab_to_text+0x40>
     f80:	48 81 c4 38 06 00 00 	add    $0x638,%rsp
     f87:	5b                   	pop    %rbx
     f88:	5d                   	pop    %rbp
     f89:	41 5c                	pop    %r12
     f8b:	41 5d                	pop    %r13
     f8d:	41 5e                	pop    %r14
     f8f:	41 5f                	pop    %r15
     f91:	c3                   	ret    
     f92:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
     f99:	00 00 00 00 
     f9d:	0f 1f 00             	nopl   (%rax)
     fa0:	e8 00 00 00 00       	call   fa5 <cap_iab_to_text+0x65>
     fa5:	89 da                	mov    %ebx,%edx
     fa7:	86 55 00             	xchg   %dl,0x0(%rbp)
     faa:	84 d2                	test   %dl,%dl
     fac:	75 f2                	jne    fa0 <cap_iab_to_text+0x60>
     fae:	45 85 e4             	test   %r12d,%r12d
     fb1:	0f 8e 19 01 00 00    	jle    10d0 <cap_iab_to_text+0x190>
     fb7:	49 89 e7             	mov    %rsp,%r15
     fba:	31 db                	xor    %ebx,%ebx
     fbc:	41 ba 01 00 00 00    	mov    $0x1,%r10d
     fc2:	41 bd 01 00 00 00    	mov    $0x1,%r13d
     fc8:	4c 89 fa             	mov    %r15,%rdx
     fcb:	eb 6b                	jmp    1038 <cap_iab_to_text+0xf8>
     fcd:	0f 1f 00             	nopl   (%rax)
     fd0:	48 8d 4a 01          	lea    0x1(%rdx),%rcx
     fd4:	c6 02 21             	movb   $0x21,(%rdx)
     fd7:	85 c0                	test   %eax,%eax
     fd9:	0f 85 a1 00 00 00    	jne    1080 <cap_iab_to_text+0x140>
     fdf:	45 85 db             	test   %r11d,%r11d
     fe2:	0f 84 02 01 00 00    	je     10ea <cap_iab_to_text+0x1aa>
     fe8:	4c 8d 72 02          	lea    0x2(%rdx),%r14
     fec:	c6 42 01 25          	movb   $0x25,0x1(%rdx)
     ff0:	48 83 fb 28          	cmp    $0x28,%rbx
     ff4:	0f 86 97 00 00 00    	jbe    1091 <cap_iab_to_text+0x151>
     ffa:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
    1000:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # 1007 <cap_iab_to_text+0xc7>
    1007:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
    100e:	be 01 00 00 00       	mov    $0x1,%esi
    1013:	4c 89 f7             	mov    %r14,%rdi
    1016:	31 c0                	xor    %eax,%eax
    1018:	e8 00 00 00 00       	call   101d <cap_iab_to_text+0xdd>
    101d:	4c 89 f7             	mov    %r14,%rdi
    1020:	e8 00 00 00 00       	call   1025 <cap_iab_to_text+0xe5>
    1025:	45 31 d2             	xor    %r10d,%r10d
    1028:	49 8d 14 06          	lea    (%r14,%rax,1),%rdx
    102c:	48 ff c3             	inc    %rbx
    102f:	49 39 dc             	cmp    %rbx,%r12
    1032:	0f 84 a8 00 00 00    	je     10e0 <cap_iab_to_text+0x1a0>
    1038:	89 d8                	mov    %ebx,%eax
    103a:	c4 c2 61 f7 cd       	shlx   %ebx,%r13d,%ecx
    103f:	41 89 d8             	mov    %ebx,%r8d
    1042:	c1 f8 05             	sar    $0x5,%eax
    1045:	48 98                	cltq   
    1047:	48 8d 74 85 00       	lea    0x0(%rbp,%rax,4),%rsi
    104c:	44 8b 5e 04          	mov    0x4(%rsi),%r11d
    1050:	8b 46 0c             	mov    0xc(%rsi),%eax
    1053:	8b 7e 14             	mov    0x14(%rsi),%edi
    1056:	44 89 de             	mov    %r11d,%esi
    1059:	09 c6                	or     %eax,%esi
    105b:	09 fe                	or     %edi,%esi
    105d:	85 ce                	test   %ecx,%esi
    105f:	74 cb                	je     102c <cap_iab_to_text+0xec>
    1061:	45 85 d2             	test   %r10d,%r10d
    1064:	75 06                	jne    106c <cap_iab_to_text+0x12c>
    1066:	c6 02 2c             	movb   $0x2c,(%rdx)
    1069:	48 ff c2             	inc    %rdx
    106c:	41 21 cb             	and    %ecx,%r11d
    106f:	21 c8                	and    %ecx,%eax
    1071:	85 cf                	test   %ecx,%edi
    1073:	0f 85 57 ff ff ff    	jne    fd0 <cap_iab_to_text+0x90>
    1079:	85 c0                	test   %eax,%eax
    107b:	74 33                	je     10b0 <cap_iab_to_text+0x170>
    107d:	48 89 d1             	mov    %rdx,%rcx
    1080:	4c 8d 71 01          	lea    0x1(%rcx),%r14
    1084:	c6 01 5e             	movb   $0x5e,(%rcx)
    1087:	48 83 fb 28          	cmp    $0x28,%rbx
    108b:	0f 87 6f ff ff ff    	ja     1000 <cap_iab_to_text+0xc0>
    1091:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # 1098 <cap_iab_to_text+0x158>
    1098:	4c 89 f7             	mov    %r14,%rdi
    109b:	48 8b 34 d8          	mov    (%rax,%rbx,8),%rsi
    109f:	e8 00 00 00 00       	call   10a4 <cap_iab_to_text+0x164>
    10a4:	e9 74 ff ff ff       	jmp    101d <cap_iab_to_text+0xdd>
    10a9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
    10b0:	45 85 db             	test   %r11d,%r11d
    10b3:	0f 84 73 ff ff ff    	je     102c <cap_iab_to_text+0xec>
    10b9:	49 89 d6             	mov    %rdx,%r14
    10bc:	e9 2f ff ff ff       	jmp    ff0 <cap_iab_to_text+0xb0>
    10c1:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
    10c8:	00 00 00 00 
    10cc:	0f 1f 40 00          	nopl   0x0(%rax)
    10d0:	49 89 e7             	mov    %rsp,%r15
    10d3:	4c 89 fa             	mov    %r15,%rdx
    10d6:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
    10dd:	00 00 00 
    10e0:	31 c0                	xor    %eax,%eax
    10e2:	86 45 00             	xchg   %al,0x0(%rbp)
    10e5:	e9 8b fe ff ff       	jmp    f75 <cap_iab_to_text+0x35>
    10ea:	49 89 ce             	mov    %rcx,%r14
    10ed:	e9 fe fe ff ff       	jmp    ff0 <cap_iab_to_text+0xb0>
    10f2:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
    10f9:	00 00 00 00 
    10fd:	0f 1f 00             	nopl   (%rax)

0000000000001100 <cap_iab_from_text>:
    1100:	41 54                	push   %r12
    1102:	55                   	push   %rbp
    1103:	53                   	push   %rbx
    1104:	48 83 ec 10          	sub    $0x10,%rsp
    1108:	48 89 7c 24 08       	mov    %rdi,0x8(%rsp)
    110d:	e8 00 00 00 00       	call   1112 <cap_iab_from_text+0x12>
    1112:	49 89 c4             	mov    %rax,%r12
    1115:	48 85 c0             	test   %rax,%rax
    1118:	0f 84 38 01 00 00    	je     1256 <cap_iab_from_text+0x156>
    111e:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
    1123:	48 85 c0             	test   %rax,%rax
    1126:	0f 84 2a 01 00 00    	je     1256 <cap_iab_from_text+0x156>
    112c:	0f b6 00             	movzbl (%rax),%eax
    112f:	84 c0                	test   %al,%al
    1131:	0f 84 1f 01 00 00    	je     1256 <cap_iab_from_text+0x156>
    1137:	31 db                	xor    %ebx,%ebx
    1139:	48 8d 6c 24 08       	lea    0x8(%rsp),%rbp
    113e:	e9 94 00 00 00       	jmp    11d7 <cap_iab_from_text+0xd7>
    1143:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
    114a:	00 00 00 00 
    114e:	66 90                	xchg   %ax,%ax
    1150:	3c 21                	cmp    $0x21,%al
    1152:	0f 84 98 00 00 00    	je     11f0 <cap_iab_from_text+0xf0>
    1158:	48 89 ef             	mov    %rbp,%rdi
    115b:	85 db                	test   %ebx,%ebx
    115d:	0f 84 ad 00 00 00    	je     1210 <cap_iab_from_text+0x110>
    1163:	e8 18 f1 ff ff       	call   280 <lookupname>
    1168:	83 f8 ff             	cmp    $0xffffffff,%eax
    116b:	0f 84 cf 00 00 00    	je     1240 <cap_iab_from_text+0x140>
    1171:	b9 01 00 00 00       	mov    $0x1,%ecx
    1176:	89 c2                	mov    %eax,%edx
    1178:	89 de                	mov    %ebx,%esi
    117a:	c4 e2 79 f7 c1       	shlx   %eax,%ecx,%eax
    117f:	89 d9                	mov    %ebx,%ecx
    1181:	c1 fa 05             	sar    $0x5,%edx
    1184:	83 e6 10             	and    $0x10,%esi
    1187:	83 e1 08             	and    $0x8,%ecx
    118a:	83 e3 04             	and    $0x4,%ebx
    118d:	0f 85 cf 00 00 00    	jne    1262 <cap_iab_from_text+0x162>
    1193:	85 c9                	test   %ecx,%ecx
    1195:	74 07                	je     119e <cap_iab_from_text+0x9e>
    1197:	89 d1                	mov    %edx,%ecx
    1199:	41 09 44 8c 0c       	or     %eax,0xc(%r12,%rcx,4)
    119e:	85 f6                	test   %esi,%esi
    11a0:	74 05                	je     11a7 <cap_iab_from_text+0xa7>
    11a2:	41 09 44 94 14       	or     %eax,0x14(%r12,%rdx,4)
    11a7:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
    11ac:	0f b6 10             	movzbl (%rax),%edx
    11af:	84 d2                	test   %dl,%dl
    11b1:	0f 84 9f 00 00 00    	je     1256 <cap_iab_from_text+0x156>
    11b7:	80 fa 2c             	cmp    $0x2c,%dl
    11ba:	0f 85 80 00 00 00    	jne    1240 <cap_iab_from_text+0x140>
    11c0:	31 db                	xor    %ebx,%ebx
    11c2:	48 8d 50 01          	lea    0x1(%rax),%rdx
    11c6:	48 89 54 24 08       	mov    %rdx,0x8(%rsp)
    11cb:	0f b6 40 01          	movzbl 0x1(%rax),%eax
    11cf:	84 c0                	test   %al,%al
    11d1:	0f 84 7f 00 00 00    	je     1256 <cap_iab_from_text+0x156>
    11d7:	3c 25                	cmp    $0x25,%al
    11d9:	74 25                	je     1200 <cap_iab_from_text+0x100>
    11db:	3c 5e                	cmp    $0x5e,%al
    11dd:	0f 85 6d ff ff ff    	jne    1150 <cap_iab_from_text+0x50>
    11e3:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
    11e8:	83 cb 0c             	or     $0xc,%ebx
    11eb:	eb d5                	jmp    11c2 <cap_iab_from_text+0xc2>
    11ed:	0f 1f 00             	nopl   (%rax)
    11f0:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
    11f5:	83 cb 10             	or     $0x10,%ebx
    11f8:	eb c8                	jmp    11c2 <cap_iab_from_text+0xc2>
    11fa:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
    1200:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
    1205:	83 cb 04             	or     $0x4,%ebx
    1208:	eb b8                	jmp    11c2 <cap_iab_from_text+0xc2>
    120a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
    1210:	e8 6b f0 ff ff       	call   280 <lookupname>
    1215:	83 f8 ff             	cmp    $0xffffffff,%eax
    1218:	74 26                	je     1240 <cap_iab_from_text+0x140>
    121a:	89 c1                	mov    %eax,%ecx
    121c:	ba 01 00 00 00       	mov    $0x1,%edx
    1221:	c1 f9 05             	sar    $0x5,%ecx
    1224:	c4 e2 79 f7 c2       	shlx   %eax,%edx,%eax
    1229:	41 09 44 8c 04       	or     %eax,0x4(%r12,%rcx,4)
    122e:	e9 74 ff ff ff       	jmp    11a7 <cap_iab_from_text+0xa7>
    1233:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
    123a:	00 00 00 00 
    123e:	66 90                	xchg   %ax,%ax
    1240:	4c 89 e7             	mov    %r12,%rdi
    1243:	45 31 e4             	xor    %r12d,%r12d
    1246:	e8 00 00 00 00       	call   124b <cap_iab_from_text+0x14b>
    124b:	e8 00 00 00 00       	call   1250 <cap_iab_from_text+0x150>
    1250:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
    1256:	48 83 c4 10          	add    $0x10,%rsp
    125a:	4c 89 e0             	mov    %r12,%rax
    125d:	5b                   	pop    %rbx
    125e:	5d                   	pop    %rbp
    125f:	41 5c                	pop    %r12
    1261:	c3                   	ret    
    1262:	89 d7                	mov    %edx,%edi
    1264:	41 09 44 bc 04       	or     %eax,0x4(%r12,%rdi,4)
    1269:	e9 25 ff ff ff       	jmp    1193 <cap_iab_from_text+0x93>
    126e:	66 90                	xchg   %ax,%ax

0000000000001270 <cap_proc_root>:
    1270:	41 54                	push   %r12
    1272:	4c 8b 25 00 00 00 00 	mov    0x0(%rip),%r12        # 1279 <cap_proc_root+0x9>
    1279:	48 85 ff             	test   %rdi,%rdi
    127c:	74 0c                	je     128a <cap_proc_root+0x1a>
    127e:	e8 00 00 00 00       	call   1283 <cap_proc_root+0x13>
    1283:	48 89 05 00 00 00 00 	mov    %rax,0x0(%rip)        # 128a <cap_proc_root+0x1a>
    128a:	4c 89 e0             	mov    %r12,%rax
    128d:	41 5c                	pop    %r12
    128f:	c3                   	ret    

0000000000001290 <cap_iab_get_pid>:
    1290:	41 56                	push   %r14
    1292:	41 55                	push   %r13
    1294:	41 54                	push   %r12
    1296:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # 129d <cap_iab_get_pid+0xd>
    129d:	55                   	push   %rbp
    129e:	53                   	push   %rbx
    129f:	41 89 f8             	mov    %edi,%r8d
    12a2:	48 8d 15 00 00 00 00 	lea    0x0(%rip),%rdx        # 12a9 <cap_iab_get_pid+0x19>
    12a9:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
    12b0:	48 8b 0d 00 00 00 00 	mov    0x0(%rip),%rcx        # 12b7 <cap_iab_get_pid+0x27>
    12b7:	be 01 00 00 00       	mov    $0x1,%esi
    12bc:	48 8d 7c 24 08       	lea    0x8(%rsp),%rdi
    12c1:	48 85 c9             	test   %rcx,%rcx
    12c4:	48 0f 44 c8          	cmove  %rax,%rcx
    12c8:	31 c0                	xor    %eax,%eax
    12ca:	e8 00 00 00 00       	call   12cf <cap_iab_get_pid+0x3f>
    12cf:	85 c0                	test   %eax,%eax
    12d1:	0f 8e 29 01 00 00    	jle    1400 <cap_iab_get_pid+0x170>
    12d7:	48 8b 7c 24 08       	mov    0x8(%rsp),%rdi
    12dc:	48 8d 35 00 00 00 00 	lea    0x0(%rip),%rsi        # 12e3 <cap_iab_get_pid+0x53>
    12e3:	e8 00 00 00 00       	call   12e8 <cap_iab_get_pid+0x58>
    12e8:	48 8b 7c 24 08       	mov    0x8(%rsp),%rdi
    12ed:	49 89 c4             	mov    %rax,%r12
    12f0:	e8 00 00 00 00       	call   12f5 <cap_iab_get_pid+0x65>
    12f5:	4d 85 e4             	test   %r12,%r12
    12f8:	0f 84 02 01 00 00    	je     1400 <cap_iab_get_pid+0x170>
    12fe:	e8 00 00 00 00       	call   1303 <cap_iab_get_pid+0x73>
    1303:	45 31 f6             	xor    %r14d,%r14d
    1306:	48 8d 5c 24 10       	lea    0x10(%rsp),%rbx
    130b:	48 8d 6c 24 13       	lea    0x13(%rsp),%rbp
    1310:	49 89 c5             	mov    %rax,%r13
    1313:	48 85 c0             	test   %rax,%rax
    1316:	0f 84 ba 00 00 00    	je     13d6 <cap_iab_get_pid+0x146>
    131c:	0f 1f 40 00          	nopl   0x0(%rax)
    1320:	4c 89 e2             	mov    %r12,%rdx
    1323:	be 7b 00 00 00       	mov    $0x7b,%esi
    1328:	48 89 df             	mov    %rbx,%rdi
    132b:	e8 00 00 00 00       	call   1330 <cap_iab_get_pid+0xa0>
    1330:	48 85 c0             	test   %rax,%rax
    1333:	0f 84 97 00 00 00    	je     13d0 <cap_iab_get_pid+0x140>
    1339:	66 81 3b 43 61       	cmpw   $0x6143,(%rbx)
    133e:	75 e0                	jne    1320 <cap_iab_get_pid+0x90>
    1340:	80 7b 02 70          	cmpb   $0x70,0x2(%rbx)
    1344:	75 da                	jne    1320 <cap_iab_get_pid+0x90>
    1346:	81 7d 00 49 6e 68 3a 	cmpl   $0x3a686e49,0x0(%rbp)
    134d:	74 31                	je     1380 <cap_iab_get_pid+0xf0>
    134f:	81 7d 00 42 6e 64 3a 	cmpl   $0x3a646e42,0x0(%rbp)
    1356:	74 48                	je     13a0 <cap_iab_get_pid+0x110>
    1358:	81 7d 00 41 6d 62 3a 	cmpl   $0x3a626d41,0x0(%rbp)
    135f:	75 bf                	jne    1320 <cap_iab_get_pid+0x90>
    1361:	80 7d 04 09          	cmpb   $0x9,0x4(%rbp)
    1365:	75 b9                	jne    1320 <cap_iab_get_pid+0x90>
    1367:	48 8d 74 24 18       	lea    0x18(%rsp),%rsi
    136c:	49 8d 7d 0c          	lea    0xc(%r13),%rdi
    1370:	31 d2                	xor    %edx,%edx
    1372:	e8 d9 ec ff ff       	call   50 <_parse_vec_string>
    1377:	83 e0 08             	and    $0x8,%eax
    137a:	41 09 c6             	or     %eax,%r14d
    137d:	eb a1                	jmp    1320 <cap_iab_get_pid+0x90>
    137f:	90                   	nop
    1380:	80 7d 04 09          	cmpb   $0x9,0x4(%rbp)
    1384:	75 c9                	jne    134f <cap_iab_get_pid+0xbf>
    1386:	48 8d 74 24 18       	lea    0x18(%rsp),%rsi
    138b:	49 8d 7d 04          	lea    0x4(%r13),%rdi
    138f:	31 d2                	xor    %edx,%edx
    1391:	e8 ba ec ff ff       	call   50 <_parse_vec_string>
    1396:	83 e0 04             	and    $0x4,%eax
    1399:	41 09 c6             	or     %eax,%r14d
    139c:	eb 82                	jmp    1320 <cap_iab_get_pid+0x90>
    139e:	66 90                	xchg   %ax,%ax
    13a0:	80 7d 04 09          	cmpb   $0x9,0x4(%rbp)
    13a4:	75 b2                	jne    1358 <cap_iab_get_pid+0xc8>
    13a6:	48 8d 74 24 18       	lea    0x18(%rsp),%rsi
    13ab:	49 8d 7d 14          	lea    0x14(%r13),%rdi
    13af:	ba 01 00 00 00       	mov    $0x1,%edx
    13b4:	e8 97 ec ff ff       	call   50 <_parse_vec_string>
    13b9:	83 e0 10             	and    $0x10,%eax
    13bc:	41 09 c6             	or     %eax,%r14d
    13bf:	e9 5c ff ff ff       	jmp    1320 <cap_iab_get_pid+0x90>
    13c4:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
    13cb:	00 00 00 00 
    13cf:	90                   	nop
    13d0:	41 83 fe 1c          	cmp    $0x1c,%r14d
    13d4:	74 0b                	je     13e1 <cap_iab_get_pid+0x151>
    13d6:	4c 89 ef             	mov    %r13,%rdi
    13d9:	45 31 ed             	xor    %r13d,%r13d
    13dc:	e8 00 00 00 00       	call   13e1 <cap_iab_get_pid+0x151>
    13e1:	4c 89 e7             	mov    %r12,%rdi
    13e4:	e8 00 00 00 00       	call   13e9 <cap_iab_get_pid+0x159>
    13e9:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
    13f0:	4c 89 e8             	mov    %r13,%rax
    13f3:	5b                   	pop    %rbx
    13f4:	5d                   	pop    %rbp
    13f5:	41 5c                	pop    %r12
    13f7:	41 5d                	pop    %r13
    13f9:	41 5e                	pop    %r14
    13fb:	c3                   	ret    
    13fc:	0f 1f 40 00          	nopl   0x0(%rax)
    1400:	45 31 ed             	xor    %r13d,%r13d
    1403:	eb e4                	jmp    13e9 <cap_iab_get_pid+0x159>

Disassembly of section .text.exit:

0000000000000000 <_cleanup_libcap>:
   0:	48 8b 3d 00 00 00 00 	mov    0x0(%rip),%rdi        # 7 <_cleanup_libcap+0x7>
   7:	48 85 ff             	test   %rdi,%rdi
   a:	74 19                	je     25 <_cleanup_libcap+0x25>
   c:	48 83 ec 08          	sub    $0x8,%rsp
  10:	e8 00 00 00 00       	call   15 <_cleanup_libcap+0x15>
  15:	48 c7 05 00 00 00 00 	movq   $0x0,0x0(%rip)        # 20 <_cleanup_libcap+0x20>
  1c:	00 00 00 00 
  20:	48 83 c4 08          	add    $0x8,%rsp
  24:	c3                   	ret    
  25:	c3                   	ret    

[-- Attachment #3: cap_text-BAD --]
[-- Type: application/octet-stream, Size: 76713 bytes --]


cap_text.o:     file format elf64-x86-64


Disassembly of section .text:

0000000000000000 <getstateflags>:
       0:	89 f2                	mov    %esi,%edx
       2:	b8 01 00 00 00       	mov    $0x1,%eax
       7:	c1 fa 05             	sar    $0x5,%edx
       a:	c4 e2 49 f7 f0       	shlx   %esi,%eax,%esi
       f:	48 63 c2             	movslq %edx,%rax
      12:	48 8d 14 40          	lea    (%rax,%rax,2),%rdx
      16:	89 f0                	mov    %esi,%eax
      18:	23 44 97 0c          	and    0xc(%rdi,%rdx,4),%eax
      1c:	44 8b 44 97 10       	mov    0x10(%rdi,%rdx,4),%r8d
      21:	0f 95 c0             	setne  %al
      24:	41 21 f0             	and    %esi,%r8d
      27:	0f b6 c0             	movzbl %al,%eax
      2a:	89 c1                	mov    %eax,%ecx
      2c:	83 c9 02             	or     $0x2,%ecx
      2f:	45 85 c0             	test   %r8d,%r8d
      32:	0f 45 c1             	cmovne %ecx,%eax
      35:	23 74 97 14          	and    0x14(%rdi,%rdx,4),%esi
      39:	89 c2                	mov    %eax,%edx
      3b:	83 ca 04             	or     $0x4,%edx
      3e:	85 f6                	test   %esi,%esi
      40:	0f 45 c2             	cmovne %edx,%eax
      43:	c3                   	ret    
      44:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
      4b:	00 00 00 00 
      4f:	90                   	nop

0000000000000050 <_parse_vec_string>:
      50:	41 56                	push   %r14
      52:	41 55                	push   %r13
      54:	41 54                	push   %r12
      56:	49 89 f4             	mov    %rsi,%r12
      59:	55                   	push   %rbp
      5a:	48 89 fd             	mov    %rdi,%rbp
      5d:	53                   	push   %rbx
      5e:	48 89 f7             	mov    %rsi,%rdi
      61:	89 d3                	mov    %edx,%ebx
      63:	e8 00 00 00 00       	call   68 <_parse_vec_string+0x18>
      68:	48 c1 e8 03          	shr    $0x3,%rax
      6c:	49 89 c6             	mov    %rax,%r14
      6f:	83 f8 02             	cmp    $0x2,%eax
      72:	7e 0c                	jle    80 <_parse_vec_string+0x30>
      74:	5b                   	pop    %rbx
      75:	31 c0                	xor    %eax,%eax
      77:	5d                   	pop    %rbp
      78:	41 5c                	pop    %r12
      7a:	41 5d                	pop    %r13
      7c:	41 5e                	pop    %r14
      7e:	c3                   	ret    
      7f:	90                   	nop
      80:	41 89 c5             	mov    %eax,%r13d
      83:	e8 00 00 00 00       	call   88 <_parse_vec_string+0x38>
      88:	41 8d 56 ff          	lea    -0x1(%r14),%edx
      8c:	89 c7                	mov    %eax,%edi
      8e:	45 85 f6             	test   %r14d,%r14d
      91:	74 53                	je     e6 <_parse_vec_string+0x96>
      93:	83 e0 1f             	and    $0x1f,%eax
      96:	41 b8 01 00 00 00    	mov    $0x1,%r8d
      9c:	45 31 c9             	xor    %r9d,%r9d
      9f:	c4 42 f9 f7 c0       	shlx   %rax,%r8,%r8
      a4:	89 d0                	mov    %edx,%eax
      a6:	c1 e2 05             	shl    $0x5,%edx
      a9:	41 ff c8             	dec    %r8d
      ac:	48 8d 44 85 00       	lea    0x0(%rbp,%rax,4),%rax
      b1:	eb 10                	jmp    c3 <_parse_vec_string+0x73>
      b3:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
      ba:	00 00 00 00 
      be:	66 90                	xchg   %ax,%ax
      c0:	48 89 c8             	mov    %rcx,%rax
      c3:	8d 72 20             	lea    0x20(%rdx),%esi
      c6:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
      cb:	39 f7                	cmp    %esi,%edi
      cd:	73 09                	jae    d8 <_parse_vec_string+0x88>
      cf:	39 fa                	cmp    %edi,%edx
      d1:	44 89 c9             	mov    %r9d,%ecx
      d4:	41 0f 42 c8          	cmovb  %r8d,%ecx
      d8:	89 08                	mov    %ecx,(%rax)
      da:	83 ea 20             	sub    $0x20,%edx
      dd:	48 8d 48 fc          	lea    -0x4(%rax),%rcx
      e1:	48 39 e8             	cmp    %rbp,%rax
      e4:	75 da                	jne    c0 <_parse_vec_string+0x70>
      e6:	45 85 f6             	test   %r14d,%r14d
      e9:	7e 72                	jle    15d <_parse_vec_string+0x10d>
      eb:	42 8d 34 f5 00 00 00 	lea    0x0(,%r14,8),%esi
      f2:	00 
      f3:	45 31 c0             	xor    %r8d,%r8d
      f6:	48 63 f6             	movslq %esi,%rsi
      f9:	4c 01 e6             	add    %r12,%rsi
      fc:	48 89 f7             	mov    %rsi,%rdi
      ff:	48 83 ee 08          	sub    $0x8,%rsi
     103:	31 c0                	xor    %eax,%eax
     105:	48 89 f1             	mov    %rsi,%rcx
     108:	eb 12                	jmp    11c <_parse_vec_string+0xcc>
     10a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
     110:	8d 44 02 d0          	lea    -0x30(%rdx,%rax,1),%eax
     114:	48 ff c1             	inc    %rcx
     117:	48 39 f9             	cmp    %rdi,%rcx
     11a:	74 24                	je     140 <_parse_vec_string+0xf0>
     11c:	c1 e0 04             	shl    $0x4,%eax
     11f:	89 c2                	mov    %eax,%edx
     121:	0f be 01             	movsbl (%rcx),%eax
     124:	3c 2f                	cmp    $0x2f,%al
     126:	7e 58                	jle    180 <_parse_vec_string+0x130>
     128:	3c 39                	cmp    $0x39,%al
     12a:	7e e4                	jle    110 <_parse_vec_string+0xc0>
     12c:	3c 66                	cmp    $0x66,%al
     12e:	7f 50                	jg     180 <_parse_vec_string+0x130>
     130:	3c 60                	cmp    $0x60,%al
     132:	7e 3c                	jle    170 <_parse_vec_string+0x120>
     134:	48 ff c1             	inc    %rcx
     137:	8d 44 02 a9          	lea    -0x57(%rdx,%rax,1),%eax
     13b:	48 39 f9             	cmp    %rdi,%rcx
     13e:	75 dc                	jne    11c <_parse_vec_string+0xcc>
     140:	89 c2                	mov    %eax,%edx
     142:	85 db                	test   %ebx,%ebx
     144:	f7 d2                	not    %edx
     146:	0f 45 c2             	cmovne %edx,%eax
     149:	42 21 44 85 00       	and    %eax,0x0(%rbp,%r8,4)
     14e:	49 8d 40 01          	lea    0x1(%r8),%rax
     152:	41 b8 01 00 00 00    	mov    $0x1,%r8d
     158:	41 39 c5             	cmp    %eax,%r13d
     15b:	7f 9f                	jg     fc <_parse_vec_string+0xac>
     15d:	5b                   	pop    %rbx
     15e:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
     163:	5d                   	pop    %rbp
     164:	41 5c                	pop    %r12
     166:	41 5d                	pop    %r13
     168:	41 5e                	pop    %r14
     16a:	c3                   	ret    
     16b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
     170:	44 8d 48 bf          	lea    -0x41(%rax),%r9d
     174:	41 80 f9 05          	cmp    $0x5,%r9b
     178:	77 06                	ja     180 <_parse_vec_string+0x130>
     17a:	8d 44 02 c9          	lea    -0x37(%rdx,%rax,1),%eax
     17e:	eb 94                	jmp    114 <_parse_vec_string+0xc4>
     180:	31 c0                	xor    %eax,%eax
     182:	eb bc                	jmp    140 <_parse_vec_string+0xf0>
     184:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
     18b:	00 00 00 00 
     18f:	90                   	nop

0000000000000190 <__cap_lookup_name>:
     190:	48 8d 4e f9          	lea    -0x7(%rsi),%rcx
     194:	48 89 f0             	mov    %rsi,%rax
     197:	31 d2                	xor    %edx,%edx
     199:	48 83 f9 0f          	cmp    $0xf,%rcx
     19d:	0f 87 86 00 00 00    	ja     229 <__cap_lookup_name+0x99>
     1a3:	89 f2                	mov    %esi,%edx
     1a5:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # 1ac <__cap_lookup_name+0x1c>
     1ac:	83 fe 07             	cmp    $0x7,%esi
     1af:	74 19                	je     1ca <__cap_lookup_name+0x3a>
     1b1:	83 fe 08             	cmp    $0x8,%esi
     1b4:	74 0a                	je     1c0 <__cap_lookup_name+0x30>
     1b6:	0f b6 57 08          	movzbl 0x8(%rdi),%edx
     1ba:	0f b6 14 11          	movzbl (%rcx,%rdx,1),%edx
     1be:	01 f2                	add    %esi,%edx
     1c0:	0f b6 77 07          	movzbl 0x7(%rdi),%esi
     1c4:	0f b6 34 31          	movzbl (%rcx,%rsi,1),%esi
     1c8:	01 f2                	add    %esi,%edx
     1ca:	0f b6 77 04          	movzbl 0x4(%rdi),%esi
     1ce:	0f b6 0c 31          	movzbl (%rcx,%rsi,1),%ecx
     1d2:	01 d1                	add    %edx,%ecx
     1d4:	31 d2                	xor    %edx,%edx
     1d6:	83 f9 3a             	cmp    $0x3a,%ecx
     1d9:	77 4e                	ja     229 <__cap_lookup_name+0x99>
     1db:	48 89 ca             	mov    %rcx,%rdx
     1de:	4c 8d 15 00 00 00 00 	lea    0x0(%rip),%r10        # 1e5 <__cap_lookup_name+0x55>
     1e5:	48 c1 e2 04          	shl    $0x4,%rdx
     1e9:	49 8b 14 12          	mov    (%r10,%rdx,1),%rdx
     1ed:	48 85 d2             	test   %rdx,%rdx
     1f0:	74 37                	je     229 <__cap_lookup_name+0x99>
     1f2:	0f b6 37             	movzbl (%rdi),%esi
     1f5:	40 32 32             	xor    (%rdx),%sil
     1f8:	81 e6 df 00 00 00    	and    $0xdf,%esi
     1fe:	75 27                	jne    227 <__cap_lookup_name+0x97>
     200:	31 f6                	xor    %esi,%esi
     202:	4c 8d 0d 00 00 00 00 	lea    0x0(%rip),%r9        # 209 <__cap_lookup_name+0x79>
     209:	44 0f b6 04 37       	movzbl (%rdi,%rsi,1),%r8d
     20e:	44 0f b6 1c 32       	movzbl (%rdx,%rsi,1),%r11d
     213:	47 0f b6 04 01       	movzbl (%r9,%r8,1),%r8d
     218:	47 0f b6 1c 19       	movzbl (%r9,%r11,1),%r11d
     21d:	45 84 c0             	test   %r8b,%r8b
     220:	74 3e                	je     260 <__cap_lookup_name+0xd0>
     222:	45 38 d8             	cmp    %r11b,%r8b
     225:	74 09                	je     230 <__cap_lookup_name+0xa0>
     227:	31 d2                	xor    %edx,%edx
     229:	48 89 d0             	mov    %rdx,%rax
     22c:	c3                   	ret    
     22d:	0f 1f 00             	nopl   (%rax)
     230:	48 ff c6             	inc    %rsi
     233:	48 39 f0             	cmp    %rsi,%rax
     236:	75 d1                	jne    209 <__cap_lookup_name+0x79>
     238:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
     23f:	00 
     240:	80 3c 02 00          	cmpb   $0x0,(%rdx,%rax,1)
     244:	75 e1                	jne    227 <__cap_lookup_name+0x97>
     246:	48 c1 e1 04          	shl    $0x4,%rcx
     24a:	49 8d 14 0a          	lea    (%r10,%rcx,1),%rdx
     24e:	48 89 d0             	mov    %rdx,%rax
     251:	c3                   	ret    
     252:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
     259:	00 00 00 00 
     25d:	0f 1f 00             	nopl   (%rax)
     260:	45 38 d8             	cmp    %r11b,%r8b
     263:	74 db                	je     240 <__cap_lookup_name+0xb0>
     265:	31 d2                	xor    %edx,%edx
     267:	eb c0                	jmp    229 <__cap_lookup_name+0x99>
     269:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

0000000000000270 <lookupname>:
     270:	41 54                	push   %r12
     272:	55                   	push   %rbp
     273:	53                   	push   %rbx
     274:	48 89 fd             	mov    %rdi,%rbp
     277:	48 83 ec 10          	sub    $0x10,%rsp
     27b:	4c 8b 27             	mov    (%rdi),%r12
     27e:	4c 89 64 24 08       	mov    %r12,0x8(%rsp)
     283:	e8 00 00 00 00       	call   288 <lookupname+0x18>
     288:	48 8b 08             	mov    (%rax),%rcx
     28b:	49 0f be 04 24       	movsbq (%r12),%rax
     290:	48 89 c2             	mov    %rax,%rdx
     293:	0f b7 04 41          	movzwl (%rcx,%rax,2),%eax
     297:	f6 c4 08             	test   $0x8,%ah
     29a:	75 54                	jne    2f0 <lookupname+0x80>
     29c:	31 db                	xor    %ebx,%ebx
     29e:	85 d2                	test   %edx,%edx
     2a0:	75 12                	jne    2b4 <lookupname+0x44>
     2a2:	eb 26                	jmp    2ca <lookupname+0x5a>
     2a4:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
     2ab:	00 00 00 00 
     2af:	90                   	nop
     2b0:	0f b7 04 51          	movzwl (%rcx,%rdx,2),%eax
     2b4:	f6 c4 04             	test   $0x4,%ah
     2b7:	75 05                	jne    2be <lookupname+0x4e>
     2b9:	83 fa 5f             	cmp    $0x5f,%edx
     2bc:	75 0c                	jne    2ca <lookupname+0x5a>
     2be:	48 ff c3             	inc    %rbx
     2c1:	49 0f be 14 1c       	movsbq (%r12,%rbx,1),%rdx
     2c6:	85 d2                	test   %edx,%edx
     2c8:	75 e6                	jne    2b0 <lookupname+0x40>
     2ca:	48 89 de             	mov    %rbx,%rsi
     2cd:	4c 89 e7             	mov    %r12,%rdi
     2d0:	e8 00 00 00 00       	call   2d5 <lookupname+0x65>
     2d5:	48 85 c0             	test   %rax,%rax
     2d8:	74 3d                	je     317 <lookupname+0xa7>
     2da:	48 03 5c 24 08       	add    0x8(%rsp),%rbx
     2df:	8b 40 08             	mov    0x8(%rax),%eax
     2e2:	48 89 5d 00          	mov    %rbx,0x0(%rbp)
     2e6:	48 83 c4 10          	add    $0x10,%rsp
     2ea:	5b                   	pop    %rbx
     2eb:	5d                   	pop    %rbp
     2ec:	41 5c                	pop    %r12
     2ee:	c3                   	ret    
     2ef:	90                   	nop
     2f0:	31 d2                	xor    %edx,%edx
     2f2:	48 8d 74 24 08       	lea    0x8(%rsp),%rsi
     2f7:	4c 89 e7             	mov    %r12,%rdi
     2fa:	e8 00 00 00 00       	call   2ff <lookupname+0x8f>
     2ff:	48 83 f8 3f          	cmp    $0x3f,%rax
     303:	77 12                	ja     317 <lookupname+0xa7>
     305:	48 8b 54 24 08       	mov    0x8(%rsp),%rdx
     30a:	48 89 55 00          	mov    %rdx,0x0(%rbp)
     30e:	48 83 c4 10          	add    $0x10,%rsp
     312:	5b                   	pop    %rbx
     313:	5d                   	pop    %rbp
     314:	41 5c                	pop    %r12
     316:	c3                   	ret    
     317:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
     31c:	eb c8                	jmp    2e6 <lookupname+0x76>
     31e:	66 90                	xchg   %ax,%ax

0000000000000320 <cap_from_text>:
     320:	41 57                	push   %r15
     322:	41 56                	push   %r14
     324:	41 55                	push   %r13
     326:	41 54                	push   %r12
     328:	55                   	push   %rbp
     329:	53                   	push   %rbx
     32a:	48 83 ec 48          	sub    $0x48,%rsp
     32e:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
     333:	48 85 ff             	test   %rdi,%rdi
     336:	74 38                	je     370 <cap_from_text+0x50>
     338:	49 89 ff             	mov    %rdi,%r15
     33b:	e8 00 00 00 00       	call   340 <cap_from_text+0x20>
     340:	49 89 c6             	mov    %rax,%r14
     343:	48 85 c0             	test   %rax,%rax
     346:	74 33                	je     37b <cap_from_text+0x5b>
     348:	8b 40 04             	mov    0x4(%rax),%eax
     34b:	3d 26 10 07 20       	cmp    $0x20071026,%eax
     350:	0f 84 bb 00 00 00    	je     411 <cap_from_text+0xf1>
     356:	3d 22 05 08 20       	cmp    $0x20080522,%eax
     35b:	0f 84 b0 00 00 00    	je     411 <cap_from_text+0xf1>
     361:	3d 30 03 98 19       	cmp    $0x19980330,%eax
     366:	74 28                	je     390 <cap_from_text+0x70>
     368:	4c 89 f7             	mov    %r14,%rdi
     36b:	e8 00 00 00 00       	call   370 <cap_from_text+0x50>
     370:	e8 00 00 00 00       	call   375 <cap_from_text+0x55>
     375:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
     37b:	45 31 f6             	xor    %r14d,%r14d
     37e:	48 83 c4 48          	add    $0x48,%rsp
     382:	4c 89 f0             	mov    %r14,%rax
     385:	5b                   	pop    %rbx
     386:	5d                   	pop    %rbp
     387:	41 5c                	pop    %r12
     389:	41 5d                	pop    %r13
     38b:	41 5e                	pop    %r14
     38d:	41 5f                	pop    %r15
     38f:	c3                   	ret    
     390:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%rsp)
     397:	00 
     398:	48 8d 6c 24 38       	lea    0x38(%rsp),%rbp
     39d:	4c 89 74 24 08       	mov    %r14,0x8(%rsp)
     3a2:	45 31 e4             	xor    %r12d,%r12d
     3a5:	49 89 ee             	mov    %rbp,%r14
     3a8:	49 c7 06 00 00 00 00 	movq   $0x0,(%r14)
     3af:	e8 00 00 00 00       	call   3b4 <cap_from_text+0x94>
     3b4:	48 8b 10             	mov    (%rax),%rdx
     3b7:	41 0f b6 0f          	movzbl (%r15),%ecx
     3bb:	48 89 c3             	mov    %rax,%rbx
     3be:	48 89 c8             	mov    %rcx,%rax
     3c1:	0f b7 0c 4a          	movzwl (%rdx,%rcx,2),%ecx
     3c5:	f6 c5 20             	test   $0x20,%ch
     3c8:	74 21                	je     3eb <cap_from_text+0xcb>
     3ca:	49 ff c7             	inc    %r15
     3cd:	0f 1f 00             	nopl   (%rax)
     3d0:	41 0f b6 0f          	movzbl (%r15),%ecx
     3d4:	4c 89 ff             	mov    %r15,%rdi
     3d7:	49 ff c7             	inc    %r15
     3da:	48 89 c8             	mov    %rcx,%rax
     3dd:	0f b7 0c 4a          	movzwl (%rdx,%rcx,2),%ecx
     3e1:	f6 c5 20             	test   $0x20,%ch
     3e4:	75 ea                	jne    3d0 <cap_from_text+0xb0>
     3e6:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
     3eb:	84 c0                	test   %al,%al
     3ed:	0f 84 cc 04 00 00    	je     8bf <cap_from_text+0x59f>
     3f3:	83 e1 08             	and    $0x8,%ecx
     3f6:	75 26                	jne    41e <cap_from_text+0xfe>
     3f8:	3c 5f                	cmp    $0x5f,%al
     3fa:	74 22                	je     41e <cap_from_text+0xfe>
     3fc:	83 e8 2b             	sub    $0x2b,%eax
     3ff:	a8 fd                	test   $0xfd,%al
     401:	0f 85 9c 03 00 00    	jne    7a3 <cap_from_text+0x483>
     407:	4c 8b 74 24 08       	mov    0x8(%rsp),%r14
     40c:	e9 57 ff ff ff       	jmp    368 <cap_from_text+0x48>
     411:	c7 44 24 1c 02 00 00 	movl   $0x2,0x1c(%rsp)
     418:	00 
     419:	e9 7a ff ff ff       	jmp    398 <cap_from_text+0x78>
     41e:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
     423:	e8 00 00 00 00       	call   428 <cap_from_text+0x108>
     428:	4c 8b 44 24 28       	mov    0x28(%rsp),%r8
     42d:	49 89 c5             	mov    %rax,%r13
     430:	8b 44 24 1c          	mov    0x1c(%rsp),%eax
     434:	48 8b 54 24 20       	mov    0x20(%rsp),%rdx
     439:	89 c7                	mov    %eax,%edi
     43b:	ff c8                	dec    %eax
     43d:	c1 e7 05             	shl    $0x5,%edi
     440:	89 44 24 18          	mov    %eax,0x18(%rsp)
     444:	4d 8d 3c 86          	lea    (%r14,%rax,4),%r15
     448:	48 8d 44 24 28       	lea    0x28(%rsp),%rax
     44d:	89 7c 24 04          	mov    %edi,0x4(%rsp)
     451:	48 89 44 24 10       	mov    %rax,0x10(%rsp)
     456:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
     45d:	00 00 00 
     460:	4c 89 c1             	mov    %r8,%rcx
     463:	b8 61 00 00 00       	mov    $0x61,%eax
     468:	48 8d 35 00 00 00 00 	lea    0x0(%rip),%rsi        # 46f <cap_from_text+0x14f>
     46f:	4d 8b 4d 00          	mov    0x0(%r13),%r9
     473:	eb 19                	jmp    48e <cap_from_text+0x16e>
     475:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
     47c:	00 00 00 00 
     480:	0f be 46 01          	movsbl 0x1(%rsi),%eax
     484:	48 ff c6             	inc    %rsi
     487:	48 ff c1             	inc    %rcx
     48a:	84 c0                	test   %al,%al
     48c:	74 72                	je     500 <cap_from_text+0x1e0>
     48e:	0f b6 39             	movzbl (%rcx),%edi
     491:	41 39 04 b9          	cmp    %eax,(%r9,%rdi,4)
     495:	74 e9                	je     480 <cap_from_text+0x160>
     497:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
     49c:	e8 cf fd ff ff       	call   270 <lookupname>
     4a1:	83 f8 ff             	cmp    $0xffffffff,%eax
     4a4:	0f 84 5d ff ff ff    	je     407 <cap_from_text+0xe7>
     4aa:	89 c2                	mov    %eax,%edx
     4ac:	bf 01 00 00 00       	mov    $0x1,%edi
     4b1:	48 8b 6c 24 28       	mov    0x28(%rsp),%rbp
     4b6:	c1 fa 05             	sar    $0x5,%edx
     4b9:	c4 e2 79 f7 c7       	shlx   %eax,%edi,%eax
     4be:	48 63 d2             	movslq %edx,%rdx
     4c1:	09 44 94 38          	or     %eax,0x38(%rsp,%rdx,4)
     4c5:	0f b6 45 00          	movzbl 0x0(%rbp),%eax
     4c9:	48 8d 55 01          	lea    0x1(%rbp),%rdx
     4cd:	49 89 d0             	mov    %rdx,%r8
     4d0:	3c 2c                	cmp    $0x2c,%al
     4d2:	0f 85 8f 00 00 00    	jne    567 <cap_from_text+0x247>
     4d8:	48 8b 13             	mov    (%rbx),%rdx
     4db:	0f b6 4d 01          	movzbl 0x1(%rbp),%ecx
     4df:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
     4e4:	f6 04 4a 08          	testb  $0x8,(%rdx,%rcx,2)
     4e8:	0f 85 72 ff ff ff    	jne    460 <cap_from_text+0x140>
     4ee:	80 f9 5f             	cmp    $0x5f,%cl
     4f1:	0f 84 69 ff ff ff    	je     460 <cap_from_text+0x140>
     4f7:	e9 0b ff ff ff       	jmp    407 <cap_from_text+0xe7>
     4fc:	0f 1f 40 00          	nopl   0x0(%rax)
     500:	0f b6 09             	movzbl (%rcx),%ecx
     503:	f6 04 4a 08          	testb  $0x8,(%rdx,%rcx,2)
     507:	75 8e                	jne    497 <cap_from_text+0x177>
     509:	80 f9 5f             	cmp    $0x5f,%cl
     50c:	74 89                	je     497 <cap_from_text+0x177>
     50e:	49 8d 68 03          	lea    0x3(%r8),%rbp
     512:	e8 00 00 00 00       	call   517 <cap_from_text+0x1f7>
     517:	be 01 00 00 00       	mov    $0x1,%esi
     51c:	8b 54 24 04          	mov    0x4(%rsp),%edx
     520:	89 c7                	mov    %eax,%edi
     522:	4c 89 f9             	mov    %r15,%rcx
     525:	83 e7 1f             	and    $0x1f,%edi
     528:	c4 e2 c1 f7 fe       	shlx   %rdi,%rsi,%rdi
     52d:	ff cf                	dec    %edi
     52f:	eb 28                	jmp    559 <cap_from_text+0x239>
     531:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
     538:	00 00 00 00 
     53c:	0f 1f 40 00          	nopl   0x0(%rax)
     540:	83 ea 20             	sub    $0x20,%edx
     543:	44 89 e6             	mov    %r12d,%esi
     546:	39 c2                	cmp    %eax,%edx
     548:	0f 42 f7             	cmovb  %edi,%esi
     54b:	89 31                	mov    %esi,(%rcx)
     54d:	48 83 e9 04          	sub    $0x4,%rcx
     551:	85 d2                	test   %edx,%edx
     553:	0f 84 6c ff ff ff    	je     4c5 <cap_from_text+0x1a5>
     559:	39 d0                	cmp    %edx,%eax
     55b:	72 e3                	jb     540 <cap_from_text+0x220>
     55d:	be ff ff ff ff       	mov    $0xffffffff,%esi
     562:	83 ea 20             	sub    $0x20,%edx
     565:	eb e4                	jmp    54b <cap_from_text+0x22b>
     567:	be 01 00 00 00       	mov    $0x1,%esi
     56c:	49 89 d7             	mov    %rdx,%r15
     56f:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
     574:	3c 3d                	cmp    $0x3d,%al
     576:	0f 84 9c 02 00 00    	je     818 <cap_from_text+0x4f8>
     57c:	8d 50 d5             	lea    -0x2b(%rax),%edx
     57f:	81 e2 fd 00 00 00    	and    $0xfd,%edx
     585:	0f 85 7c fe ff ff    	jne    407 <cap_from_text+0xe7>
     58b:	0f b6 4d 01          	movzbl 0x1(%rbp),%ecx
     58f:	8b 54 24 1c          	mov    0x1c(%rsp),%edx
     593:	48 8b 7c 24 08       	mov    0x8(%rsp),%rdi
     598:	4d 89 fa             	mov    %r15,%r10
     59b:	45 31 c9             	xor    %r9d,%r9d
     59e:	45 31 db             	xor    %r11d,%r11d
     5a1:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
     5a5:	4c 8d 2c 97          	lea    (%rdi,%rdx,4),%r13
     5a9:	84 c9                	test   %cl,%cl
     5ab:	0f 85 ec 02 00 00    	jne    89d <cap_from_text+0x57d>
     5b1:	3c 3d                	cmp    $0x3d,%al
     5b3:	0f 85 4e fe ff ff    	jne    407 <cap_from_text+0xe7>
     5b9:	48 63 54 24 18       	movslq 0x18(%rsp),%rdx
     5be:	48 8b 7c 24 08       	mov    0x8(%rsp),%rdi
     5c3:	48 8d 0c 52          	lea    (%rdx,%rdx,2),%rcx
     5c7:	48 8d 0c 8f          	lea    (%rdi,%rcx,4),%rcx
     5cb:	48 89 d7             	mov    %rdx,%rdi
     5ce:	49 89 c8             	mov    %rcx,%r8
     5d1:	41 8b 2c be          	mov    (%r14,%rdi,4),%ebp
     5d5:	48 ff cf             	dec    %rdi
     5d8:	f7 d5                	not    %ebp
     5da:	41 21 68 0c          	and    %ebp,0xc(%r8)
     5de:	49 83 e8 0c          	sub    $0xc,%r8
     5e2:	83 ff ff             	cmp    $0xffffffff,%edi
     5e5:	75 ea                	jne    5d1 <cap_from_text+0x2b1>
     5e7:	49 89 c8             	mov    %rcx,%r8
     5ea:	48 89 d7             	mov    %rdx,%rdi
     5ed:	41 8b 2c be          	mov    (%r14,%rdi,4),%ebp
     5f1:	48 ff cf             	dec    %rdi
     5f4:	f7 d5                	not    %ebp
     5f6:	41 21 68 10          	and    %ebp,0x10(%r8)
     5fa:	49 83 e8 0c          	sub    $0xc,%r8
     5fe:	83 ff ff             	cmp    $0xffffffff,%edi
     601:	75 ea                	jne    5ed <cap_from_text+0x2cd>
     603:	41 8b 3c 96          	mov    (%r14,%rdx,4),%edi
     607:	48 ff ca             	dec    %rdx
     60a:	f7 d7                	not    %edi
     60c:	21 79 14             	and    %edi,0x14(%rcx)
     60f:	48 83 e9 0c          	sub    $0xc,%rcx
     613:	83 fa ff             	cmp    $0xffffffff,%edx
     616:	75 eb                	jne    603 <cap_from_text+0x2e3>
     618:	3c 4d                	cmp    $0x4d,%al
     61a:	0f 84 c8 00 00 00    	je     6e8 <cap_from_text+0x3c8>
     620:	41 f6 c1 01          	test   $0x1,%r9b
     624:	0f 85 fe 00 00 00    	jne    728 <cap_from_text+0x408>
     62a:	41 f6 c1 02          	test   $0x2,%r9b
     62e:	0f 85 18 01 00 00    	jne    74c <cap_from_text+0x42c>
     634:	41 f6 c1 04          	test   $0x4,%r9b
     638:	0f 85 33 01 00 00    	jne    771 <cap_from_text+0x451>
     63e:	41 0f b6 0a          	movzbl (%r10),%ecx
     642:	8d 51 d5             	lea    -0x2b(%rcx),%edx
     645:	81 e2 fd 00 00 00    	and    $0xfd,%edx
     64b:	75 2f                	jne    67c <cap_from_text+0x35c>
     64d:	85 f6                	test   %esi,%esi
     64f:	0f 84 b2 fd ff ff    	je     407 <cap_from_text+0xe7>
     655:	49 0f be 7a 01       	movsbq 0x1(%r10),%rdi
     65a:	48 8b 03             	mov    (%rbx),%rax
     65d:	4d 8d 42 01          	lea    0x1(%r10),%r8
     661:	f6 44 78 01 04       	testb  $0x4,0x1(%rax,%rdi,2)
     666:	0f 84 9b fd ff ff    	je     407 <cap_from_text+0xe7>
     66c:	89 c8                	mov    %ecx,%eax
     66e:	4d 89 c2             	mov    %r8,%r10
     671:	89 f9                	mov    %edi,%ecx
     673:	41 bb 01 00 00 00    	mov    $0x1,%r11d
     679:	45 31 c9             	xor    %r9d,%r9d
     67c:	84 c9                	test   %cl,%cl
     67e:	0f 84 25 02 00 00    	je     8a9 <cap_from_text+0x589>
     684:	48 8b 13             	mov    (%rbx),%rdx
     687:	48 0f be f9          	movsbq %cl,%rdi
     68b:	f6 44 7a 01 20       	testb  $0x20,0x1(%rdx,%rdi,2)
     690:	0f 85 13 02 00 00    	jne    8a9 <cap_from_text+0x589>
     696:	f6 44 7a 01 20       	testb  $0x20,0x1(%rdx,%rdi,2)
     69b:	0f 85 10 ff ff ff    	jne    5b1 <cap_from_text+0x291>
     6a1:	80 f9 69             	cmp    $0x69,%cl
     6a4:	0f 84 f0 00 00 00    	je     79a <cap_from_text+0x47a>
     6aa:	80 f9 70             	cmp    $0x70,%cl
     6ad:	0f 84 de 00 00 00    	je     791 <cap_from_text+0x471>
     6b3:	80 f9 65             	cmp    $0x65,%cl
     6b6:	0f 85 4b fd ff ff    	jne    407 <cap_from_text+0xe7>
     6bc:	41 83 c9 01          	or     $0x1,%r9d
     6c0:	8d 50 d5             	lea    -0x2b(%rax),%edx
     6c3:	49 ff c2             	inc    %r10
     6c6:	41 bb 01 00 00 00    	mov    $0x1,%r11d
     6cc:	80 fa 25             	cmp    $0x25,%dl
     6cf:	0f 87 69 ff ff ff    	ja     63e <cap_from_text+0x31e>
     6d5:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # 6dc <cap_from_text+0x3bc>
     6dc:	0f b6 d2             	movzbl %dl,%edx
     6df:	48 63 14 91          	movslq (%rcx,%rdx,4),%rdx
     6e3:	48 01 ca             	add    %rcx,%rdx
     6e6:	ff e2                	jmp    *%rdx
     6e8:	41 f6 c1 01          	test   $0x1,%r9b
     6ec:	0f 85 8a 01 00 00    	jne    87c <cap_from_text+0x55c>
     6f2:	41 f6 c1 02          	test   $0x2,%r9b
     6f6:	0f 85 5e 01 00 00    	jne    85a <cap_from_text+0x53a>
     6fc:	41 f6 c1 04          	test   $0x4,%r9b
     700:	0f 84 38 ff ff ff    	je     63e <cap_from_text+0x31e>
     706:	48 63 4c 24 18       	movslq 0x18(%rsp),%rcx
     70b:	4c 89 ea             	mov    %r13,%rdx
     70e:	41 8b 3c 8e          	mov    (%r14,%rcx,4),%edi
     712:	48 ff c9             	dec    %rcx
     715:	f7 d7                	not    %edi
     717:	21 7a 08             	and    %edi,0x8(%rdx)
     71a:	48 83 ea 0c          	sub    $0xc,%rdx
     71e:	83 f9 ff             	cmp    $0xffffffff,%ecx
     721:	75 eb                	jne    70e <cap_from_text+0x3ee>
     723:	e9 16 ff ff ff       	jmp    63e <cap_from_text+0x31e>
     728:	48 63 4c 24 18       	movslq 0x18(%rsp),%rcx
     72d:	4c 89 ea             	mov    %r13,%rdx
     730:	41 8b 3c 8e          	mov    (%r14,%rcx,4),%edi
     734:	48 ff c9             	dec    %rcx
     737:	09 3a                	or     %edi,(%rdx)
     739:	48 83 ea 0c          	sub    $0xc,%rdx
     73d:	83 f9 ff             	cmp    $0xffffffff,%ecx
     740:	75 ee                	jne    730 <cap_from_text+0x410>
     742:	41 f6 c1 02          	test   $0x2,%r9b
     746:	0f 84 e8 fe ff ff    	je     634 <cap_from_text+0x314>
     74c:	48 63 4c 24 18       	movslq 0x18(%rsp),%rcx
     751:	4c 89 ea             	mov    %r13,%rdx
     754:	41 8b 3c 8e          	mov    (%r14,%rcx,4),%edi
     758:	48 ff c9             	dec    %rcx
     75b:	09 7a 04             	or     %edi,0x4(%rdx)
     75e:	48 83 ea 0c          	sub    $0xc,%rdx
     762:	83 f9 ff             	cmp    $0xffffffff,%ecx
     765:	75 ed                	jne    754 <cap_from_text+0x434>
     767:	41 f6 c1 04          	test   $0x4,%r9b
     76b:	0f 84 cd fe ff ff    	je     63e <cap_from_text+0x31e>
     771:	48 63 4c 24 18       	movslq 0x18(%rsp),%rcx
     776:	4c 89 ea             	mov    %r13,%rdx
     779:	41 8b 3c 8e          	mov    (%r14,%rcx,4),%edi
     77d:	48 ff c9             	dec    %rcx
     780:	09 7a 08             	or     %edi,0x8(%rdx)
     783:	48 83 ea 0c          	sub    $0xc,%rdx
     787:	83 f9 ff             	cmp    $0xffffffff,%ecx
     78a:	75 ed                	jne    779 <cap_from_text+0x459>
     78c:	e9 ad fe ff ff       	jmp    63e <cap_from_text+0x31e>
     791:	41 83 c9 02          	or     $0x2,%r9d
     795:	e9 26 ff ff ff       	jmp    6c0 <cap_from_text+0x3a0>
     79a:	41 83 c9 04          	or     $0x4,%r9d
     79e:	e9 1d ff ff ff       	jmp    6c0 <cap_from_text+0x3a0>
     7a3:	e8 00 00 00 00       	call   7a8 <cap_from_text+0x488>
     7a8:	8b 74 24 1c          	mov    0x1c(%rsp),%esi
     7ac:	41 b8 01 00 00 00    	mov    $0x1,%r8d
     7b2:	45 31 c9             	xor    %r9d,%r9d
     7b5:	89 c7                	mov    %eax,%edi
     7b7:	83 e0 1f             	and    $0x1f,%eax
     7ba:	c4 42 f9 f7 c0       	shlx   %rax,%r8,%r8
     7bf:	41 ff c8             	dec    %r8d
     7c2:	8d 56 ff             	lea    -0x1(%rsi),%edx
     7c5:	89 f0                	mov    %esi,%eax
     7c7:	89 54 24 18          	mov    %edx,0x18(%rsp)
     7cb:	c1 e0 05             	shl    $0x5,%eax
     7ce:	49 8d 14 96          	lea    (%r14,%rdx,4),%rdx
     7d2:	eb 22                	jmp    7f6 <cap_from_text+0x4d6>
     7d4:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
     7db:	00 00 00 00 
     7df:	90                   	nop
     7e0:	83 e8 20             	sub    $0x20,%eax
     7e3:	44 89 c9             	mov    %r9d,%ecx
     7e6:	39 f8                	cmp    %edi,%eax
     7e8:	41 0f 42 c8          	cmovb  %r8d,%ecx
     7ec:	89 0a                	mov    %ecx,(%rdx)
     7ee:	48 83 ea 04          	sub    $0x4,%rdx
     7f2:	85 c0                	test   %eax,%eax
     7f4:	74 0e                	je     804 <cap_from_text+0x4e4>
     7f6:	39 c7                	cmp    %eax,%edi
     7f8:	72 e6                	jb     7e0 <cap_from_text+0x4c0>
     7fa:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
     7ff:	83 e8 20             	sub    $0x20,%eax
     802:	eb e8                	jmp    7ec <cap_from_text+0x4cc>
     804:	48 8b 6c 24 28       	mov    0x28(%rsp),%rbp
     809:	31 f6                	xor    %esi,%esi
     80b:	0f b6 45 00          	movzbl 0x0(%rbp),%eax
     80f:	48 8d 55 01          	lea    0x1(%rbp),%rdx
     813:	e9 54 fd ff ff       	jmp    56c <cap_from_text+0x24c>
     818:	0f b6 4d 01          	movzbl 0x1(%rbp),%ecx
     81c:	8d 51 d5             	lea    -0x2b(%rcx),%edx
     81f:	81 e2 fd 00 00 00    	and    $0xfd,%edx
     825:	0f 85 64 fd ff ff    	jne    58f <cap_from_text+0x26f>
     82b:	85 f6                	test   %esi,%esi
     82d:	0f 84 d4 fb ff ff    	je     407 <cap_from_text+0xe7>
     833:	0f b6 45 02          	movzbl 0x2(%rbp),%eax
     837:	4c 8d 7d 02          	lea    0x2(%rbp),%r15
     83b:	80 f9 2b             	cmp    $0x2b,%cl
     83e:	4c 89 7c 24 28       	mov    %r15,0x28(%rsp)
     843:	89 c1                	mov    %eax,%ecx
     845:	b8 4d 00 00 00       	mov    $0x4d,%eax
     84a:	0f 85 3f fd ff ff    	jne    58f <cap_from_text+0x26f>
     850:	b8 50 00 00 00       	mov    $0x50,%eax
     855:	e9 35 fd ff ff       	jmp    58f <cap_from_text+0x26f>
     85a:	48 63 4c 24 18       	movslq 0x18(%rsp),%rcx
     85f:	4c 89 ea             	mov    %r13,%rdx
     862:	41 8b 3c 8e          	mov    (%r14,%rcx,4),%edi
     866:	48 ff c9             	dec    %rcx
     869:	f7 d7                	not    %edi
     86b:	21 7a 04             	and    %edi,0x4(%rdx)
     86e:	48 83 ea 0c          	sub    $0xc,%rdx
     872:	83 f9 ff             	cmp    $0xffffffff,%ecx
     875:	75 eb                	jne    862 <cap_from_text+0x542>
     877:	e9 80 fe ff ff       	jmp    6fc <cap_from_text+0x3dc>
     87c:	48 63 4c 24 18       	movslq 0x18(%rsp),%rcx
     881:	4c 89 ea             	mov    %r13,%rdx
     884:	41 8b 3c 8e          	mov    (%r14,%rcx,4),%edi
     888:	48 ff c9             	dec    %rcx
     88b:	f7 d7                	not    %edi
     88d:	21 3a                	and    %edi,(%rdx)
     88f:	48 83 ea 0c          	sub    $0xc,%rdx
     893:	83 f9 ff             	cmp    $0xffffffff,%ecx
     896:	75 ec                	jne    884 <cap_from_text+0x564>
     898:	e9 55 fe ff ff       	jmp    6f2 <cap_from_text+0x3d2>
     89d:	48 8b 13             	mov    (%rbx),%rdx
     8a0:	48 0f be f9          	movsbq %cl,%rdi
     8a4:	e9 ed fd ff ff       	jmp    696 <cap_from_text+0x376>
     8a9:	45 84 db             	test   %r11b,%r11b
     8ac:	0f 84 f6 fa ff ff    	je     3a8 <cap_from_text+0x88>
     8b2:	4c 89 54 24 28       	mov    %r10,0x28(%rsp)
     8b7:	4d 89 d7             	mov    %r10,%r15
     8ba:	e9 e9 fa ff ff       	jmp    3a8 <cap_from_text+0x88>
     8bf:	4c 8b 74 24 08       	mov    0x8(%rsp),%r14
     8c4:	e9 b5 fa ff ff       	jmp    37e <cap_from_text+0x5e>
     8c9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

00000000000008d0 <cap_from_name>:
     8d0:	53                   	push   %rbx
     8d1:	48 89 f3             	mov    %rsi,%rbx
     8d4:	48 83 ec 10          	sub    $0x10,%rsp
     8d8:	48 89 7c 24 08       	mov    %rdi,0x8(%rsp)
     8dd:	48 8d 7c 24 08       	lea    0x8(%rsp),%rdi
     8e2:	e8 89 f9 ff ff       	call   270 <lookupname>
     8e7:	85 c0                	test   %eax,%eax
     8e9:	78 07                	js     8f2 <cap_from_name+0x22>
     8eb:	48 85 db             	test   %rbx,%rbx
     8ee:	74 02                	je     8f2 <cap_from_name+0x22>
     8f0:	89 03                	mov    %eax,(%rbx)
     8f2:	48 83 c4 10          	add    $0x10,%rsp
     8f6:	c1 f8 1f             	sar    $0x1f,%eax
     8f9:	5b                   	pop    %rbx
     8fa:	c3                   	ret    
     8fb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000000900 <cap_to_name>:
     900:	48 63 cf             	movslq %edi,%rcx
     903:	83 f9 28             	cmp    $0x28,%ecx
     906:	76 48                	jbe    950 <cap_to_name+0x50>
     908:	53                   	push   %rbx
     909:	48 8d 15 00 00 00 00 	lea    0x0(%rip),%rdx        # 910 <cap_to_name+0x10>
     910:	be 01 00 00 00       	mov    $0x1,%esi
     915:	31 c0                	xor    %eax,%eax
     917:	48 83 ec 10          	sub    $0x10,%rsp
     91b:	31 db                	xor    %ebx,%ebx
     91d:	48 8d 7c 24 08       	lea    0x8(%rsp),%rdi
     922:	e8 00 00 00 00       	call   927 <cap_to_name+0x27>
     927:	85 c0                	test   %eax,%eax
     929:	7e 17                	jle    942 <cap_to_name+0x42>
     92b:	48 8b 7c 24 08       	mov    0x8(%rsp),%rdi
     930:	e8 00 00 00 00       	call   935 <cap_to_name+0x35>
     935:	48 8b 7c 24 08       	mov    0x8(%rsp),%rdi
     93a:	48 89 c3             	mov    %rax,%rbx
     93d:	e8 00 00 00 00       	call   942 <cap_to_name+0x42>
     942:	48 83 c4 10          	add    $0x10,%rsp
     946:	48 89 d8             	mov    %rbx,%rax
     949:	5b                   	pop    %rbx
     94a:	c3                   	ret    
     94b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
     950:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # 957 <cap_to_name+0x57>
     957:	48 8b 3c c8          	mov    (%rax,%rcx,8),%rdi
     95b:	e9 00 00 00 00       	jmp    960 <cap_to_text>

0000000000000960 <cap_to_text>:
     960:	41 57                	push   %r15
     962:	41 56                	push   %r14
     964:	41 55                	push   %r13
     966:	41 54                	push   %r12
     968:	55                   	push   %rbp
     969:	53                   	push   %rbx
     96a:	48 81 ec 98 06 00 00 	sub    $0x698,%rsp
     971:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
     976:	48 85 ff             	test   %rdi,%rdi
     979:	0f 84 a1 03 00 00    	je     d20 <cap_to_text+0x3c0>
     97f:	81 7f f8 d0 90 ca 00 	cmpl   $0xca90d0,-0x8(%rdi)
     986:	49 89 fe             	mov    %rdi,%r14
     989:	0f 85 91 03 00 00    	jne    d20 <cap_to_text+0x3c0>
     98f:	c4 41 01 ef ff       	vpxor  %xmm15,%xmm15,%xmm15
     994:	c5 79 7f 7c 24 40    	vmovdqa %xmm15,0x40(%rsp)
     99a:	c5 79 7f 7c 24 50    	vmovdqa %xmm15,0x50(%rsp)
     9a0:	e8 00 00 00 00       	call   9a5 <cap_to_text+0x45>
     9a5:	41 89 c7             	mov    %eax,%r15d
     9a8:	85 c0                	test   %eax,%eax
     9aa:	0f 84 bb 04 00 00    	je     e6b <cap_to_text+0x50b>
     9b0:	45 31 c9             	xor    %r9d,%r9d
     9b3:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
     9ba:	00 00 00 00 
     9be:	66 90                	xchg   %ax,%ax
     9c0:	44 89 ce             	mov    %r9d,%esi
     9c3:	4c 89 f7             	mov    %r14,%rdi
     9c6:	41 ff c1             	inc    %r9d
     9c9:	e8 32 f6 ff ff       	call   0 <getstateflags>
     9ce:	48 98                	cltq   
     9d0:	ff 44 84 40          	incl   0x40(%rsp,%rax,4)
     9d4:	45 39 f9             	cmp    %r15d,%r9d
     9d7:	75 e7                	jne    9c0 <cap_to_text+0x60>
     9d9:	8b 54 24 5c          	mov    0x5c(%rsp),%edx
     9dd:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
     9e2:	b8 06 00 00 00       	mov    $0x6,%eax
     9e7:	41 bd 07 00 00 00    	mov    $0x7,%r13d
     9ed:	48 89 4c 24 18       	mov    %rcx,0x18(%rsp)
     9f2:	eb 13                	jmp    a07 <cap_to_text+0xa7>
     9f4:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
     9fb:	00 00 00 00 
     9ff:	90                   	nop
     a00:	49 63 d5             	movslq %r13d,%rdx
     a03:	8b 54 94 40          	mov    0x40(%rsp,%rdx,4),%edx
     a07:	39 14 81             	cmp    %edx,(%rcx,%rax,4)
     a0a:	44 0f 4d e8          	cmovge %eax,%r13d
     a0e:	48 83 e8 01          	sub    $0x1,%rax
     a12:	73 ec                	jae    a00 <cap_to_text+0xa0>
     a14:	48 8d 15 00 00 00 00 	lea    0x0(%rip),%rdx        # a1b <cap_to_text+0xbb>
     a1b:	41 f6 c5 02          	test   $0x2,%r13b
     a1f:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # a26 <cap_to_text+0xc6>
     a26:	4c 8d 0d 00 00 00 00 	lea    0x0(%rip),%r9        # a2d <cap_to_text+0xcd>
     a2d:	48 0f 44 c2          	cmove  %rdx,%rax
     a31:	41 f6 c5 04          	test   $0x4,%r13b
     a35:	48 8d 5c 24 60       	lea    0x60(%rsp),%rbx
     a3a:	4c 8d 05 00 00 00 00 	lea    0x0(%rip),%r8        # a41 <cap_to_text+0xe1>
     a41:	4c 0f 44 ca          	cmove  %rdx,%r9
     a45:	41 f6 c5 01          	test   $0x1,%r13b
     a49:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
     a4e:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # a55 <cap_to_text+0xf5>
     a55:	4c 0f 44 c2          	cmove  %rdx,%r8
     a59:	48 83 ec 08          	sub    $0x8,%rsp
     a5d:	48 89 df             	mov    %rbx,%rdi
     a60:	ba 24 06 00 00       	mov    $0x624,%edx
     a65:	50                   	push   %rax
     a66:	be 01 00 00 00       	mov    $0x1,%esi
     a6b:	31 c0                	xor    %eax,%eax
     a6d:	e8 00 00 00 00       	call   a72 <cap_to_text+0x112>
     a72:	5d                   	pop    %rbp
     a73:	48 89 d9             	mov    %rbx,%rcx
     a76:	bd 07 00 00 00       	mov    $0x7,%ebp
     a7b:	41 5c                	pop    %r12
     a7d:	48 98                	cltq   
     a7f:	48 8d 1c 03          	lea    (%rbx,%rax,1),%rbx
     a83:	48 89 4c 24 38       	mov    %rcx,0x38(%rsp)
     a88:	44 89 6c 24 14       	mov    %r13d,0x14(%rsp)
     a8d:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
     a92:	41 89 ed             	mov    %ebp,%r13d
     a95:	8b 44 24 14          	mov    0x14(%rsp),%eax
     a99:	39 c5                	cmp    %eax,%ebp
     a9b:	74 12                	je     aaf <cap_to_text+0x14f>
     a9d:	48 8b 44 24 18       	mov    0x18(%rsp),%rax
     aa2:	44 8b 1c a8          	mov    (%rax,%rbp,4),%r11d
     aa6:	45 85 db             	test   %r11d,%r11d
     aa9:	0f 85 a1 00 00 00    	jne    b50 <cap_to_text+0x1f0>
     aaf:	48 83 ed 01          	sub    $0x1,%rbp
     ab3:	73 dd                	jae    a92 <cap_to_text+0x132>
     ab5:	c4 41 01 ef ff       	vpxor  %xmm15,%xmm15,%xmm15
     aba:	4c 8b 74 24 20       	mov    0x20(%rsp),%r14
     abf:	c5 79 7f 7c 24 40    	vmovdqa %xmm15,0x40(%rsp)
     ac5:	c5 79 7f 7c 24 50    	vmovdqa %xmm15,0x50(%rsp)
     acb:	41 83 ff 3f          	cmp    $0x3f,%r15d
     acf:	77 29                	ja     afa <cap_to_text+0x19a>
     ad1:	45 89 f9             	mov    %r15d,%r9d
     ad4:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
     adb:	00 00 00 00 
     adf:	90                   	nop
     ae0:	44 89 ce             	mov    %r9d,%esi
     ae3:	4c 89 f7             	mov    %r14,%rdi
     ae6:	41 ff c1             	inc    %r9d
     ae9:	e8 12 f5 ff ff       	call   0 <getstateflags>
     aee:	48 98                	cltq   
     af0:	ff 44 84 40          	incl   0x40(%rsp,%rax,4)
     af4:	41 83 f9 40          	cmp    $0x40,%r9d
     af8:	75 e6                	jne    ae0 <cap_to_text+0x180>
     afa:	44 89 7c 24 14       	mov    %r15d,0x14(%rsp)
     aff:	4c 8b 7c 24 08       	mov    0x8(%rsp),%r15
     b04:	bd 07 00 00 00       	mov    $0x7,%ebp
     b09:	48 8b 44 24 18       	mov    0x18(%rsp),%rax
     b0e:	8b 34 a8             	mov    (%rax,%rbp,4),%esi
     b11:	85 f6                	test   %esi,%esi
     b13:	0f 85 17 02 00 00    	jne    d30 <cap_to_text+0x3d0>
     b19:	48 ff cd             	dec    %rbp
     b1c:	75 eb                	jne    b09 <cap_to_text+0x1a9>
     b1e:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
     b23:	48 85 c0             	test   %rax,%rax
     b26:	74 0b                	je     b33 <cap_to_text+0x1d3>
     b28:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
     b2d:	48 29 cb             	sub    %rcx,%rbx
     b30:	48 89 18             	mov    %rbx,(%rax)
     b33:	48 8b 7c 24 38       	mov    0x38(%rsp),%rdi
     b38:	e8 00 00 00 00       	call   b3d <cap_to_text+0x1dd>
     b3d:	e9 c0 01 00 00       	jmp    d02 <cap_to_text+0x3a2>
     b42:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
     b49:	00 00 00 00 
     b4d:	0f 1f 00             	nopl   (%rax)
     b50:	4c 8d 73 01          	lea    0x1(%rbx),%r14
     b54:	c6 03 20             	movb   $0x20,(%rbx)
     b57:	45 85 ff             	test   %r15d,%r15d
     b5a:	0f 84 a9 00 00 00    	je     c09 <cap_to_text+0x2a9>
     b60:	48 89 6c 24 28       	mov    %rbp,0x28(%rsp)
     b65:	31 db                	xor    %ebx,%ebx
     b67:	48 8b 6c 24 20       	mov    0x20(%rsp),%rbp
     b6c:	eb 0d                	jmp    b7b <cap_to_text+0x21b>
     b6e:	66 90                	xchg   %ax,%ax
     b70:	ff c3                	inc    %ebx
     b72:	44 39 fb             	cmp    %r15d,%ebx
     b75:	0f 84 85 00 00 00    	je     c00 <cap_to_text+0x2a0>
     b7b:	89 de                	mov    %ebx,%esi
     b7d:	48 89 ef             	mov    %rbp,%rdi
     b80:	e8 7b f4 ff ff       	call   0 <getstateflags>
     b85:	44 39 e8             	cmp    %r13d,%eax
     b88:	75 e6                	jne    b70 <cap_to_text+0x210>
     b8a:	89 df                	mov    %ebx,%edi
     b8c:	e8 00 00 00 00       	call   b91 <cap_to_text+0x231>
     b91:	49 89 c4             	mov    %rax,%r12
     b94:	48 85 c0             	test   %rax,%rax
     b97:	0f 84 63 01 00 00    	je     d00 <cap_to_text+0x3a0>
     b9d:	48 89 c7             	mov    %rax,%rdi
     ba0:	e8 00 00 00 00       	call   ba5 <cap_to_text+0x245>
     ba5:	48 8b 4c 24 08       	mov    0x8(%rsp),%rcx
     baa:	48 89 c2             	mov    %rax,%rdx
     bad:	4c 89 f0             	mov    %r14,%rax
     bb0:	48 29 c8             	sub    %rcx,%rax
     bb3:	48 01 d0             	add    %rdx,%rax
     bb6:	48 3d c0 05 00 00    	cmp    $0x5c0,%rax
     bbc:	0f 87 b0 02 00 00    	ja     e72 <cap_to_text+0x512>
     bc2:	4c 89 f7             	mov    %r14,%rdi
     bc5:	4d 89 e0             	mov    %r12,%r8
     bc8:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # bcf <cap_to_text+0x26f>
     bcf:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
     bd6:	be 01 00 00 00       	mov    $0x1,%esi
     bdb:	31 c0                	xor    %eax,%eax
     bdd:	ff c3                	inc    %ebx
     bdf:	e8 00 00 00 00       	call   be4 <cap_to_text+0x284>
     be4:	4c 89 e7             	mov    %r12,%rdi
     be7:	48 98                	cltq   
     be9:	49 01 c6             	add    %rax,%r14
     bec:	e8 00 00 00 00       	call   bf1 <cap_to_text+0x291>
     bf1:	44 39 fb             	cmp    %r15d,%ebx
     bf4:	75 85                	jne    b7b <cap_to_text+0x21b>
     bf6:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
     bfd:	00 00 00 
     c00:	48 8b 6c 24 28       	mov    0x28(%rsp),%rbp
     c05:	49 8d 5e ff          	lea    -0x1(%r14),%rbx
     c09:	8b 44 24 14          	mov    0x14(%rsp),%eax
     c0d:	c4 e2 78 f2 c5       	andn   %ebp,%eax,%eax
     c12:	85 c0                	test   %eax,%eax
     c14:	74 65                	je     c7b <cap_to_text+0x31b>
     c16:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
     c1b:	41 b8 2b 00 00 00    	mov    $0x2b,%r8d
     c21:	80 39 3d             	cmpb   $0x3d,(%rcx)
     c24:	0f 84 26 02 00 00    	je     e50 <cap_to_text+0x4f0>
     c2a:	48 8d 15 00 00 00 00 	lea    0x0(%rip),%rdx        # c31 <cap_to_text+0x2d1>
     c31:	a8 02                	test   $0x2,%al
     c33:	48 8d 35 00 00 00 00 	lea    0x0(%rip),%rsi        # c3a <cap_to_text+0x2da>
     c3a:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # c41 <cap_to_text+0x2e1>
     c41:	48 0f 44 f2          	cmove  %rdx,%rsi
     c45:	a8 04                	test   $0x4,%al
     c47:	4c 8d 0d 00 00 00 00 	lea    0x0(%rip),%r9        # c4e <cap_to_text+0x2ee>
     c4e:	48 89 df             	mov    %rbx,%rdi
     c51:	48 0f 44 ca          	cmove  %rdx,%rcx
     c55:	a8 01                	test   $0x1,%al
     c57:	56                   	push   %rsi
     c58:	be 01 00 00 00       	mov    $0x1,%esi
     c5d:	4c 0f 44 ca          	cmove  %rdx,%r9
     c61:	51                   	push   %rcx
     c62:	31 d2                	xor    %edx,%edx
     c64:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # c6b <cap_to_text+0x30b>
     c6b:	31 c0                	xor    %eax,%eax
     c6d:	e8 00 00 00 00       	call   c72 <cap_to_text+0x312>
     c72:	41 59                	pop    %r9
     c74:	41 5a                	pop    %r10
     c76:	48 98                	cltq   
     c78:	48 01 c3             	add    %rax,%rbx
     c7b:	c4 e2 50 f2 44 24 14 	andn   0x14(%rsp),%ebp,%eax
     c82:	85 c0                	test   %eax,%eax
     c84:	74 58                	je     cde <cap_to_text+0x37e>
     c86:	4c 8d 05 00 00 00 00 	lea    0x0(%rip),%r8        # c8d <cap_to_text+0x32d>
     c8d:	a8 02                	test   $0x2,%al
     c8f:	48 8d 15 00 00 00 00 	lea    0x0(%rip),%rdx        # c96 <cap_to_text+0x336>
     c96:	4c 8d 0d 00 00 00 00 	lea    0x0(%rip),%r9        # c9d <cap_to_text+0x33d>
     c9d:	49 0f 44 d0          	cmove  %r8,%rdx
     ca1:	a8 04                	test   $0x4,%al
     ca3:	48 89 df             	mov    %rbx,%rdi
     ca6:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # cad <cap_to_text+0x34d>
     cad:	4d 0f 44 c8          	cmove  %r8,%r9
     cb1:	a8 01                	test   $0x1,%al
     cb3:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # cba <cap_to_text+0x35a>
     cba:	be 01 00 00 00       	mov    $0x1,%esi
     cbf:	4c 0f 45 c0          	cmovne %rax,%r8
     cc3:	48 83 ec 08          	sub    $0x8,%rsp
     cc7:	31 c0                	xor    %eax,%eax
     cc9:	52                   	push   %rdx
     cca:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
     cd1:	e8 00 00 00 00       	call   cd6 <cap_to_text+0x376>
     cd6:	5f                   	pop    %rdi
     cd7:	41 58                	pop    %r8
     cd9:	48 98                	cltq   
     cdb:	48 01 c3             	add    %rax,%rbx
     cde:	48 8b 4c 24 08       	mov    0x8(%rsp),%rcx
     ce3:	48 89 d8             	mov    %rbx,%rax
     ce6:	48 29 c8             	sub    %rcx,%rax
     ce9:	48 3d c0 05 00 00    	cmp    $0x5c0,%rax
     cef:	0f 8e ba fd ff ff    	jle    aaf <cap_to_text+0x14f>
     cf5:	e8 00 00 00 00       	call   cfa <cap_to_text+0x39a>
     cfa:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
     d00:	31 c0                	xor    %eax,%eax
     d02:	48 81 c4 98 06 00 00 	add    $0x698,%rsp
     d09:	5b                   	pop    %rbx
     d0a:	5d                   	pop    %rbp
     d0b:	41 5c                	pop    %r12
     d0d:	41 5d                	pop    %r13
     d0f:	41 5e                	pop    %r14
     d11:	41 5f                	pop    %r15
     d13:	c3                   	ret    
     d14:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
     d1b:	00 00 00 00 
     d1f:	90                   	nop
     d20:	e8 00 00 00 00       	call   d25 <cap_to_text+0x3c5>
     d25:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
     d2b:	eb d3                	jmp    d00 <cap_to_text+0x3a0>
     d2d:	0f 1f 00             	nopl   (%rax)
     d30:	8b 44 24 14          	mov    0x14(%rsp),%eax
     d34:	4c 8d 63 01          	lea    0x1(%rbx),%r12
     d38:	c6 03 20             	movb   $0x20,(%rbx)
     d3b:	83 f8 3f             	cmp    $0x3f,%eax
     d3e:	0f 87 91 00 00 00    	ja     dd5 <cap_to_text+0x475>
     d44:	89 c3                	mov    %eax,%ebx
     d46:	eb 0f                	jmp    d57 <cap_to_text+0x3f7>
     d48:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
     d4f:	00 
     d50:	ff c3                	inc    %ebx
     d52:	83 fb 40             	cmp    $0x40,%ebx
     d55:	74 79                	je     dd0 <cap_to_text+0x470>
     d57:	89 de                	mov    %ebx,%esi
     d59:	4c 89 f7             	mov    %r14,%rdi
     d5c:	e8 9f f2 ff ff       	call   0 <getstateflags>
     d61:	39 e8                	cmp    %ebp,%eax
     d63:	75 eb                	jne    d50 <cap_to_text+0x3f0>
     d65:	89 df                	mov    %ebx,%edi
     d67:	e8 00 00 00 00       	call   d6c <cap_to_text+0x40c>
     d6c:	49 89 c5             	mov    %rax,%r13
     d6f:	48 85 c0             	test   %rax,%rax
     d72:	74 8c                	je     d00 <cap_to_text+0x3a0>
     d74:	48 89 c7             	mov    %rax,%rdi
     d77:	e8 00 00 00 00       	call   d7c <cap_to_text+0x41c>
     d7c:	48 89 c2             	mov    %rax,%rdx
     d7f:	4c 89 e0             	mov    %r12,%rax
     d82:	4c 29 f8             	sub    %r15,%rax
     d85:	48 01 d0             	add    %rdx,%rax
     d88:	48 3d c0 05 00 00    	cmp    $0x5c0,%rax
     d8e:	0f 87 f6 00 00 00    	ja     e8a <cap_to_text+0x52a>
     d94:	4c 89 e7             	mov    %r12,%rdi
     d97:	4d 89 e8             	mov    %r13,%r8
     d9a:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # da1 <cap_to_text+0x441>
     da1:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
     da8:	be 01 00 00 00       	mov    $0x1,%esi
     dad:	31 c0                	xor    %eax,%eax
     daf:	ff c3                	inc    %ebx
     db1:	e8 00 00 00 00       	call   db6 <cap_to_text+0x456>
     db6:	4c 89 ef             	mov    %r13,%rdi
     db9:	48 98                	cltq   
     dbb:	49 01 c4             	add    %rax,%r12
     dbe:	e8 00 00 00 00       	call   dc3 <cap_to_text+0x463>
     dc3:	83 fb 40             	cmp    $0x40,%ebx
     dc6:	75 8f                	jne    d57 <cap_to_text+0x3f7>
     dc8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
     dcf:	00 
     dd0:	49 8d 5c 24 ff       	lea    -0x1(%r12),%rbx
     dd5:	89 e8                	mov    %ebp,%eax
     dd7:	40 f6 c5 02          	test   $0x2,%bpl
     ddb:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # de2 <cap_to_text+0x482>
     de2:	48 8d 15 00 00 00 00 	lea    0x0(%rip),%rdx        # de9 <cap_to_text+0x489>
     de9:	48 0f 45 d1          	cmovne %rcx,%rdx
     ded:	4c 8d 0d 00 00 00 00 	lea    0x0(%rip),%r9        # df4 <cap_to_text+0x494>
     df4:	a8 04                	test   $0x4,%al
     df6:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # dfd <cap_to_text+0x49d>
     dfd:	4c 0f 44 c9          	cmove  %rcx,%r9
     e01:	4c 8d 05 00 00 00 00 	lea    0x0(%rip),%r8        # e08 <cap_to_text+0x4a8>
     e08:	a8 01                	test   $0x1,%al
     e0a:	48 89 df             	mov    %rbx,%rdi
     e0d:	4c 0f 44 c1          	cmove  %rcx,%r8
     e11:	48 83 ec 08          	sub    $0x8,%rsp
     e15:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # e1c <cap_to_text+0x4bc>
     e1c:	be 01 00 00 00       	mov    $0x1,%esi
     e21:	52                   	push   %rdx
     e22:	31 c0                	xor    %eax,%eax
     e24:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
     e2b:	e8 00 00 00 00       	call   e30 <cap_to_text+0x4d0>
     e30:	5a                   	pop    %rdx
     e31:	48 98                	cltq   
     e33:	59                   	pop    %rcx
     e34:	48 01 c3             	add    %rax,%rbx
     e37:	48 89 d8             	mov    %rbx,%rax
     e3a:	4c 29 f8             	sub    %r15,%rax
     e3d:	48 3d c0 05 00 00    	cmp    $0x5c0,%rax
     e43:	0f 8e d0 fc ff ff    	jle    b19 <cap_to_text+0x1b9>
     e49:	e9 a7 fe ff ff       	jmp    cf5 <cap_to_text+0x395>
     e4e:	66 90                	xchg   %ax,%ax
     e50:	80 79 01 20          	cmpb   $0x20,0x1(%rcx)
     e54:	0f 85 d0 fd ff ff    	jne    c2a <cap_to_text+0x2ca>
     e5a:	48 83 44 24 38 02    	addq   $0x2,0x38(%rsp)
     e60:	41 b8 3d 00 00 00    	mov    $0x3d,%r8d
     e66:	e9 bf fd ff ff       	jmp    c2a <cap_to_text+0x2ca>
     e6b:	31 d2                	xor    %edx,%edx
     e6d:	e9 6b fb ff ff       	jmp    9dd <cap_to_text+0x7d>
     e72:	4c 89 e7             	mov    %r12,%rdi
     e75:	e8 00 00 00 00       	call   e7a <cap_to_text+0x51a>
     e7a:	e8 00 00 00 00       	call   e7f <cap_to_text+0x51f>
     e7f:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
     e85:	e9 76 fe ff ff       	jmp    d00 <cap_to_text+0x3a0>
     e8a:	4c 89 ef             	mov    %r13,%rdi
     e8d:	e8 00 00 00 00       	call   e92 <cap_to_text+0x532>
     e92:	e9 5e fe ff ff       	jmp    cf5 <cap_to_text+0x395>
     e97:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
     e9e:	00 00 

0000000000000ea0 <cap_mode_name>:
     ea0:	83 ff 04             	cmp    $0x4,%edi
     ea3:	77 63                	ja     f08 <cap_mode_name+0x68>
     ea5:	48 8d 15 00 00 00 00 	lea    0x0(%rip),%rdx        # eac <cap_mode_name+0xc>
     eac:	89 ff                	mov    %edi,%edi
     eae:	48 63 04 ba          	movslq (%rdx,%rdi,4),%rax
     eb2:	48 01 d0             	add    %rdx,%rax
     eb5:	ff e0                	jmp    *%rax
     eb7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
     ebe:	00 00 
     ec0:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # ec7 <cap_mode_name+0x27>
     ec7:	c3                   	ret    
     ec8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
     ecf:	00 
     ed0:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # ed7 <cap_mode_name+0x37>
     ed7:	c3                   	ret    
     ed8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
     edf:	00 
     ee0:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # ee7 <cap_mode_name+0x47>
     ee7:	c3                   	ret    
     ee8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
     eef:	00 
     ef0:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # ef7 <cap_mode_name+0x57>
     ef7:	c3                   	ret    
     ef8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
     eff:	00 
     f00:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # f07 <cap_mode_name+0x67>
     f07:	c3                   	ret    
     f08:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # f0f <cap_mode_name+0x6f>
     f0f:	c3                   	ret    

0000000000000f10 <cap_iab_to_text>:
     f10:	41 57                	push   %r15
     f12:	41 56                	push   %r14
     f14:	41 55                	push   %r13
     f16:	41 54                	push   %r12
     f18:	55                   	push   %rbp
     f19:	53                   	push   %rbx
     f1a:	48 89 fb             	mov    %rdi,%rbx
     f1d:	48 81 ec 38 06 00 00 	sub    $0x638,%rsp
     f24:	49 89 e6             	mov    %rsp,%r14
     f27:	e8 00 00 00 00       	call   f2c <cap_iab_to_text+0x1c>
     f2c:	4c 89 f2             	mov    %r14,%rdx
     f2f:	48 85 db             	test   %rbx,%rbx
     f32:	74 12                	je     f46 <cap_iab_to_text+0x36>
     f34:	81 7b f8 ab 91 ca 00 	cmpl   $0xca91ab,-0x8(%rbx)
     f3b:	48 63 e8             	movslq %eax,%rbp
     f3e:	41 bc 01 00 00 00    	mov    $0x1,%r12d
     f44:	74 2f                	je     f75 <cap_iab_to_text+0x65>
     f46:	4c 89 f7             	mov    %r14,%rdi
     f49:	c6 02 00             	movb   $0x0,(%rdx)
     f4c:	e8 00 00 00 00       	call   f51 <cap_iab_to_text+0x41>
     f51:	48 81 c4 38 06 00 00 	add    $0x638,%rsp
     f58:	5b                   	pop    %rbx
     f59:	5d                   	pop    %rbp
     f5a:	41 5c                	pop    %r12
     f5c:	41 5d                	pop    %r13
     f5e:	41 5e                	pop    %r14
     f60:	41 5f                	pop    %r15
     f62:	c3                   	ret    
     f63:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
     f6a:	00 00 00 00 
     f6e:	66 90                	xchg   %ax,%ax
     f70:	e8 00 00 00 00       	call   f75 <cap_iab_to_text+0x65>
     f75:	44 89 e2             	mov    %r12d,%edx
     f78:	86 13                	xchg   %dl,(%rbx)
     f7a:	84 d2                	test   %dl,%dl
     f7c:	75 f2                	jne    f70 <cap_iab_to_text+0x60>
     f7e:	85 ed                	test   %ebp,%ebp
     f80:	0f 8e 2a 01 00 00    	jle    10b0 <cap_iab_to_text+0x1a0>
     f86:	49 89 e6             	mov    %rsp,%r14
     f89:	45 31 ff             	xor    %r15d,%r15d
     f8c:	41 bb 01 00 00 00    	mov    $0x1,%r11d
     f92:	41 bd 01 00 00 00    	mov    $0x1,%r13d
     f98:	4c 89 f2             	mov    %r14,%rdx
     f9b:	eb 20                	jmp    fbd <cap_iab_to_text+0xad>
     f9d:	0f 1f 00             	nopl   (%rax)
     fa0:	85 c0                	test   %eax,%eax
     fa2:	0f 85 c8 00 00 00    	jne    1070 <cap_iab_to_text+0x160>
     fa8:	45 85 e4             	test   %r12d,%r12d
     fab:	0f 85 07 01 00 00    	jne    10b8 <cap_iab_to_text+0x1a8>
     fb1:	49 ff c7             	inc    %r15
     fb4:	4c 39 fd             	cmp    %r15,%rbp
     fb7:	0f 84 9b 00 00 00    	je     1058 <cap_iab_to_text+0x148>
     fbd:	44 89 f8             	mov    %r15d,%eax
     fc0:	c4 c2 01 f7 cd       	shlx   %r15d,%r13d,%ecx
     fc5:	45 89 f8             	mov    %r15d,%r8d
     fc8:	c1 f8 05             	sar    $0x5,%eax
     fcb:	48 98                	cltq   
     fcd:	48 8d 34 83          	lea    (%rbx,%rax,4),%rsi
     fd1:	44 8b 66 04          	mov    0x4(%rsi),%r12d
     fd5:	8b 46 0c             	mov    0xc(%rsi),%eax
     fd8:	8b 7e 14             	mov    0x14(%rsi),%edi
     fdb:	44 89 e6             	mov    %r12d,%esi
     fde:	09 c6                	or     %eax,%esi
     fe0:	09 fe                	or     %edi,%esi
     fe2:	85 ce                	test   %ecx,%esi
     fe4:	74 cb                	je     fb1 <cap_iab_to_text+0xa1>
     fe6:	45 85 db             	test   %r11d,%r11d
     fe9:	75 06                	jne    ff1 <cap_iab_to_text+0xe1>
     feb:	c6 02 2c             	movb   $0x2c,(%rdx)
     fee:	48 ff c2             	inc    %rdx
     ff1:	41 21 cc             	and    %ecx,%r12d
     ff4:	21 c8                	and    %ecx,%eax
     ff6:	85 cf                	test   %ecx,%edi
     ff8:	74 a6                	je     fa0 <cap_iab_to_text+0x90>
     ffa:	48 8d 4a 01          	lea    0x1(%rdx),%rcx
     ffe:	c6 02 21             	movb   $0x21,(%rdx)
    1001:	85 c0                	test   %eax,%eax
    1003:	75 6e                	jne    1073 <cap_iab_to_text+0x163>
    1005:	45 85 e4             	test   %r12d,%r12d
    1008:	0f 84 92 00 00 00    	je     10a0 <cap_iab_to_text+0x190>
    100e:	4c 8d 62 02          	lea    0x2(%rdx),%r12
    1012:	c6 42 01 25          	movb   $0x25,0x1(%rdx)
    1016:	49 83 ff 28          	cmp    $0x28,%r15
    101a:	76 64                	jbe    1080 <cap_iab_to_text+0x170>
    101c:	0f 1f 40 00          	nopl   0x0(%rax)
    1020:	48 8d 0d 00 00 00 00 	lea    0x0(%rip),%rcx        # 1027 <cap_iab_to_text+0x117>
    1027:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
    102e:	be 01 00 00 00       	mov    $0x1,%esi
    1033:	4c 89 e7             	mov    %r12,%rdi
    1036:	31 c0                	xor    %eax,%eax
    1038:	e8 00 00 00 00       	call   103d <cap_iab_to_text+0x12d>
    103d:	4c 89 e7             	mov    %r12,%rdi
    1040:	49 ff c7             	inc    %r15
    1043:	e8 00 00 00 00       	call   1048 <cap_iab_to_text+0x138>
    1048:	45 31 db             	xor    %r11d,%r11d
    104b:	49 8d 14 04          	lea    (%r12,%rax,1),%rdx
    104f:	4c 39 fd             	cmp    %r15,%rbp
    1052:	0f 85 65 ff ff ff    	jne    fbd <cap_iab_to_text+0xad>
    1058:	31 c0                	xor    %eax,%eax
    105a:	86 03                	xchg   %al,(%rbx)
    105c:	e9 e5 fe ff ff       	jmp    f46 <cap_iab_to_text+0x36>
    1061:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
    1068:	00 00 00 00 
    106c:	0f 1f 40 00          	nopl   0x0(%rax)
    1070:	48 89 d1             	mov    %rdx,%rcx
    1073:	4c 8d 61 01          	lea    0x1(%rcx),%r12
    1077:	c6 01 5e             	movb   $0x5e,(%rcx)
    107a:	49 83 ff 28          	cmp    $0x28,%r15
    107e:	77 a0                	ja     1020 <cap_iab_to_text+0x110>
    1080:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # 1087 <cap_iab_to_text+0x177>
    1087:	4c 89 e7             	mov    %r12,%rdi
    108a:	4a 8b 34 f8          	mov    (%rax,%r15,8),%rsi
    108e:	e8 00 00 00 00       	call   1093 <cap_iab_to_text+0x183>
    1093:	eb a8                	jmp    103d <cap_iab_to_text+0x12d>
    1095:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
    109c:	00 00 00 00 
    10a0:	49 89 cc             	mov    %rcx,%r12
    10a3:	e9 6e ff ff ff       	jmp    1016 <cap_iab_to_text+0x106>
    10a8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
    10af:	00 
    10b0:	49 89 e6             	mov    %rsp,%r14
    10b3:	4c 89 f2             	mov    %r14,%rdx
    10b6:	eb a0                	jmp    1058 <cap_iab_to_text+0x148>
    10b8:	49 89 d4             	mov    %rdx,%r12
    10bb:	e9 56 ff ff ff       	jmp    1016 <cap_iab_to_text+0x106>

00000000000010c0 <cap_iab_from_text>:
    10c0:	41 54                	push   %r12
    10c2:	55                   	push   %rbp
    10c3:	53                   	push   %rbx
    10c4:	48 83 ec 10          	sub    $0x10,%rsp
    10c8:	48 89 7c 24 08       	mov    %rdi,0x8(%rsp)
    10cd:	e8 00 00 00 00       	call   10d2 <cap_iab_from_text+0x12>
    10d2:	48 85 c0             	test   %rax,%rax
    10d5:	0f 84 38 01 00 00    	je     1213 <cap_iab_from_text+0x153>
    10db:	48 89 c5             	mov    %rax,%rbp
    10de:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
    10e3:	48 85 c0             	test   %rax,%rax
    10e6:	0f 84 29 01 00 00    	je     1215 <cap_iab_from_text+0x155>
    10ec:	0f b6 00             	movzbl (%rax),%eax
    10ef:	31 db                	xor    %ebx,%ebx
    10f1:	4c 8d 64 24 08       	lea    0x8(%rsp),%r12
    10f6:	84 c0                	test   %al,%al
    10f8:	0f 85 97 00 00 00    	jne    1195 <cap_iab_from_text+0xd5>
    10fe:	e9 12 01 00 00       	jmp    1215 <cap_iab_from_text+0x155>
    1103:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
    110a:	00 00 00 00 
    110e:	66 90                	xchg   %ax,%ax
    1110:	3c 21                	cmp    $0x21,%al
    1112:	0f 84 98 00 00 00    	je     11b0 <cap_iab_from_text+0xf0>
    1118:	4c 89 e7             	mov    %r12,%rdi
    111b:	85 db                	test   %ebx,%ebx
    111d:	0f 84 ad 00 00 00    	je     11d0 <cap_iab_from_text+0x110>
    1123:	e8 48 f1 ff ff       	call   270 <lookupname>
    1128:	83 f8 ff             	cmp    $0xffffffff,%eax
    112b:	0f 84 cf 00 00 00    	je     1200 <cap_iab_from_text+0x140>
    1131:	b9 01 00 00 00       	mov    $0x1,%ecx
    1136:	89 c2                	mov    %eax,%edx
    1138:	89 de                	mov    %ebx,%esi
    113a:	c4 e2 79 f7 c1       	shlx   %eax,%ecx,%eax
    113f:	89 d9                	mov    %ebx,%ecx
    1141:	c1 fa 05             	sar    $0x5,%edx
    1144:	83 e6 10             	and    $0x10,%esi
    1147:	83 e1 08             	and    $0x8,%ecx
    114a:	83 e3 04             	and    $0x4,%ebx
    114d:	0f 85 ce 00 00 00    	jne    1221 <cap_iab_from_text+0x161>
    1153:	85 c9                	test   %ecx,%ecx
    1155:	74 06                	je     115d <cap_iab_from_text+0x9d>
    1157:	89 d1                	mov    %edx,%ecx
    1159:	09 44 8d 0c          	or     %eax,0xc(%rbp,%rcx,4)
    115d:	85 f6                	test   %esi,%esi
    115f:	74 04                	je     1165 <cap_iab_from_text+0xa5>
    1161:	09 44 95 14          	or     %eax,0x14(%rbp,%rdx,4)
    1165:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
    116a:	0f b6 10             	movzbl (%rax),%edx
    116d:	84 d2                	test   %dl,%dl
    116f:	0f 84 a0 00 00 00    	je     1215 <cap_iab_from_text+0x155>
    1175:	80 fa 2c             	cmp    $0x2c,%dl
    1178:	0f 85 82 00 00 00    	jne    1200 <cap_iab_from_text+0x140>
    117e:	31 db                	xor    %ebx,%ebx
    1180:	48 8d 50 01          	lea    0x1(%rax),%rdx
    1184:	0f b6 40 01          	movzbl 0x1(%rax),%eax
    1188:	48 89 54 24 08       	mov    %rdx,0x8(%rsp)
    118d:	84 c0                	test   %al,%al
    118f:	0f 84 80 00 00 00    	je     1215 <cap_iab_from_text+0x155>
    1195:	3c 25                	cmp    $0x25,%al
    1197:	74 27                	je     11c0 <cap_iab_from_text+0x100>
    1199:	3c 5e                	cmp    $0x5e,%al
    119b:	0f 85 6f ff ff ff    	jne    1110 <cap_iab_from_text+0x50>
    11a1:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
    11a6:	83 cb 0c             	or     $0xc,%ebx
    11a9:	eb d5                	jmp    1180 <cap_iab_from_text+0xc0>
    11ab:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
    11b0:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
    11b5:	83 cb 10             	or     $0x10,%ebx
    11b8:	eb c6                	jmp    1180 <cap_iab_from_text+0xc0>
    11ba:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
    11c0:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
    11c5:	83 cb 04             	or     $0x4,%ebx
    11c8:	eb b6                	jmp    1180 <cap_iab_from_text+0xc0>
    11ca:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
    11d0:	e8 9b f0 ff ff       	call   270 <lookupname>
    11d5:	83 f8 ff             	cmp    $0xffffffff,%eax
    11d8:	74 26                	je     1200 <cap_iab_from_text+0x140>
    11da:	89 c1                	mov    %eax,%ecx
    11dc:	ba 01 00 00 00       	mov    $0x1,%edx
    11e1:	c1 f9 05             	sar    $0x5,%ecx
    11e4:	c4 e2 79 f7 c2       	shlx   %eax,%edx,%eax
    11e9:	09 44 8d 04          	or     %eax,0x4(%rbp,%rcx,4)
    11ed:	e9 73 ff ff ff       	jmp    1165 <cap_iab_from_text+0xa5>
    11f2:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
    11f9:	00 00 00 00 
    11fd:	0f 1f 00             	nopl   (%rax)
    1200:	48 89 ef             	mov    %rbp,%rdi
    1203:	e8 00 00 00 00       	call   1208 <cap_iab_from_text+0x148>
    1208:	e8 00 00 00 00       	call   120d <cap_iab_from_text+0x14d>
    120d:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
    1213:	31 ed                	xor    %ebp,%ebp
    1215:	48 83 c4 10          	add    $0x10,%rsp
    1219:	48 89 e8             	mov    %rbp,%rax
    121c:	5b                   	pop    %rbx
    121d:	5d                   	pop    %rbp
    121e:	41 5c                	pop    %r12
    1220:	c3                   	ret    
    1221:	89 d7                	mov    %edx,%edi
    1223:	09 44 bd 04          	or     %eax,0x4(%rbp,%rdi,4)
    1227:	e9 27 ff ff ff       	jmp    1153 <cap_iab_from_text+0x93>
    122c:	0f 1f 40 00          	nopl   0x0(%rax)

0000000000001230 <cap_proc_root>:
    1230:	53                   	push   %rbx
    1231:	48 8b 1d 00 00 00 00 	mov    0x0(%rip),%rbx        # 1238 <cap_proc_root+0x8>
    1238:	48 85 ff             	test   %rdi,%rdi
    123b:	74 0c                	je     1249 <cap_proc_root+0x19>
    123d:	e8 00 00 00 00       	call   1242 <cap_proc_root+0x12>
    1242:	48 89 05 00 00 00 00 	mov    %rax,0x0(%rip)        # 1249 <cap_proc_root+0x19>
    1249:	48 89 d8             	mov    %rbx,%rax
    124c:	5b                   	pop    %rbx
    124d:	c3                   	ret    
    124e:	66 90                	xchg   %ax,%ax

0000000000001250 <cap_iab_get_pid>:
    1250:	41 55                	push   %r13
    1252:	41 54                	push   %r12
    1254:	55                   	push   %rbp
    1255:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # 125c <cap_iab_get_pid+0xc>
    125c:	53                   	push   %rbx
    125d:	41 89 f8             	mov    %edi,%r8d
    1260:	48 8d 15 00 00 00 00 	lea    0x0(%rip),%rdx        # 1267 <cap_iab_get_pid+0x17>
    1267:	be 01 00 00 00       	mov    $0x1,%esi
    126c:	48 81 ec 98 00 00 00 	sub    $0x98,%rsp
    1273:	48 8b 0d 00 00 00 00 	mov    0x0(%rip),%rcx        # 127a <cap_iab_get_pid+0x2a>
    127a:	48 8d 7c 24 08       	lea    0x8(%rsp),%rdi
    127f:	48 85 c9             	test   %rcx,%rcx
    1282:	48 0f 44 c8          	cmove  %rax,%rcx
    1286:	31 c0                	xor    %eax,%eax
    1288:	e8 00 00 00 00       	call   128d <cap_iab_get_pid+0x3d>
    128d:	85 c0                	test   %eax,%eax
    128f:	0f 8e 4b 01 00 00    	jle    13e0 <cap_iab_get_pid+0x190>
    1295:	48 8b 7c 24 08       	mov    0x8(%rsp),%rdi
    129a:	48 8d 35 00 00 00 00 	lea    0x0(%rip),%rsi        # 12a1 <cap_iab_get_pid+0x51>
    12a1:	e8 00 00 00 00       	call   12a6 <cap_iab_get_pid+0x56>
    12a6:	48 8b 7c 24 08       	mov    0x8(%rsp),%rdi
    12ab:	48 89 c5             	mov    %rax,%rbp
    12ae:	e8 00 00 00 00       	call   12b3 <cap_iab_get_pid+0x63>
    12b3:	48 85 ed             	test   %rbp,%rbp
    12b6:	0f 84 24 01 00 00    	je     13e0 <cap_iab_get_pid+0x190>
    12bc:	e8 00 00 00 00       	call   12c1 <cap_iab_get_pid+0x71>
    12c1:	45 31 ed             	xor    %r13d,%r13d
    12c4:	48 8d 5c 24 10       	lea    0x10(%rsp),%rbx
    12c9:	49 89 c4             	mov    %rax,%r12
    12cc:	48 85 c0             	test   %rax,%rax
    12cf:	0f 84 e1 00 00 00    	je     13b6 <cap_iab_get_pid+0x166>
    12d5:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
    12dc:	00 00 00 00 
    12e0:	48 89 ea             	mov    %rbp,%rdx
    12e3:	be 7b 00 00 00       	mov    $0x7b,%esi
    12e8:	48 89 df             	mov    %rbx,%rdi
    12eb:	e8 00 00 00 00       	call   12f0 <cap_iab_get_pid+0xa0>
    12f0:	48 85 c0             	test   %rax,%rax
    12f3:	0f 84 b7 00 00 00    	je     13b0 <cap_iab_get_pid+0x160>
    12f9:	66 81 3b 43 61       	cmpw   $0x6143,(%rbx)
    12fe:	75 e0                	jne    12e0 <cap_iab_get_pid+0x90>
    1300:	80 7b 02 70          	cmpb   $0x70,0x2(%rbx)
    1304:	75 da                	jne    12e0 <cap_iab_get_pid+0x90>
    1306:	81 7c 24 13 49 6e 68 	cmpl   $0x3a686e49,0x13(%rsp)
    130d:	3a 
    130e:	74 40                	je     1350 <cap_iab_get_pid+0x100>
    1310:	81 7c 24 13 42 6e 64 	cmpl   $0x3a646e42,0x13(%rsp)
    1317:	3a 
    1318:	74 66                	je     1380 <cap_iab_get_pid+0x130>
    131a:	81 7c 24 13 41 6d 62 	cmpl   $0x3a626d41,0x13(%rsp)
    1321:	3a 
    1322:	75 bc                	jne    12e0 <cap_iab_get_pid+0x90>
    1324:	80 7c 24 17 09       	cmpb   $0x9,0x17(%rsp)
    1329:	75 b5                	jne    12e0 <cap_iab_get_pid+0x90>
    132b:	48 8d 74 24 18       	lea    0x18(%rsp),%rsi
    1330:	49 8d 7c 24 0c       	lea    0xc(%r12),%rdi
    1335:	31 d2                	xor    %edx,%edx
    1337:	e8 14 ed ff ff       	call   50 <_parse_vec_string>
    133c:	83 e0 08             	and    $0x8,%eax
    133f:	41 09 c5             	or     %eax,%r13d
    1342:	eb 9c                	jmp    12e0 <cap_iab_get_pid+0x90>
    1344:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
    134b:	00 00 00 00 
    134f:	90                   	nop
    1350:	80 7c 24 17 09       	cmpb   $0x9,0x17(%rsp)
    1355:	75 b9                	jne    1310 <cap_iab_get_pid+0xc0>
    1357:	48 8d 74 24 18       	lea    0x18(%rsp),%rsi
    135c:	49 8d 7c 24 04       	lea    0x4(%r12),%rdi
    1361:	31 d2                	xor    %edx,%edx
    1363:	e8 e8 ec ff ff       	call   50 <_parse_vec_string>
    1368:	83 e0 04             	and    $0x4,%eax
    136b:	41 09 c5             	or     %eax,%r13d
    136e:	e9 6d ff ff ff       	jmp    12e0 <cap_iab_get_pid+0x90>
    1373:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
    137a:	00 00 00 00 
    137e:	66 90                	xchg   %ax,%ax
    1380:	80 7c 24 17 09       	cmpb   $0x9,0x17(%rsp)
    1385:	75 93                	jne    131a <cap_iab_get_pid+0xca>
    1387:	48 8d 74 24 18       	lea    0x18(%rsp),%rsi
    138c:	49 8d 7c 24 14       	lea    0x14(%r12),%rdi
    1391:	ba 01 00 00 00       	mov    $0x1,%edx
    1396:	e8 b5 ec ff ff       	call   50 <_parse_vec_string>
    139b:	83 e0 10             	and    $0x10,%eax
    139e:	41 09 c5             	or     %eax,%r13d
    13a1:	e9 3a ff ff ff       	jmp    12e0 <cap_iab_get_pid+0x90>
    13a6:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
    13ad:	00 00 00 
    13b0:	41 83 fd 1c          	cmp    $0x1c,%r13d
    13b4:	74 0b                	je     13c1 <cap_iab_get_pid+0x171>
    13b6:	4c 89 e7             	mov    %r12,%rdi
    13b9:	45 31 e4             	xor    %r12d,%r12d
    13bc:	e8 00 00 00 00       	call   13c1 <cap_iab_get_pid+0x171>
    13c1:	48 89 ef             	mov    %rbp,%rdi
    13c4:	e8 00 00 00 00       	call   13c9 <cap_iab_get_pid+0x179>
    13c9:	48 81 c4 98 00 00 00 	add    $0x98,%rsp
    13d0:	4c 89 e0             	mov    %r12,%rax
    13d3:	5b                   	pop    %rbx
    13d4:	5d                   	pop    %rbp
    13d5:	41 5c                	pop    %r12
    13d7:	41 5d                	pop    %r13
    13d9:	c3                   	ret    
    13da:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
    13e0:	45 31 e4             	xor    %r12d,%r12d
    13e3:	eb e4                	jmp    13c9 <cap_iab_get_pid+0x179>

Disassembly of section .text.exit:

0000000000000000 <_cleanup_libcap>:
   0:	48 8b 3d 00 00 00 00 	mov    0x0(%rip),%rdi        # 7 <_cleanup_libcap+0x7>
   7:	48 85 ff             	test   %rdi,%rdi
   a:	74 19                	je     25 <_cleanup_libcap+0x25>
   c:	48 83 ec 08          	sub    $0x8,%rsp
  10:	e8 00 00 00 00       	call   15 <_cleanup_libcap+0x15>
  15:	48 c7 05 00 00 00 00 	movq   $0x0,0x0(%rip)        # 20 <_cleanup_libcap+0x20>
  1c:	00 00 00 00 
  20:	48 83 c4 08          	add    $0x8,%rsp
  24:	c3                   	ret    
  25:	c3                   	ret    

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re:
  2022-01-10 12:03 Manuel Lauss
@ 2022-01-10 12:10 ` Jonathan Wakely
  2022-01-10 12:12   ` Re: Manuel Lauss
  0 siblings, 1 reply; 4+ messages in thread
From: Jonathan Wakely @ 2022-01-10 12:10 UTC (permalink / raw)
  To: Manuel Lauss; +Cc: gcc-help

On Mon, 10 Jan 2022 at 12:04, Manuel Lauss via Gcc-help
<gcc-help@gcc.gnu.org> wrote:
>
> I'm seeing an issue with what looks like a miscompilation of libcap with gcc-12:
[...]
> I attach the disassemblies of the gcc-11 (OK) and gcc-12 built (BAD)
> cap_text.o files. Maybe someone here can use this to figure out what
> went wrong.

This should be in bugzilla really.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re:
  2022-01-10 12:10 ` Jonathan Wakely
@ 2022-01-10 12:12   ` Manuel Lauss
  2022-01-10 12:15     ` Re: Jonathan Wakely
  0 siblings, 1 reply; 4+ messages in thread
From: Manuel Lauss @ 2022-01-10 12:12 UTC (permalink / raw)
  To: Jonathan Wakely; +Cc: gcc-help

On Mon, Jan 10, 2022 at 1:10 PM Jonathan Wakely <jwakely.gcc@gmail.com> wrote:
>
> On Mon, 10 Jan 2022 at 12:04, Manuel Lauss via Gcc-help
> <gcc-help@gcc.gnu.org> wrote:
> >
> > I'm seeing an issue with what looks like a miscompilation of libcap with gcc-12:
> [...]
> > I attach the disassemblies of the gcc-11 (OK) and gcc-12 built (BAD)
> > cap_text.o files. Maybe someone here can use this to figure out what
> > went wrong.
>
> This should be in bugzilla really.

OK, I felt that this was too vague yet.

Manuel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re:
  2022-01-10 12:12   ` Re: Manuel Lauss
@ 2022-01-10 12:15     ` Jonathan Wakely
  0 siblings, 0 replies; 4+ messages in thread
From: Jonathan Wakely @ 2022-01-10 12:15 UTC (permalink / raw)
  To: Manuel Lauss; +Cc: gcc-help

On Mon, 10 Jan 2022 at 12:13, Manuel Lauss <manuel.lauss@gmail.com> wrote:
>
> On Mon, Jan 10, 2022 at 1:10 PM Jonathan Wakely <jwakely.gcc@gmail.com> wrote:
> >
> > On Mon, 10 Jan 2022 at 12:04, Manuel Lauss via Gcc-help
> > <gcc-help@gcc.gnu.org> wrote:
> > >
> > > I'm seeing an issue with what looks like a miscompilation of libcap with gcc-12:
> > [...]
> > > I attach the disassemblies of the gcc-11 (OK) and gcc-12 built (BAD)
> > > cap_text.o files. Maybe someone here can use this to figure out what
> > > went wrong.
> >
> > This should be in bugzilla really.
>
> OK, I felt that this was too vague yet.

Add the preprocessed cap_text.i file and the two cap_text.s files from
gcc-11 and gcc-12 and it should be good enough.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-01-10 12:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-10 12:03 Manuel Lauss
2022-01-10 12:10 ` Jonathan Wakely
2022-01-10 12:12   ` Re: Manuel Lauss
2022-01-10 12:15     ` Re: Jonathan Wakely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).