14018f5e7:	75 0c                	jne    0x14018f5f5
14018f5e9:	83 7b 10 00          	cmpl   $0x0,0x10(%rbx)
14018f5ed:	74 c6                	je     0x14018f5b5
14018f5ef:	48 ff c0             	inc    %rax
14018f5f2:	48 89 03             	mov    %rax,(%rbx)
14018f5f5:	8b 43 14             	mov    0x14(%rbx),%eax
14018f5f8:	48 ff 0b             	decq   (%rbx)
14018f5fb:	c1 e8 0c             	shr    $0xc,%eax
14018f5fe:	a8 01                	test   $0x1,%al
14018f600:	48 8b 03             	mov    (%rbx),%rax
14018f603:	74 0d                	je     0x14018f612
14018f605:	40 38 38             	cmp    %dil,(%rax)
14018f608:	74 0b                	je     0x14018f615
14018f60a:	48 ff c0             	inc    %rax
14018f60d:	48 89 03             	mov    %rax,(%rbx)
14018f610:	eb a3                	jmp    0x14018f5b5
14018f612:	40 88 38             	mov    %dil,(%rax)
14018f615:	ff 43 10             	incl   0x10(%rbx)
14018f618:	f0 83 63 14 f7       	lock andl $0xfffffff7,0x14(%rbx)
14018f61d:	f0 83 4b 14 01       	lock orl $0x1,0x14(%rbx)
14018f622:	40 0f b6 c7          	movzbl %dil,%eax
14018f626:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14018f62b:	48 83 c4 20          	add    $0x20,%rsp
14018f62f:	5f                   	pop    %rdi
14018f630:	c3                   	ret
14018f631:	cc                   	int3
14018f632:	cc                   	int3
14018f633:	cc                   	int3
14018f634:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14018f639:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14018f63e:	57                   	push   %rdi
14018f63f:	48 83 ec 20          	sub    $0x20,%rsp
14018f643:	48 8b da             	mov    %rdx,%rbx
14018f646:	8b f9                	mov    %ecx,%edi
14018f648:	33 c0                	xor    %eax,%eax
14018f64a:	48 85 d2             	test   %rdx,%rdx
14018f64d:	0f 95 c0             	setne  %al
14018f650:	85 c0                	test   %eax,%eax
14018f652:	75 15                	jne    0x14018f669
14018f654:	e8 b3 08 00 00       	call   0x14018ff0c
14018f659:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018f65f:	e8 00 bf ff ff       	call   0x14018b564
14018f664:	83 c8 ff             	or     $0xffffffff,%eax
14018f667:	eb 1f                	jmp    0x14018f688
14018f669:	48 8b ca             	mov    %rdx,%rcx
14018f66c:	e8 33 cc ff ff       	call   0x14018c2a4
14018f671:	90                   	nop
14018f672:	48 8b d3             	mov    %rbx,%rdx
14018f675:	8b cf                	mov    %edi,%ecx
14018f677:	e8 a8 fe ff ff       	call   0x14018f524
14018f67c:	8b f8                	mov    %eax,%edi
14018f67e:	48 8b cb             	mov    %rbx,%rcx
14018f681:	e8 2a cc ff ff       	call   0x14018c2b0
14018f686:	8b c7                	mov    %edi,%eax
14018f688:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14018f68d:	48 83 c4 20          	add    $0x20,%rsp
14018f691:	5f                   	pop    %rdi
14018f692:	c3                   	ret
14018f693:	cc                   	int3
14018f694:	48 83 ec 28          	sub    $0x28,%rsp
14018f698:	48 85 c9             	test   %rcx,%rcx
14018f69b:	75 18                	jne    0x14018f6b5
14018f69d:	e8 6a 08 00 00       	call   0x14018ff0c
14018f6a2:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018f6a8:	e8 b7 be ff ff       	call   0x14018b564
14018f6ad:	83 c8 ff             	or     $0xffffffff,%eax
14018f6b0:	48 83 c4 28          	add    $0x28,%rsp
14018f6b4:	c3                   	ret
14018f6b5:	48 85 d2             	test   %rdx,%rdx
14018f6b8:	74 e3                	je     0x14018f69d
14018f6ba:	48 8b 12             	mov    (%rdx),%rdx
14018f6bd:	45 33 c0             	xor    %r8d,%r8d
14018f6c0:	48 83 c4 28          	add    $0x28,%rsp
14018f6c4:	e9 bf 05 00 00       	jmp    0x14018fc88
14018f6c9:	cc                   	int3
14018f6ca:	cc                   	int3
14018f6cb:	cc                   	int3
14018f6cc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14018f6d1:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
14018f6d6:	55                   	push   %rbp
14018f6d7:	56                   	push   %rsi
14018f6d8:	57                   	push   %rdi
14018f6d9:	41 54                	push   %r12
14018f6db:	41 55                	push   %r13
14018f6dd:	41 56                	push   %r14
14018f6df:	41 57                	push   %r15
14018f6e1:	48 83 ec 30          	sub    $0x30,%rsp
14018f6e5:	4d 8b f0             	mov    %r8,%r14
14018f6e8:	48 8b ea             	mov    %rdx,%rbp
14018f6eb:	4c 8b e1             	mov    %rcx,%r12
14018f6ee:	4d 85 c0             	test   %r8,%r8
14018f6f1:	74 1a                	je     0x14018f70d
14018f6f3:	4d 85 c9             	test   %r9,%r9
14018f6f6:	74 15                	je     0x14018f70d
14018f6f8:	48 85 c9             	test   %rcx,%rcx
14018f6fb:	75 27                	jne    0x14018f724
14018f6fd:	e8 0a 08 00 00       	call   0x14018ff0c
14018f702:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018f708:	e8 57 be ff ff       	call   0x14018b564
14018f70d:	33 c0                	xor    %eax,%eax
14018f70f:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
14018f714:	48 83 c4 30          	add    $0x30,%rsp
14018f718:	41 5f                	pop    %r15
14018f71a:	41 5e                	pop    %r14
14018f71c:	41 5d                	pop    %r13
14018f71e:	41 5c                	pop    %r12
14018f720:	5f                   	pop    %rdi
14018f721:	5e                   	pop    %rsi
14018f722:	5d                   	pop    %rbp
14018f723:	c3                   	ret
14018f724:	48 8b 9c 24 90 00 00 	mov    0x90(%rsp),%rbx
14018f72b:	00
14018f72c:	48 85 db             	test   %rbx,%rbx
14018f72f:	74 0e                	je     0x14018f73f
14018f731:	33 d2                	xor    %edx,%edx
14018f733:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
14018f737:	49 f7 f6             	div    %r14
14018f73a:	4c 3b c8             	cmp    %rax,%r9
14018f73d:	76 2b                	jbe    0x14018f76a
14018f73f:	48 83 fd ff          	cmp    $0xffffffffffffffff,%rbp
14018f743:	74 12                	je     0x14018f757
14018f745:	4c 8b c5             	mov    %rbp,%r8
14018f748:	33 d2                	xor    %edx,%edx
14018f74a:	e8 21 93 ff ff       	call   0x140188a70
14018f74f:	4c 8b 8c 24 88 00 00 	mov    0x88(%rsp),%r9
14018f756:	00
14018f757:	48 85 db             	test   %rbx,%rbx
14018f75a:	74 a1                	je     0x14018f6fd
14018f75c:	33 d2                	xor    %edx,%edx
14018f75e:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
14018f762:	49 f7 f6             	div    %r14
14018f765:	4c 3b c8             	cmp    %rax,%r9
14018f768:	77 93                	ja     0x14018f6fd
14018f76a:	8b 43 14             	mov    0x14(%rbx),%eax
14018f76d:	a9 c0 04 00 00       	test   $0x4c0,%eax
14018f772:	74 05                	je     0x14018f779
14018f774:	8b 4b 20             	mov    0x20(%rbx),%ecx
14018f777:	eb 05                	jmp    0x14018f77e
14018f779:	b9 00 10 00 00       	mov    $0x1000,%ecx
14018f77e:	49 8b fe             	mov    %r14,%rdi
14018f781:	89 8c 24 90 00 00 00 	mov    %ecx,0x90(%rsp)
14018f788:	49 0f af f9          	imul   %r9,%rdi
14018f78c:	4d 8b fc             	mov    %r12,%r15
14018f78f:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
14018f794:	48 8b f7             	mov    %rdi,%rsi
14018f797:	4c 8b ed             	mov    %rbp,%r13
14018f79a:	48 85 ff             	test   %rdi,%rdi
14018f79d:	0f 84 62 01 00 00    	je     0x14018f905
14018f7a3:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
14018f7a8:	8b 43 14             	mov    0x14(%rbx),%eax
14018f7ab:	a9 c0 04 00 00       	test   $0x4c0,%eax
14018f7b0:	0f 84 b2 00 00 00    	je     0x14018f868
14018f7b6:	48 63 43 10          	movslq 0x10(%rbx),%rax
14018f7ba:	85 c0                	test   %eax,%eax
14018f7bc:	0f 84 a6 00 00 00    	je     0x14018f868
14018f7c2:	0f 88 68 01 00 00    	js     0x14018f930
14018f7c8:	48 3b f0             	cmp    %rax,%rsi
14018f7cb:	44 8b f8             	mov    %eax,%r15d
14018f7ce:	44 0f 42 fe          	cmovb  %esi,%r15d
14018f7d2:	4d 3b fd             	cmp    %r13,%r15
14018f7d5:	0f 87 32 01 00 00    	ja     0x14018f90d
14018f7db:	48 8b 0b             	mov    (%rbx),%rcx
14018f7de:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
14018f7e3:	4d 85 ff             	test   %r15,%r15
14018f7e6:	74 5b                	je     0x14018f843
14018f7e8:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
14018f7ed:	48 85 c0             	test   %rax,%rax
14018f7f0:	75 0d                	jne    0x14018f7ff
14018f7f2:	e8 15 07 00 00       	call   0x14018ff0c
14018f7f7:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018f7fd:	eb 3f                	jmp    0x14018f83e
14018f7ff:	48 85 c9             	test   %rcx,%rcx
14018f802:	74 15                	je     0x14018f819
14018f804:	4d 3b ef             	cmp    %r15,%r13
14018f807:	72 10                	jb     0x14018f819
14018f809:	48 8b d1             	mov    %rcx,%rdx
14018f80c:	4d 8b c7             	mov    %r15,%r8
14018f80f:	48 8b c8             	mov    %rax,%rcx
14018f812:	e8 a9 8b ff ff       	call   0x1401883c0
14018f817:	eb 2a                	jmp    0x14018f843
14018f819:	4d 8b c5             	mov    %r13,%r8
14018f81c:	33 d2                	xor    %edx,%edx
14018f81e:	48 8b c8             	mov    %rax,%rcx
14018f821:	e8 4a 92 ff ff       	call   0x140188a70
14018f826:	48 83 7c 24 28 00    	cmpq   $0x0,0x28(%rsp)
14018f82c:	74 c4                	je     0x14018f7f2
14018f82e:	4d 3b ef             	cmp    %r15,%r13
14018f831:	73 10                	jae    0x14018f843
14018f833:	e8 d4 06 00 00       	call   0x14018ff0c
14018f838:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
14018f83e:	e8 21 bd ff ff       	call   0x14018b564
14018f843:	4c 01 7c 24 20       	add    %r15,0x20(%rsp)
14018f848:	41 8b c7             	mov    %r15d,%eax
14018f84b:	29 43 10             	sub    %eax,0x10(%rbx)
14018f84e:	49 2b f7             	sub    %r15,%rsi
14018f851:	4c 01 3b             	add    %r15,(%rbx)
14018f854:	8b 8c 24 90 00 00 00 	mov    0x90(%rsp),%ecx
14018f85b:	4d 2b ef             	sub    %r15,%r13
14018f85e:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
14018f863:	e9 8c 00 00 00       	jmp    0x14018f8f4
14018f868:	8b c1                	mov    %ecx,%eax
14018f86a:	48 3b f0             	cmp    %rax,%rsi
14018f86d:	72 58                	jb     0x14018f8c7
14018f86f:	48 3b f2             	cmp    %rdx,%rsi
14018f872:	44 8b fe             	mov    %esi,%r15d
14018f875:	44 0f 47 fa          	cmova  %edx,%r15d
14018f879:	85 c9                	test   %ecx,%ecx
14018f87b:	74 0a                	je     0x14018f887
14018f87d:	33 d2                	xor    %edx,%edx
14018f87f:	41 8b c7             	mov    %r15d,%eax
14018f882:	f7 f1                	div    %ecx
14018f884:	44 2b fa             	sub    %edx,%r15d
14018f887:	41 8b c7             	mov    %r15d,%eax
14018f88a:	49 3b c5             	cmp    %r13,%rax
14018f88d:	77 7e                	ja     0x14018f90d
14018f88f:	48 8b cb             	mov    %rbx,%rcx
14018f892:	e8 25 60 01 00       	call   0x1401a58bc
14018f897:	45 8b c7             	mov    %r15d,%r8d
14018f89a:	8b c8                	mov    %eax,%ecx
14018f89c:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
14018f8a1:	49 8b d7             	mov    %r15,%rdx
14018f8a4:	e8 6b a0 01 00       	call   0x1401a9914
14018f8a9:	85 c0                	test   %eax,%eax
14018f8ab:	0f 84 94 00 00 00    	je     0x14018f945
14018f8b1:	78 7d                	js     0x14018f930
14018f8b3:	8b 8c 24 90 00 00 00 	mov    0x90(%rsp),%ecx
14018f8ba:	48 98                	cltq
14018f8bc:	48 2b f0             	sub    %rax,%rsi
14018f8bf:	4c 03 f8             	add    %rax,%r15
14018f8c2:	4c 2b e8             	sub    %rax,%r13
14018f8c5:	eb 28                	jmp    0x14018f8ef
14018f8c7:	48 8b cb             	mov    %rbx,%rcx
14018f8ca:	e8 ed 87 01 00       	call   0x1401a80bc
14018f8cf:	83 f8 ff             	cmp    $0xffffffff,%eax
14018f8d2:	74 61                	je     0x14018f935
14018f8d4:	4d 85 ed             	test   %r13,%r13
14018f8d7:	74 34                	je     0x14018f90d
14018f8d9:	41 88 07             	mov    %al,(%r15)
14018f8dc:	48 ff ce             	dec    %rsi
14018f8df:	8b 4b 20             	mov    0x20(%rbx),%ecx
14018f8e2:	49 ff c7             	inc    %r15
14018f8e5:	49 ff cd             	dec    %r13
14018f8e8:	89 8c 24 90 00 00 00 	mov    %ecx,0x90(%rsp)
14018f8ef:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
14018f8f4:	48 85 f6             	test   %rsi,%rsi
14018f8f7:	0f 85 a6 fe ff ff    	jne    0x14018f7a3
14018f8fd:	4c 8b 8c 24 88 00 00 	mov    0x88(%rsp),%r9
14018f904:	00
14018f905:	49 8b c1             	mov    %r9,%rax
14018f908:	e9 02 fe ff ff       	jmp    0x14018f70f
14018f90d:	48 83 fd ff          	cmp    $0xffffffffffffffff,%rbp
14018f911:	74 0d                	je     0x14018f920
14018f913:	4c 8b c5             	mov    %rbp,%r8
14018f916:	33 d2                	xor    %edx,%edx
14018f918:	49 8b cc             	mov    %r12,%rcx
14018f91b:	e8 50 91 ff ff       	call   0x140188a70
14018f920:	e8 e7 05 00 00       	call   0x14018ff0c
14018f925:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
14018f92b:	e9 d8 fd ff ff       	jmp    0x14018f708
14018f930:	f0 83 4b 14 10       	lock orl $0x10,0x14(%rbx)
14018f935:	48 2b fe             	sub    %rsi,%rdi
14018f938:	33 d2                	xor    %edx,%edx
14018f93a:	48 8b c7             	mov    %rdi,%rax
14018f93d:	49 f7 f6             	div    %r14
14018f940:	e9 ca fd ff ff       	jmp    0x14018f70f
14018f945:	f0 83 4b 14 08       	lock orl $0x8,0x14(%rbx)
14018f94a:	eb e9                	jmp    0x14018f935
14018f94c:	48 83 ec 38          	sub    $0x38,%rsp
14018f950:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
14018f955:	4d 8b c8             	mov    %r8,%r9
14018f958:	4c 8b c2             	mov    %rdx,%r8
14018f95b:	48 83 ca ff          	or     $0xffffffffffffffff,%rdx
14018f95f:	e8 08 00 00 00       	call   0x14018f96c
14018f964:	48 83 c4 38          	add    $0x38,%rsp
14018f968:	c3                   	ret
14018f969:	cc                   	int3
14018f96a:	cc                   	int3
14018f96b:	cc                   	int3
14018f96c:	48 8b c4             	mov    %rsp,%rax
14018f96f:	48 89 58 08          	mov    %rbx,0x8(%rax)
14018f973:	48 89 70 10          	mov    %rsi,0x10(%rax)
14018f977:	48 89 78 18          	mov    %rdi,0x18(%rax)
14018f97b:	4c 89 70 20          	mov    %r14,0x20(%rax)
14018f97f:	41 57                	push   %r15
14018f981:	48 83 ec 30          	sub    $0x30,%rsp
14018f985:	49 8b f1             	mov    %r9,%rsi
14018f988:	4d 8b f8             	mov    %r8,%r15
14018f98b:	48 8b fa             	mov    %rdx,%rdi
14018f98e:	4c 8b f1             	mov    %rcx,%r14
14018f991:	4d 85 c0             	test   %r8,%r8
14018f994:	74 60                	je     0x14018f9f6
14018f996:	4d 85 c9             	test   %r9,%r9
14018f999:	74 5b                	je     0x14018f9f6
14018f99b:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14018f9a0:	48 85 db             	test   %rbx,%rbx
14018f9a3:	75 22                	jne    0x14018f9c7
14018f9a5:	48 83 fa ff          	cmp    $0xffffffffffffffff,%rdx
14018f9a9:	74 0a                	je     0x14018f9b5
14018f9ab:	4c 8b c2             	mov    %rdx,%r8
14018f9ae:	33 d2                	xor    %edx,%edx
14018f9b0:	e8 bb 90 ff ff       	call   0x140188a70
14018f9b5:	e8 52 05 00 00       	call   0x14018ff0c
14018f9ba:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018f9c0:	e8 9f bb ff ff       	call   0x14018b564
14018f9c5:	eb 2f                	jmp    0x14018f9f6
14018f9c7:	48 8b cb             	mov    %rbx,%rcx
14018f9ca:	e8 d5 c8 ff ff       	call   0x14018c2a4
14018f9cf:	90                   	nop
14018f9d0:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14018f9d5:	4c 8b ce             	mov    %rsi,%r9
14018f9d8:	4d 8b c7             	mov    %r15,%r8
14018f9db:	48 8b d7             	mov    %rdi,%rdx
14018f9de:	49 8b ce             	mov    %r14,%rcx
14018f9e1:	e8 e6 fc ff ff       	call   0x14018f6cc
14018f9e6:	48 8b f8             	mov    %rax,%rdi
14018f9e9:	48 8b cb             	mov    %rbx,%rcx
14018f9ec:	e8 bf c8 ff ff       	call   0x14018c2b0
14018f9f1:	48 8b c7             	mov    %rdi,%rax
14018f9f4:	eb 02                	jmp    0x14018f9f8
14018f9f6:	33 c0                	xor    %eax,%eax
14018f9f8:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14018f9fd:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14018fa02:	48 8b 7c 24 50       	mov    0x50(%rsp),%rdi
14018fa07:	4c 8b 74 24 58       	mov    0x58(%rsp),%r14
14018fa0c:	48 83 c4 30          	add    $0x30,%rsp
14018fa10:	41 5f                	pop    %r15
14018fa12:	c3                   	ret
14018fa13:	cc                   	int3
14018fa14:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14018fa19:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
14018fa1e:	57                   	push   %rdi
14018fa1f:	48 83 ec 20          	sub    $0x20,%rsp
14018fa23:	41 8b d8             	mov    %r8d,%ebx
14018fa26:	48 8b fa             	mov    %rdx,%rdi
14018fa29:	33 c0                	xor    %eax,%eax
14018fa2b:	48 85 c9             	test   %rcx,%rcx
14018fa2e:	0f 95 c0             	setne  %al
14018fa31:	85 c0                	test   %eax,%eax
14018fa33:	75 15                	jne    0x14018fa4a
14018fa35:	e8 d2 04 00 00       	call   0x14018ff0c
14018fa3a:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018fa40:	e8 1f bb ff ff       	call   0x14018b564
14018fa45:	83 c8 ff             	or     $0xffffffff,%eax
14018fa48:	eb 29                	jmp    0x14018fa73
14018fa4a:	83 fb 02             	cmp    $0x2,%ebx
14018fa4d:	77 e6                	ja     0x14018fa35
14018fa4f:	e8 50 c8 ff ff       	call   0x14018c2a4
14018fa54:	90                   	nop
14018fa55:	44 8b c3             	mov    %ebx,%r8d
14018fa58:	48 8b d7             	mov    %rdi,%rdx