14069a648:	48 85 ff             	test   %rdi,%rdi
14069a64b:	74 1c                	je     0x14069a669
14069a64d:	8b 47 10             	mov    0x10(%rdi),%eax
14069a650:	ff c0                	inc    %eax
14069a652:	89 47 10             	mov    %eax,0x10(%rdi)
14069a655:	83 f8 01             	cmp    $0x1,%eax
14069a658:	0f 8e bb 03 00 00    	jle    0x14069aa19
14069a65e:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
14069a663:	0f 84 b8 03 00 00    	je     0x14069aa21
14069a669:	83 7f 18 00          	cmpl   $0x0,0x18(%rdi)
14069a66d:	0f 85 ff 02 00 00    	jne    0x14069a972
14069a673:	48 8b 47 20          	mov    0x20(%rdi),%rax
14069a677:	8b 48 18             	mov    0x18(%rax),%ecx
14069a67a:	83 c1 fe             	add    $0xfffffffe,%ecx
14069a67d:	83 f9 01             	cmp    $0x1,%ecx
14069a680:	0f 87 ec 02 00 00    	ja     0x14069a972
14069a686:	b9 40 00 00 00       	mov    $0x40,%ecx
14069a68b:	e8 78 0a 78 00       	call   0x140e1b108
14069a690:	48 8b d8             	mov    %rax,%rbx
14069a693:	48 89 45 b0          	mov    %rax,-0x50(%rbp)
14069a697:	48 85 c0             	test   %rax,%rax
14069a69a:	74 2c                	je     0x14069a6c8
14069a69c:	49 8b 4e 38          	mov    0x38(%r14),%rcx
14069a6a0:	48 8b 11             	mov    (%rcx),%rdx
14069a6a3:	48 8b 82 90 00 00 00 	mov    0x90(%rdx),%rax
14069a6aa:	48 8d 55 b8          	lea    -0x48(%rbp),%rdx
14069a6ae:	ff 15 6c 93 8e 00    	call   *0x8e936c(%rip)        # 0x140f83a20
14069a6b4:	4c 8b c0             	mov    %rax,%r8
14069a6b7:	41 8b 56 18          	mov    0x18(%r14),%edx
14069a6bb:	48 8b cb             	mov    %rbx,%rcx
14069a6be:	e8 ed 64 15 00       	call   0x1407f0bb0
14069a6c3:	48 8b d8             	mov    %rax,%rbx
14069a6c6:	eb 02                	jmp    0x14069a6ca
14069a6c8:	33 db                	xor    %ebx,%ebx
14069a6ca:	49 8b ce             	mov    %r14,%rcx
14069a6cd:	41 8b 46 10          	mov    0x10(%r14),%eax
14069a6d1:	ff c0                	inc    %eax
14069a6d3:	41 89 46 10          	mov    %eax,0x10(%r14)
14069a6d7:	83 f8 01             	cmp    $0x1,%eax
14069a6da:	0f 8e 4c 03 00 00    	jle    0x14069aa2c
14069a6e0:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
14069a6e5:	0f 84 49 03 00 00    	je     0x14069aa34
14069a6eb:	49 8b c6             	mov    %r14,%rax
14069a6ee:	49 8b d6             	mov    %r14,%rdx
14069a6f1:	48 83 7b 28 00       	cmpq   $0x0,0x28(%rbx)
14069a6f6:	75 0a                	jne    0x14069a702
14069a6f8:	4c 89 73 28          	mov    %r14,0x28(%rbx)
14069a6fc:	33 c9                	xor    %ecx,%ecx
14069a6fe:	33 c0                	xor    %eax,%eax
14069a700:	33 d2                	xor    %edx,%edx
14069a702:	48 85 c0             	test   %rax,%rax
14069a705:	74 24                	je     0x14069a72b
14069a707:	8b 42 10             	mov    0x10(%rdx),%eax
14069a70a:	ff c8                	dec    %eax
14069a70c:	89 42 10             	mov    %eax,0x10(%rdx)
14069a70f:	85 c0                	test   %eax,%eax
14069a711:	7f 18                	jg     0x14069a72b
14069a713:	0f 88 26 03 00 00    	js     0x14069aa3f
14069a719:	48 8b 01             	mov    (%rcx),%rax
14069a71c:	ba 01 00 00 00       	mov    $0x1,%edx
14069a721:	48 8b 00             	mov    (%rax),%rax
14069a724:	ff 15 f6 92 8e 00    	call   *0x8e92f6(%rip)        # 0x140f83a20
14069a72a:	90                   	nop
14069a72b:	41 80 7e 1c 00       	cmpb   $0x0,0x1c(%r14)
14069a730:	74 04                	je     0x14069a736
14069a732:	c6 43 1c 01          	movb   $0x1,0x1c(%rbx)
14069a736:	48 89 5d f0          	mov    %rbx,-0x10(%rbp)
14069a73a:	b9 48 00 00 00       	mov    $0x48,%ecx
14069a73f:	e8 c4 09 78 00       	call   0x140e1b108
14069a744:	48 89 45 b0          	mov    %rax,-0x50(%rbp)
14069a748:	48 85 c0             	test   %rax,%rax
14069a74b:	74 32                	je     0x14069a77f
14069a74d:	48 89 5d c0          	mov    %rbx,-0x40(%rbp)
14069a751:	8b 4b 10             	mov    0x10(%rbx),%ecx
14069a754:	ff c1                	inc    %ecx
14069a756:	89 4b 10             	mov    %ecx,0x10(%rbx)
14069a759:	83 f9 01             	cmp    $0x1,%ecx
14069a75c:	0f 8e e8 02 00 00    	jle    0x14069aa4a
14069a762:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
14069a768:	0f 84 e4 02 00 00    	je     0x14069aa52
14069a76e:	48 8d 55 c0          	lea    -0x40(%rbp),%rdx
14069a772:	48 8b c8             	mov    %rax,%rcx
14069a775:	e8 96 d7 0b 00       	call   0x140757f10
14069a77a:	48 8b f0             	mov    %rax,%rsi
14069a77d:	eb 02                	jmp    0x14069a781
14069a77f:	33 f6                	xor    %esi,%esi
14069a781:	48 89 75 b0          	mov    %rsi,-0x50(%rbp)
14069a785:	4d 8b c5             	mov    %r13,%r8
14069a788:	48 8d 55 b8          	lea    -0x48(%rbp),%rdx
14069a78c:	48 8b ce             	mov    %rsi,%rcx
14069a78f:	e8 cc 07 fd ff       	call   0x14066af60
14069a794:	49 8b 17             	mov    (%r15),%rdx
14069a797:	48 8b 08             	mov    (%rax),%rcx
14069a79a:	49 89 0f             	mov    %rcx,(%r15)
14069a79d:	48 89 10             	mov    %rdx,(%rax)
14069a7a0:	48 8b 4d b8          	mov    -0x48(%rbp),%rcx
14069a7a4:	48 85 c9             	test   %rcx,%rcx
14069a7a7:	74 24                	je     0x14069a7cd
14069a7a9:	8b 41 10             	mov    0x10(%rcx),%eax
14069a7ac:	ff c8                	dec    %eax
14069a7ae:	89 41 10             	mov    %eax,0x10(%rcx)
14069a7b1:	85 c0                	test   %eax,%eax
14069a7b3:	7f 18                	jg     0x14069a7cd
14069a7b5:	0f 88 a2 02 00 00    	js     0x14069aa5d
14069a7bb:	48 8b 01             	mov    (%rcx),%rax
14069a7be:	ba 01 00 00 00       	mov    $0x1,%edx
14069a7c3:	48 8b 00             	mov    (%rax),%rax
14069a7c6:	ff 15 54 92 8e 00    	call   *0x8e9254(%rip)        # 0x140f83a20
14069a7cc:	90                   	nop
14069a7cd:	48 85 f6             	test   %rsi,%rsi
14069a7d0:	74 27                	je     0x14069a7f9
14069a7d2:	8b 46 10             	mov    0x10(%rsi),%eax
14069a7d5:	ff c8                	dec    %eax
14069a7d7:	89 46 10             	mov    %eax,0x10(%rsi)
14069a7da:	85 c0                	test   %eax,%eax
14069a7dc:	7f 1b                	jg     0x14069a7f9
14069a7de:	0f 88 84 02 00 00    	js     0x14069aa68
14069a7e4:	48 8b 06             	mov    (%rsi),%rax
14069a7e7:	ba 01 00 00 00       	mov    $0x1,%edx
14069a7ec:	48 8b ce             	mov    %rsi,%rcx
14069a7ef:	48 8b 00             	mov    (%rax),%rax
14069a7f2:	ff 15 28 92 8e 00    	call   *0x8e9228(%rip)        # 0x140f83a20
14069a7f8:	90                   	nop
14069a7f9:	33 f6                	xor    %esi,%esi
14069a7fb:	48 89 75 30          	mov    %rsi,0x30(%rbp)
14069a7ff:	48 8b 07             	mov    (%rdi),%rax
14069a802:	4c 8d 4d 30          	lea    0x30(%rbp),%r9
14069a806:	4d 8b c5             	mov    %r13,%r8
14069a809:	48 8d 55 d8          	lea    -0x28(%rbp),%rdx
14069a80d:	48 8b cf             	mov    %rdi,%rcx
14069a810:	48 8b 80 c8 00 00 00 	mov    0xc8(%rax),%rax
14069a817:	ff 15 03 92 8e 00    	call   *0x8e9203(%rip)        # 0x140f83a20
14069a81d:	90                   	nop
14069a81e:	48 89 75 c0          	mov    %rsi,-0x40(%rbp)
14069a822:	48 8b 45 30          	mov    0x30(%rbp),%rax
14069a826:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
14069a82a:	48 85 c0             	test   %rax,%rax
14069a82d:	74 1d                	je     0x14069a84c
14069a82f:	8b 48 10             	mov    0x10(%rax),%ecx
14069a832:	ff c1                	inc    %ecx
14069a834:	89 48 10             	mov    %ecx,0x10(%rax)
14069a837:	83 f9 01             	cmp    $0x1,%ecx
14069a83a:	0f 8e 33 02 00 00    	jle    0x14069aa73
14069a840:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
14069a846:	0f 84 2f 02 00 00    	je     0x14069aa7b
14069a84c:	49 8b 0f             	mov    (%r15),%rcx
14069a84f:	48 89 4d b8          	mov    %rcx,-0x48(%rbp)
14069a853:	48 85 c9             	test   %rcx,%rcx
14069a856:	74 1c                	je     0x14069a874
14069a858:	8b 41 10             	mov    0x10(%rcx),%eax
14069a85b:	ff c0                	inc    %eax
14069a85d:	89 41 10             	mov    %eax,0x10(%rcx)
14069a860:	83 f8 01             	cmp    $0x1,%eax
14069a863:	0f 8e 1d 02 00 00    	jle    0x14069aa86
14069a869:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
14069a86e:	0f 84 1a 02 00 00    	je     0x14069aa8e
14069a874:	48 8d 45 c0          	lea    -0x40(%rbp),%rax
14069a878:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14069a87d:	4c 8d 4d c8          	lea    -0x38(%rbp),%r9
14069a881:	4c 8d 45 b8          	lea    -0x48(%rbp),%r8
14069a885:	48 8d 55 b0          	lea    -0x50(%rbp),%rdx
14069a889:	49 8b ce             	mov    %r14,%rcx
14069a88c:	e8 af 3a ff ff       	call   0x14068e340
14069a891:	49 8b 17             	mov    (%r15),%rdx
14069a894:	48 8b 08             	mov    (%rax),%rcx
14069a897:	49 89 0f             	mov    %rcx,(%r15)
14069a89a:	48 89 10             	mov    %rdx,(%rax)
14069a89d:	48 8b 4d b0          	mov    -0x50(%rbp),%rcx
14069a8a1:	48 85 c9             	test   %rcx,%rcx
14069a8a4:	74 24                	je     0x14069a8ca
14069a8a6:	8b 41 10             	mov    0x10(%rcx),%eax
14069a8a9:	ff c8                	dec    %eax
14069a8ab:	89 41 10             	mov    %eax,0x10(%rcx)
14069a8ae:	85 c0                	test   %eax,%eax
14069a8b0:	7f 18                	jg     0x14069a8ca
14069a8b2:	0f 88 e1 01 00 00    	js     0x14069aa99
14069a8b8:	48 8b 01             	mov    (%rcx),%rax
14069a8bb:	ba 01 00 00 00       	mov    $0x1,%edx
14069a8c0:	48 8b 00             	mov    (%rax),%rax
14069a8c3:	ff 15 57 91 8e 00    	call   *0x8e9157(%rip)        # 0x140f83a20
14069a8c9:	90                   	nop
14069a8ca:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
14069a8ce:	48 89 75 d8          	mov    %rsi,-0x28(%rbp)
14069a8d2:	49 89 04 24          	mov    %rax,(%r12)
14069a8d6:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
14069a8da:	48 85 c9             	test   %rcx,%rcx
14069a8dd:	74 24                	je     0x14069a903
14069a8df:	8b 41 10             	mov    0x10(%rcx),%eax
14069a8e2:	ff c8                	dec    %eax
14069a8e4:	89 41 10             	mov    %eax,0x10(%rcx)
14069a8e7:	85 c0                	test   %eax,%eax
14069a8e9:	7f 18                	jg     0x14069a903
14069a8eb:	0f 88 b3 01 00 00    	js     0x14069aaa4
14069a8f1:	48 8b 01             	mov    (%rcx),%rax
14069a8f4:	ba 01 00 00 00       	mov    $0x1,%edx
14069a8f9:	48 8b 00             	mov    (%rax),%rax
14069a8fc:	ff 15 1e 91 8e 00    	call   *0x8e911e(%rip)        # 0x140f83a20
14069a902:	90                   	nop
14069a903:	8b 43 10             	mov    0x10(%rbx),%eax
14069a906:	ff c8                	dec    %eax
14069a908:	89 43 10             	mov    %eax,0x10(%rbx)
14069a90b:	85 c0                	test   %eax,%eax
14069a90d:	7f 1b                	jg     0x14069a92a
14069a90f:	0f 88 9a 01 00 00    	js     0x14069aaaf
14069a915:	48 8b 03             	mov    (%rbx),%rax
14069a918:	ba 01 00 00 00       	mov    $0x1,%edx
14069a91d:	48 8b cb             	mov    %rbx,%rcx
14069a920:	48 8b 00             	mov    (%rax),%rax
14069a923:	ff 15 f7 90 8e 00    	call   *0x8e90f7(%rip)        # 0x140f83a20
14069a929:	90                   	nop
14069a92a:	8b 47 10             	mov    0x10(%rdi),%eax
14069a92d:	ff c8                	dec    %eax
14069a92f:	89 47 10             	mov    %eax,0x10(%rdi)
14069a932:	85 c0                	test   %eax,%eax
14069a934:	7f 1b                	jg     0x14069a951
14069a936:	0f 88 7e 01 00 00    	js     0x14069aaba
14069a93c:	48 8b 07             	mov    (%rdi),%rax
14069a93f:	ba 01 00 00 00       	mov    $0x1,%edx
14069a944:	48 8b cf             	mov    %rdi,%rcx
14069a947:	48 8b 00             	mov    (%rax),%rax
14069a94a:	ff 15 d0 90 8e 00    	call   *0x8e90d0(%rip)        # 0x140f83a20
14069a950:	90                   	nop
14069a951:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
14069a955:	48 85 c9             	test   %rcx,%rcx
14069a958:	0f 84 81 00 00 00    	je     0x14069a9df
14069a95e:	8b 41 10             	mov    0x10(%rcx),%eax
14069a961:	ff c8                	dec    %eax
14069a963:	89 41 10             	mov    %eax,0x10(%rcx)
14069a966:	85 c0                	test   %eax,%eax
14069a968:	7f 75                	jg     0x14069a9df
14069a96a:	0f 88 9e 00 00 00    	js     0x14069aa0e
14069a970:	eb 5b                	jmp    0x14069a9cd
14069a972:	49 8b 06             	mov    (%r14),%rax
14069a975:	4d 8b cf             	mov    %r15,%r9
14069a978:	4d 8b c5             	mov    %r13,%r8
14069a97b:	49 8b d4             	mov    %r12,%rdx
14069a97e:	49 8b ce             	mov    %r14,%rcx
14069a981:	48 8b 80 c8 00 00 00 	mov    0xc8(%rax),%rax
14069a988:	ff 15 92 90 8e 00    	call   *0x8e9092(%rip)        # 0x140f83a20
14069a98e:	90                   	nop
14069a98f:	8b 47 10             	mov    0x10(%rdi),%eax
14069a992:	ff c8                	dec    %eax
14069a994:	89 47 10             	mov    %eax,0x10(%rdi)
14069a997:	85 c0                	test   %eax,%eax
14069a999:	7f 1b                	jg     0x14069a9b6
14069a99b:	0f 88 24 01 00 00    	js     0x14069aac5
14069a9a1:	48 8b 07             	mov    (%rdi),%rax
14069a9a4:	ba 01 00 00 00       	mov    $0x1,%edx
14069a9a9:	48 8b cf             	mov    %rdi,%rcx
14069a9ac:	48 8b 00             	mov    (%rax),%rax
14069a9af:	ff 15 6b 90 8e 00    	call   *0x8e906b(%rip)        # 0x140f83a20
14069a9b5:	90                   	nop
14069a9b6:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
14069a9ba:	48 85 c9             	test   %rcx,%rcx
14069a9bd:	74 20                	je     0x14069a9df
14069a9bf:	8b 41 10             	mov    0x10(%rcx),%eax
14069a9c2:	ff c8                	dec    %eax
14069a9c4:	89 41 10             	mov    %eax,0x10(%rcx)
14069a9c7:	85 c0                	test   %eax,%eax
14069a9c9:	7f 14                	jg     0x14069a9df
14069a9cb:	78 36                	js     0x14069aa03
14069a9cd:	48 8b 01             	mov    (%rcx),%rax
14069a9d0:	ba 01 00 00 00       	mov    $0x1,%edx
14069a9d5:	48 8b 00             	mov    (%rax),%rax
14069a9d8:	ff 15 42 90 8e 00    	call   *0x8e9042(%rip)        # 0x140f83a20
14069a9de:	90                   	nop
14069a9df:	49 8b c4             	mov    %r12,%rax
14069a9e2:	4c 8d 9c 24 80 00 00 	lea    0x80(%rsp),%r11
14069a9e9:	00
14069a9ea:	49 8b 5b 38          	mov    0x38(%r11),%rbx
14069a9ee:	49 8b 73 40          	mov    0x40(%r11),%rsi
14069a9f2:	49 8b 7b 48          	mov    0x48(%r11),%rdi
14069a9f6:	49 8b e3             	mov    %r11,%rsp
14069a9f9:	41 5f                	pop    %r15
14069a9fb:	41 5e                	pop    %r14
14069a9fd:	41 5d                	pop    %r13
14069a9ff:	41 5c                	pop    %r12
14069aa01:	5d                   	pop    %rbp
14069aa02:	c3                   	ret
14069aa03:	b9 02 00 00 00       	mov    $0x2,%ecx
14069aa08:	e8 f3 fc 0e 00       	call   0x14078a700
14069aa0d:	90                   	nop
14069aa0e:	b9 02 00 00 00       	mov    $0x2,%ecx
14069aa13:	e8 e8 fc 0e 00       	call   0x14078a700
14069aa18:	90                   	nop
14069aa19:	33 c9                	xor    %ecx,%ecx
14069aa1b:	e8 e0 fc 0e 00       	call   0x14078a700
14069aa20:	cc                   	int3
14069aa21:	b9 01 00 00 00       	mov    $0x1,%ecx
14069aa26:	e8 d5 fc 0e 00       	call   0x14078a700
14069aa2b:	90                   	nop
14069aa2c:	33 c9                	xor    %ecx,%ecx
14069aa2e:	e8 cd fc 0e 00       	call   0x14078a700
14069aa33:	cc                   	int3
14069aa34:	b9 01 00 00 00       	mov    $0x1,%ecx
14069aa39:	e8 c2 fc 0e 00       	call   0x14078a700
14069aa3e:	90                   	nop
14069aa3f:	b9 02 00 00 00       	mov    $0x2,%ecx
14069aa44:	e8 b7 fc 0e 00       	call   0x14078a700
14069aa49:	90                   	nop
14069aa4a:	33 c9                	xor    %ecx,%ecx
14069aa4c:	e8 af fc 0e 00       	call   0x14078a700
14069aa51:	cc                   	int3
14069aa52:	b9 01 00 00 00       	mov    $0x1,%ecx
14069aa57:	e8 a4 fc 0e 00       	call   0x14078a700
14069aa5c:	90                   	nop
14069aa5d:	b9 02 00 00 00       	mov    $0x2,%ecx
14069aa62:	e8 99 fc 0e 00       	call   0x14078a700
14069aa67:	90                   	nop
14069aa68:	b9 02 00 00 00       	mov    $0x2,%ecx
14069aa6d:	e8 8e fc 0e 00       	call   0x14078a700
14069aa72:	90                   	nop
14069aa73:	33 c9                	xor    %ecx,%ecx
14069aa75:	e8 86 fc 0e 00       	call   0x14078a700
14069aa7a:	cc                   	int3
14069aa7b:	b9 01 00 00 00       	mov    $0x1,%ecx
14069aa80:	e8 7b fc 0e 00       	call   0x14078a700
14069aa85:	90                   	nop
14069aa86:	33 c9                	xor    %ecx,%ecx
14069aa88:	e8 73 fc 0e 00       	call   0x14078a700
14069aa8d:	cc                   	int3
14069aa8e:	b9 01 00 00 00       	mov    $0x1,%ecx
14069aa93:	e8 68 fc 0e 00       	call   0x14078a700
14069aa98:	90                   	nop
14069aa99:	b9 02 00 00 00       	mov    $0x2,%ecx
14069aa9e:	e8 5d fc 0e 00       	call   0x14078a700
14069aaa3:	90                   	nop
14069aaa4:	b9 02 00 00 00       	mov    $0x2,%ecx
14069aaa9:	e8 52 fc 0e 00       	call   0x14078a700
14069aaae:	90                   	nop
14069aaaf:	b9 02 00 00 00       	mov    $0x2,%ecx
14069aab4:	e8 47 fc 0e 00       	call   0x14078a700
14069aab9:	90                   	nop
14069aaba:	b9 02 00 00 00       	mov    $0x2,%ecx
14069aabf:	e8 3c fc 0e 00       	call   0x14078a700
14069aac4:	90                   	nop
14069aac5:	b9 02 00 00 00       	mov    $0x2,%ecx
14069aaca:	e8 31 fc 0e 00       	call   0x14078a700
14069aacf:	cc                   	int3
14069aad0:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14069aad5:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
14069aada:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14069aadf:	55                   	push   %rbp
14069aae0:	56                   	push   %rsi
14069aae1:	57                   	push   %rdi
14069aae2:	41 54                	push   %r12
14069aae4:	41 55                	push   %r13
14069aae6:	41 56                	push   %r14
14069aae8:	41 57                	push   %r15
14069aaea:	48 8b ec             	mov    %rsp,%rbp