100416603:	83 e0 f0             	and    $0xfffffff0,%eax
100416606:	09 d0                	or     %edx,%eax
100416608:	48 83 7e 08 00       	cmpq   $0x0,0x8(%rsi)
10041660d:	41 88 44 24 68       	mov    %al,0x68(%r12)
100416612:	0f 8e 36 01 00 00    	jle    10041674e <.text+0x1574e>
100416618:	44 89 f8             	mov    %r15d,%eax
10041661b:	45 31 db             	xor    %r11d,%r11d
10041661e:	31 db                	xor    %ebx,%ebx
100416620:	49 89 f5             	mov    %rsi,%r13
100416623:	83 e0 04             	and    $0x4,%eax
100416626:	89 44 24 2c          	mov    %eax,0x2c(%rsp)
10041662a:	44 89 f8             	mov    %r15d,%eax
10041662d:	41 83 e7 01          	and    $0x1,%r15d
100416631:	83 e0 02             	and    $0x2,%eax
100416634:	89 44 24 28          	mov    %eax,0x28(%rsp)
100416638:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
10041663f:	00
100416640:	49 8b 45 10          	mov    0x10(%r13),%rax
100416644:	48 8b 04 d8          	mov    (%rax,%rbx,8),%rax
100416648:	48 c1 e0 04          	shl    $0x4,%rax
10041664c:	49 03 06             	add    (%r14),%rax
10041664f:	8b 50 08             	mov    0x8(%rax),%edx
100416652:	44 0f b6 40 08       	movzbl 0x8(%rax),%r8d
100416657:	c1 ea 08             	shr    $0x8,%edx
10041665a:	89 d6                	mov    %edx,%esi
10041665c:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
100416662:	66 81 e6 ff 03       	and    $0x3ff,%si
100416667:	41 83 f8 01          	cmp    $0x1,%r8d
10041666b:	75 08                	jne    100416675 <.text+0x15675>
10041666d:	85 d2                	test   %edx,%edx
10041666f:	0f 84 cb 00 00 00    	je     100416740 <.text+0x15740>
100416675:	41 0f b6 4c 24 68    	movzbl 0x68(%r12),%ecx
10041667b:	0f b6 40 0a          	movzbl 0xa(%rax),%eax
10041667f:	41 89 ca             	mov    %ecx,%r10d
100416682:	c0 e8 04             	shr    $0x4,%al
100416685:	83 e1 df             	and    $0xffffffdf,%ecx
100416688:	41 c0 ea 05          	shr    $0x5,%r10b
10041668c:	44 09 d0             	or     %r10d,%eax
10041668f:	83 e0 01             	and    $0x1,%eax
100416692:	c1 e0 05             	shl    $0x5,%eax
100416695:	09 c1                	or     %eax,%ecx
100416697:	41 88 4c 24 68       	mov    %cl,0x68(%r12)
10041669c:	41 83 f8 02          	cmp    $0x2,%r8d
1004166a0:	0f 84 e2 00 00 00    	je     100416788 <.text+0x15788>
1004166a6:	41 83 f8 04          	cmp    $0x4,%r8d
1004166aa:	75 08                	jne    1004166b4 <.text+0x156b4>
1004166ac:	83 c9 40             	or     $0x40,%ecx
1004166af:	41 88 4c 24 68       	mov    %cl,0x68(%r12)
1004166b4:	85 d2                	test   %edx,%edx
1004166b6:	0f 84 84 00 00 00    	je     100416740 <.text+0x15740>
1004166bc:	49 3b 6c 24 50       	cmp    0x50(%r12),%rbp
1004166c1:	0f 84 e9 00 00 00    	je     1004167b0 <.text+0x157b0>
1004166c7:	40 f6 c6 01          	test   $0x1,%sil
1004166cb:	0f 84 c7 00 00 00    	je     100416798 <.text+0x15798>
1004166d1:	45 85 ff             	test   %r15d,%r15d
1004166d4:	74 2a                	je     100416700 <.text+0x15700>
1004166d6:	40 f6 c6 02          	test   $0x2,%sil
1004166da:	75 24                	jne    100416700 <.text+0x15700>
1004166dc:	40 f6 c6 10          	test   $0x10,%sil
1004166e0:	74 08                	je     1004166ea <.text+0x156ea>
1004166e2:	8b 54 24 28          	mov    0x28(%rsp),%edx
1004166e6:	85 d2                	test   %edx,%edx
1004166e8:	74 16                	je     100416700 <.text+0x15700>
1004166ea:	83 e6 40             	and    $0x40,%esi
1004166ed:	74 51                	je     100416740 <.text+0x15740>
1004166ef:	8b 44 24 2c          	mov    0x2c(%rsp),%eax
1004166f3:	85 c0                	test   %eax,%eax
1004166f5:	75 49                	jne    100416740 <.text+0x15740>
1004166f7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1004166fe:	00 00
100416700:	48 89 d8             	mov    %rbx,%rax
100416703:	4c 29 d8             	sub    %r11,%rax
100416706:	78 34                	js     10041673c <.text+0x1573c>
100416708:	49 8b 54 24 10       	mov    0x10(%r12),%rdx
10041670d:	48 39 d0             	cmp    %rdx,%rax
100416710:	7d 2a                	jge    10041673c <.text+0x1573c>
100416712:	48 83 ea 01          	sub    $0x1,%rdx
100416716:	49 89 54 24 10       	mov    %rdx,0x10(%r12)
10041671b:	48 39 d0             	cmp    %rdx,%rax
10041671e:	7d 1c                	jge    10041673c <.text+0x1573c>
100416720:	49 8b 54 24 18       	mov    0x18(%r12),%rdx
100416725:	0f 1f 00             	nopl   (%rax)
100416728:	48 8b 4c c2 08       	mov    0x8(%rdx,%rax,8),%rcx
10041672d:	48 89 0c c2          	mov    %rcx,(%rdx,%rax,8)
100416731:	48 83 c0 01          	add    $0x1,%rax
100416735:	49 3b 44 24 10       	cmp    0x10(%r12),%rax
10041673a:	7c ec                	jl     100416728 <.text+0x15728>
10041673c:	49 83 c3 01          	add    $0x1,%r11
100416740:	48 83 c3 01          	add    $0x1,%rbx
100416744:	49 3b 5d 08          	cmp    0x8(%r13),%rbx
100416748:	0f 8c f2 fe ff ff    	jl     100416640 <.text+0x15640>
10041674e:	49 89 f8             	mov    %rdi,%r8
100416751:	4c 89 e2             	mov    %r12,%rdx
100416754:	4c 89 f1             	mov    %r14,%rcx
100416757:	e8 94 fc ff ff       	call   1004163f0 <.text+0x153f0>
10041675c:	85 c0                	test   %eax,%eax
10041675e:	0f 84 3f fe ff ff    	je     1004165a3 <.text+0x155a3>
100416764:	4c 89 e1             	mov    %r12,%rcx
100416767:	e8 24 c6 ff ff       	call   100412d90 <.text+0x11d90>
10041676c:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
100416773:	00
100416774:	45 31 e4             	xor    %r12d,%r12d
100416777:	c7 00 0c 00 00 00    	movl   $0xc,(%rax)
10041677d:	e9 21 fe ff ff       	jmp    1004165a3 <.text+0x155a3>
100416782:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
100416788:	83 c9 10             	or     $0x10,%ecx
10041678b:	41 88 4c 24 68       	mov    %cl,0x68(%r12)
100416790:	e9 1f ff ff ff       	jmp    1004166b4 <.text+0x156b4>
100416795:	0f 1f 00             	nopl   (%rax)
100416798:	40 f6 c6 02          	test   $0x2,%sil
10041679c:	0f 84 3a ff ff ff    	je     1004166dc <.text+0x156dc>
1004167a2:	45 85 ff             	test   %r15d,%r15d
1004167a5:	0f 84 31 ff ff ff    	je     1004166dc <.text+0x156dc>
1004167ab:	e9 50 ff ff ff       	jmp    100416700 <.text+0x15700>
1004167b0:	b9 18 00 00 00       	mov    $0x18,%ecx
1004167b5:	e8 a6 b1 00 00       	call   100421960 <.text+0x20960>
1004167ba:	48 89 c1             	mov    %rax,%rcx
1004167bd:	48 85 c0             	test   %rax,%rax
1004167c0:	74 a2                	je     100416764 <.text+0x15764>
1004167c2:	49 89 44 24 50       	mov    %rax,0x50(%r12)
1004167c7:	4c 89 ea             	mov    %r13,%rdx
1004167ca:	e8 11 e0 ff ff       	call   1004147e0 <.text+0x137e0>
1004167cf:	85 c0                	test   %eax,%eax
1004167d1:	75 91                	jne    100416764 <.text+0x15764>
1004167d3:	41 80 4c 24 68 80    	orb    $0x80,0x68(%r12)
1004167d9:	45 31 db             	xor    %r11d,%r11d
1004167dc:	e9 e6 fe ff ff       	jmp    1004166c7 <.text+0x156c7>
1004167e1:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1004167e8:	c7 01 00 00 00 00    	movl   $0x0,(%rcx)
1004167ee:	45 31 e4             	xor    %r12d,%r12d
1004167f1:	e9 ad fd ff ff       	jmp    1004165a3 <.text+0x155a3>
1004167f6:	4c 89 e1             	mov    %r12,%rcx
1004167f9:	e8 42 91 ff ff       	call   10040f940 <.text+0xe940>
1004167fe:	e9 69 ff ff ff       	jmp    10041676c <.text+0x1576c>
100416803:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
10041680a:	00 00 00 00
10041680e:	66 90                	xchg   %ax,%ax
100416810:	41 57                	push   %r15
100416812:	41 56                	push   %r14
100416814:	41 55                	push   %r13
100416816:	41 54                	push   %r12
100416818:	55                   	push   %rbp
100416819:	57                   	push   %rdi
10041681a:	56                   	push   %rsi
10041681b:	53                   	push   %rbx
10041681c:	48 83 ec 28          	sub    $0x28,%rsp
100416820:	49 8b 70 08          	mov    0x8(%r8),%rsi
100416824:	48 89 cf             	mov    %rcx,%rdi
100416827:	49 89 d5             	mov    %rdx,%r13
10041682a:	4d 89 c6             	mov    %r8,%r14
10041682d:	48 85 f6             	test   %rsi,%rsi
100416830:	0f 84 b5 01 00 00    	je     1004169eb <.text+0x159eb>
100416836:	7e 14                	jle    10041684c <.text+0x1584c>
100416838:	49 8b 40 10          	mov    0x10(%r8),%rax
10041683c:	48 8d 14 f0          	lea    (%rax,%rsi,8),%rdx
100416840:	48 03 30             	add    (%rax),%rsi
100416843:	48 83 c0 08          	add    $0x8,%rax
100416847:	48 39 c2             	cmp    %rax,%rdx
10041684a:	75 f4                	jne    100416840 <.text+0x15840>
10041684c:	49 8b 85 88 00 00 00 	mov    0x88(%r13),%rax
100416853:	48 21 f0             	and    %rsi,%rax
100416856:	48 8d 14 40          	lea    (%rax,%rax,2),%rdx
10041685a:	49 8b 45 40          	mov    0x40(%r13),%rax
10041685e:	48 8d 04 d0          	lea    (%rax,%rdx,8),%rax
100416862:	48 8b 28             	mov    (%rax),%rbp
100416865:	48 85 ed             	test   %rbp,%rbp
100416868:	7e 2e                	jle    100416898 <.text+0x15898>
10041686a:	4c 8b 78 10          	mov    0x10(%rax),%r15
10041686e:	31 db                	xor    %ebx,%ebx
100416870:	4d 8b 24 df          	mov    (%r15,%rbx,8),%r12
100416874:	49 39 34 24          	cmp    %rsi,(%r12)
100416878:	75 15                	jne    10041688f <.text+0x1588f>
10041687a:	49 8d 4c 24 08       	lea    0x8(%r12),%rcx
10041687f:	4c 89 f2             	mov    %r14,%rdx
100416882:	e8 d9 b9 ff ff       	call   100412260 <.text+0x11260>
100416887:	84 c0                	test   %al,%al
100416889:	0f 85 0d 01 00 00    	jne    10041699c <.text+0x1599c>
10041688f:	48 83 c3 01          	add    $0x1,%rbx
100416893:	48 39 eb             	cmp    %rbp,%rbx
100416896:	75 d8                	jne    100416870 <.text+0x15870>
100416898:	ba 01 00 00 00       	mov    $0x1,%edx
10041689d:	b9 70 00 00 00       	mov    $0x70,%ecx
1004168a2:	e8 29 ae 00 00       	call   1004216d0 <.text+0x206d0>
1004168a7:	49 89 c4             	mov    %rax,%r12
1004168aa:	48 85 c0             	test   %rax,%rax
1004168ad:	0f 84 2d 01 00 00    	je     1004169e0 <.text+0x159e0>
1004168b3:	48 8d 58 08          	lea    0x8(%rax),%rbx
1004168b7:	4c 89 f2             	mov    %r14,%rdx
1004168ba:	48 89 d9             	mov    %rbx,%rcx
1004168bd:	e8 1e df ff ff       	call   1004147e0 <.text+0x137e0>
1004168c2:	85 c0                	test   %eax,%eax
1004168c4:	0f 85 0e 01 00 00    	jne    1004169d8 <.text+0x159d8>
1004168ca:	49 8b 46 08          	mov    0x8(%r14),%rax
1004168ce:	49 89 5c 24 50       	mov    %rbx,0x50(%r12)
1004168d3:	48 85 c0             	test   %rax,%rax
1004168d6:	0f 8e ae 00 00 00    	jle    10041698a <.text+0x1598a>
1004168dc:	4d 8b 46 10          	mov    0x10(%r14),%r8
1004168e0:	4d 8b 5d 00          	mov    0x0(%r13),%r11
1004168e4:	4d 8d 14 c0          	lea    (%r8,%rax,8),%r10
1004168e8:	eb 4f                	jmp    100416939 <.text+0x15939>
1004168ea:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1004168f0:	41 0f b6 4c 24 68    	movzbl 0x68(%r12),%ecx
1004168f6:	0f b6 50 0a          	movzbl 0xa(%rax),%edx
1004168fa:	89 cb                	mov    %ecx,%ebx
1004168fc:	c0 ea 04             	shr    $0x4,%dl
1004168ff:	83 e1 df             	and    $0xffffffdf,%ecx
100416902:	c0 eb 05             	shr    $0x5,%bl
100416905:	09 da                	or     %ebx,%edx
100416907:	83 e2 01             	and    $0x1,%edx
10041690a:	c1 e2 05             	shl    $0x5,%edx
10041690d:	09 d1                	or     %edx,%ecx
10041690f:	41 88 4c 24 68       	mov    %cl,0x68(%r12)
100416914:	41 83 f9 02          	cmp    $0x2,%r9d
100416918:	0f 84 92 00 00 00    	je     1004169b0 <.text+0x159b0>
10041691e:	41 83 f9 04          	cmp    $0x4,%r9d
100416922:	0f 85 98 00 00 00    	jne    1004169c0 <.text+0x159c0>
100416928:	83 c9 40             	or     $0x40,%ecx
10041692b:	41 88 4c 24 68       	mov    %cl,0x68(%r12)
100416930:	49 83 c0 08          	add    $0x8,%r8
100416934:	4d 39 c2             	cmp    %r8,%r10
100416937:	74 51                	je     10041698a <.text+0x1598a>
100416939:	49 8b 00             	mov    (%r8),%rax
10041693c:	48 c1 e0 04          	shl    $0x4,%rax
100416940:	4c 01 d8             	add    %r11,%rax
100416943:	44 0f b6 48 08       	movzbl 0x8(%rax),%r9d
100416948:	41 83 f9 01          	cmp    $0x1,%r9d
10041694c:	75 a2                	jne    1004168f0 <.text+0x158f0>
10041694e:	f7 40 08 00 ff 03 00 	testl  $0x3ff00,0x8(%rax)
100416955:	74 d9                	je     100416930 <.text+0x15930>
100416957:	41 0f b6 54 24 68    	movzbl 0x68(%r12),%edx
10041695d:	0f b6 40 0a          	movzbl 0xa(%rax),%eax
100416961:	89 d1                	mov    %edx,%ecx
100416963:	c0 e8 04             	shr    $0x4,%al
100416966:	83 e2 df             	and    $0xffffffdf,%edx
100416969:	c0 e9 05             	shr    $0x5,%cl
10041696c:	09 c8                	or     %ecx,%eax
10041696e:	83 e0 01             	and    $0x1,%eax
100416971:	c1 e0 05             	shl    $0x5,%eax
100416974:	09 c2                	or     %eax,%edx
100416976:	41 88 54 24 68       	mov    %dl,0x68(%r12)
10041697b:	49 83 c0 08          	add    $0x8,%r8
10041697f:	41 80 4c 24 68 80    	orb    $0x80,0x68(%r12)
100416985:	4d 39 c2             	cmp    %r8,%r10
100416988:	75 af                	jne    100416939 <.text+0x15939>
10041698a:	49 89 f0             	mov    %rsi,%r8
10041698d:	4c 89 e2             	mov    %r12,%rdx
100416990:	4c 89 e9             	mov    %r13,%rcx
100416993:	e8 58 fa ff ff       	call   1004163f0 <.text+0x153f0>
100416998:	85 c0                	test   %eax,%eax
10041699a:	75 5a                	jne    1004169f6 <.text+0x159f6>
10041699c:	4c 89 e0             	mov    %r12,%rax
10041699f:	48 83 c4 28          	add    $0x28,%rsp
1004169a3:	5b                   	pop    %rbx
1004169a4:	5e                   	pop    %rsi
1004169a5:	5f                   	pop    %rdi
1004169a6:	5d                   	pop    %rbp
1004169a7:	41 5c                	pop    %r12
1004169a9:	41 5d                	pop    %r13
1004169ab:	41 5e                	pop    %r14
1004169ad:	41 5f                	pop    %r15
1004169af:	c3                   	ret
1004169b0:	83 c9 10             	or     $0x10,%ecx
1004169b3:	41 88 4c 24 68       	mov    %cl,0x68(%r12)
1004169b8:	e9 73 ff ff ff       	jmp    100416930 <.text+0x15930>
1004169bd:	0f 1f 00             	nopl   (%rax)
1004169c0:	41 83 f9 0c          	cmp    $0xc,%r9d
1004169c4:	74 b5                	je     10041697b <.text+0x1597b>
1004169c6:	f7 40 08 00 ff 03 00 	testl  $0x3ff00,0x8(%rax)
1004169cd:	0f 84 5d ff ff ff    	je     100416930 <.text+0x15930>
1004169d3:	eb a6                	jmp    10041697b <.text+0x1597b>
1004169d5:	0f 1f 00             	nopl   (%rax)
1004169d8:	4c 89 e1             	mov    %r12,%rcx
1004169db:	e8 60 8f ff ff       	call   10040f940 <.text+0xe940>
1004169e0:	c7 07 0c 00 00 00    	movl   $0xc,(%rdi)
1004169e6:	45 31 e4             	xor    %r12d,%r12d
1004169e9:	eb b1                	jmp    10041699c <.text+0x1599c>
1004169eb:	c7 01 00 00 00 00    	movl   $0x0,(%rcx)
1004169f1:	45 31 e4             	xor    %r12d,%r12d
1004169f4:	eb a6                	jmp    10041699c <.text+0x1599c>
1004169f6:	4c 89 e1             	mov    %r12,%rcx
1004169f9:	e8 92 c3 ff ff       	call   100412d90 <.text+0x11d90>
1004169fe:	eb e0                	jmp    1004169e0 <.text+0x159e0>
100416a00:	41 56                	push   %r14
100416a02:	41 55                	push   %r13
100416a04:	41 54                	push   %r12
100416a06:	55                   	push   %rbp
100416a07:	57                   	push   %rdi
100416a08:	56                   	push   %rsi
100416a09:	53                   	push   %rbx
100416a0a:	48 83 ec 50          	sub    $0x50,%rsp
100416a0e:	31 db                	xor    %ebx,%ebx
100416a10:	49 89 cd             	mov    %rcx,%r13
100416a13:	48 89 d6             	mov    %rdx,%rsi
100416a16:	4c 89 c5             	mov    %r8,%rbp
100416a19:	4c 89 cf             	mov    %r9,%rdi
100416a1c:	4c 8d 64 24 30       	lea    0x30(%rsp),%r12
100416a21:	4c 8d 74 24 2c       	lea    0x2c(%rsp),%r14
100416a26:	4d 85 c9             	test   %r9,%r9
100416a29:	7f 4f                	jg     100416a7a <.text+0x15a7a>
100416a2b:	eb 68                	jmp    100416a95 <.text+0x15a95>
100416a2d:	0f 1f 00             	nopl   (%rax)
100416a30:	48 85 c0             	test   %rax,%rax
100416a33:	74 3c                	je     100416a71 <.text+0x15a71>
100416a35:	48 83 c2 08          	add    $0x8,%rdx
100416a39:	4c 8d 40 08          	lea    0x8(%rax),%r8
100416a3d:	4c 89 e1             	mov    %r12,%rcx
100416a40:	e8 2b de ff ff       	call   100414870 <.text+0x13870>
100416a45:	89 44 24 2c          	mov    %eax,0x2c(%rsp)
100416a49:	85 c0                	test   %eax,%eax
100416a4b:	75 4a                	jne    100416a97 <.text+0x15a97>
100416a4d:	4d 89 e0             	mov    %r12,%r8
100416a50:	4c 89 ea             	mov    %r13,%rdx
100416a53:	4c 89 f1             	mov    %r14,%rcx
100416a56:	e8 b5 fd ff ff       	call   100416810 <.text+0x15810>
100416a5b:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
100416a60:	48 89 04 de          	mov    %rax,(%rsi,%rbx,8)
100416a64:	e8 d7 8e ff ff       	call   10040f940 <.text+0xe940>
100416a69:	8b 44 24 2c          	mov    0x2c(%rsp),%eax
100416a6d:	85 c0                	test   %eax,%eax
100416a6f:	75 26                	jne    100416a97 <.text+0x15a97>
100416a71:	48 83 c3 01          	add    $0x1,%rbx
100416a75:	48 39 df             	cmp    %rbx,%rdi
100416a78:	74 1b                	je     100416a95 <.text+0x15a95>
100416a7a:	48 8b 14 de          	mov    (%rsi,%rbx,8),%rdx
100416a7e:	48 8b 44 dd 00       	mov    0x0(%rbp,%rbx,8),%rax
100416a83:	48 85 d2             	test   %rdx,%rdx
100416a86:	75 a8                	jne    100416a30 <.text+0x15a30>
100416a88:	48 89 04 de          	mov    %rax,(%rsi,%rbx,8)
100416a8c:	48 83 c3 01          	add    $0x1,%rbx
100416a90:	48 39 df             	cmp    %rbx,%rdi
100416a93:	75 e5                	jne    100416a7a <.text+0x15a7a>
100416a95:	31 c0                	xor    %eax,%eax
100416a97:	48 83 c4 50          	add    $0x50,%rsp
100416a9b:	5b                   	pop    %rbx
100416a9c:	5e                   	pop    %rsi
100416a9d:	5f                   	pop    %rdi
100416a9e:	5d                   	pop    %rbp
100416a9f:	41 5c                	pop    %r12
100416aa1:	41 5d                	pop    %r13
100416aa3:	41 5e                	pop    %r14
100416aa5:	c3                   	ret
100416aa6:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
100416aad:	00 00 00
100416ab0:	41 57                	push   %r15
100416ab2:	41 56                	push   %r14
100416ab4:	41 55                	push   %r13
100416ab6:	41 54                	push   %r12
100416ab8:	55                   	push   %rbp
100416ab9:	57                   	push   %rdi
100416aba:	56                   	push   %rsi