14069a42a:	48 8d 55 df          	lea    -0x21(%rbp),%rdx
14069a42e:	48 8b ce             	mov    %rsi,%rcx
14069a431:	e8 0a 3f ff ff       	call   0x14068e340
14069a436:	49 8b 14 24          	mov    (%r12),%rdx
14069a43a:	48 8b 08             	mov    (%rax),%rcx
14069a43d:	49 89 0c 24          	mov    %rcx,(%r12)
14069a441:	48 89 10             	mov    %rdx,(%rax)
14069a444:	48 8b 4d df          	mov    -0x21(%rbp),%rcx
14069a448:	48 85 c9             	test   %rcx,%rcx
14069a44b:	74 24                	je     0x14069a471
14069a44d:	8b 41 10             	mov    0x10(%rcx),%eax
14069a450:	ff c8                	dec    %eax
14069a452:	89 41 10             	mov    %eax,0x10(%rcx)
14069a455:	85 c0                	test   %eax,%eax
14069a457:	7f 18                	jg     0x14069a471
14069a459:	0f 88 69 01 00 00    	js     0x14069a5c8
14069a45f:	48 8b 01             	mov    (%rcx),%rax
14069a462:	ba 01 00 00 00       	mov    $0x1,%edx
14069a467:	48 8b 00             	mov    (%rax),%rax
14069a46a:	ff 15 b0 95 8e 00    	call   *0x8e95b0(%rip)        # 0x140f83a20
14069a470:	90                   	nop
14069a471:	48 8b 4d 67          	mov    0x67(%rbp),%rcx
14069a475:	48 85 c9             	test   %rcx,%rcx
14069a478:	74 24                	je     0x14069a49e
14069a47a:	8b 41 10             	mov    0x10(%rcx),%eax
14069a47d:	ff c8                	dec    %eax
14069a47f:	89 41 10             	mov    %eax,0x10(%rcx)
14069a482:	85 c0                	test   %eax,%eax
14069a484:	7f 18                	jg     0x14069a49e
14069a486:	0f 88 47 01 00 00    	js     0x14069a5d3
14069a48c:	48 8b 01             	mov    (%rcx),%rax
14069a48f:	ba 01 00 00 00       	mov    $0x1,%edx
14069a494:	48 8b 00             	mov    (%rax),%rax
14069a497:	ff 15 83 95 8e 00    	call   *0x8e9583(%rip)        # 0x140f83a20
14069a49d:	90                   	nop
14069a49e:	8b 47 10             	mov    0x10(%rdi),%eax
14069a4a1:	ff c8                	dec    %eax
14069a4a3:	89 47 10             	mov    %eax,0x10(%rdi)
14069a4a6:	85 c0                	test   %eax,%eax
14069a4a8:	7f 1b                	jg     0x14069a4c5
14069a4aa:	0f 88 2e 01 00 00    	js     0x14069a5de
14069a4b0:	48 8b 07             	mov    (%rdi),%rax
14069a4b3:	ba 01 00 00 00       	mov    $0x1,%edx
14069a4b8:	48 8b cf             	mov    %rdi,%rcx
14069a4bb:	48 8b 00             	mov    (%rax),%rax
14069a4be:	ff 15 5c 95 8e 00    	call   *0x8e955c(%rip)        # 0x140f83a20
14069a4c4:	90                   	nop
14069a4c5:	48 85 db             	test   %rbx,%rbx
14069a4c8:	74 27                	je     0x14069a4f1
14069a4ca:	8b 43 10             	mov    0x10(%rbx),%eax
14069a4cd:	ff c8                	dec    %eax
14069a4cf:	89 43 10             	mov    %eax,0x10(%rbx)
14069a4d2:	85 c0                	test   %eax,%eax
14069a4d4:	7f 1b                	jg     0x14069a4f1
14069a4d6:	0f 88 0d 01 00 00    	js     0x14069a5e9
14069a4dc:	48 8b 03             	mov    (%rbx),%rax
14069a4df:	ba 01 00 00 00       	mov    $0x1,%edx
14069a4e4:	48 8b cb             	mov    %rbx,%rcx
14069a4e7:	48 8b 00             	mov    (%rax),%rax
14069a4ea:	ff 15 30 95 8e 00    	call   *0x8e9530(%rip)        # 0x140f83a20
14069a4f0:	90                   	nop
14069a4f1:	48 8b 4d cf          	mov    -0x31(%rbp),%rcx
14069a4f5:	48 85 c9             	test   %rcx,%rcx
14069a4f8:	74 20                	je     0x14069a51a
14069a4fa:	8b 41 10             	mov    0x10(%rcx),%eax
14069a4fd:	ff c8                	dec    %eax
14069a4ff:	89 41 10             	mov    %eax,0x10(%rcx)
14069a502:	85 c0                	test   %eax,%eax
14069a504:	7f 14                	jg     0x14069a51a
14069a506:	78 30                	js     0x14069a538
14069a508:	48 8b 01             	mov    (%rcx),%rax
14069a50b:	ba 01 00 00 00       	mov    $0x1,%edx
14069a510:	48 8b 00             	mov    (%rax),%rax
14069a513:	ff 15 07 95 8e 00    	call   *0x8e9507(%rip)        # 0x140f83a20
14069a519:	90                   	nop
14069a51a:	49 8b c7             	mov    %r15,%rax
14069a51d:	48 8b 9c 24 f0 00 00 	mov    0xf0(%rsp),%rbx
14069a524:	00
14069a525:	48 81 c4 a0 00 00 00 	add    $0xa0,%rsp
14069a52c:	41 5f                	pop    %r15
14069a52e:	41 5e                	pop    %r14
14069a530:	41 5d                	pop    %r13
14069a532:	41 5c                	pop    %r12
14069a534:	5f                   	pop    %rdi
14069a535:	5e                   	pop    %rsi
14069a536:	5d                   	pop    %rbp
14069a537:	c3                   	ret
14069a538:	b9 02 00 00 00       	mov    $0x2,%ecx
14069a53d:	e8 be 01 0f 00       	call   0x14078a700
14069a542:	90                   	nop
14069a543:	48 8d 15 be 10 98 00 	lea    0x9810be(%rip),%rdx        # 0x14101b608
14069a54a:	48 8b ce             	mov    %rsi,%rcx
14069a54d:	e8 3e fe 0e 00       	call   0x14078a390
14069a552:	90                   	nop
14069a553:	b9 02 00 00 00       	mov    $0x2,%ecx
14069a558:	e8 a3 01 0f 00       	call   0x14078a700
14069a55d:	90                   	nop
14069a55e:	b9 02 00 00 00       	mov    $0x2,%ecx
14069a563:	e8 98 01 0f 00       	call   0x14078a700
14069a568:	90                   	nop
14069a569:	33 c9                	xor    %ecx,%ecx
14069a56b:	e8 90 01 0f 00       	call   0x14078a700
14069a570:	cc                   	int3
14069a571:	b9 01 00 00 00       	mov    $0x1,%ecx
14069a576:	e8 85 01 0f 00       	call   0x14078a700
14069a57b:	90                   	nop
14069a57c:	33 c9                	xor    %ecx,%ecx
14069a57e:	e8 7d 01 0f 00       	call   0x14078a700
14069a583:	cc                   	int3
14069a584:	b9 01 00 00 00       	mov    $0x1,%ecx
14069a589:	e8 72 01 0f 00       	call   0x14078a700
14069a58e:	90                   	nop
14069a58f:	33 c9                	xor    %ecx,%ecx
14069a591:	e8 6a 01 0f 00       	call   0x14078a700
14069a596:	cc                   	int3
14069a597:	b9 01 00 00 00       	mov    $0x1,%ecx
14069a59c:	e8 5f 01 0f 00       	call   0x14078a700
14069a5a1:	90                   	nop
14069a5a2:	33 c9                	xor    %ecx,%ecx
14069a5a4:	e8 57 01 0f 00       	call   0x14078a700
14069a5a9:	cc                   	int3
14069a5aa:	b9 01 00 00 00       	mov    $0x1,%ecx
14069a5af:	e8 4c 01 0f 00       	call   0x14078a700
14069a5b4:	90                   	nop
14069a5b5:	33 c9                	xor    %ecx,%ecx
14069a5b7:	e8 44 01 0f 00       	call   0x14078a700
14069a5bc:	cc                   	int3
14069a5bd:	b9 01 00 00 00       	mov    $0x1,%ecx
14069a5c2:	e8 39 01 0f 00       	call   0x14078a700
14069a5c7:	90                   	nop
14069a5c8:	b9 02 00 00 00       	mov    $0x2,%ecx
14069a5cd:	e8 2e 01 0f 00       	call   0x14078a700
14069a5d2:	90                   	nop
14069a5d3:	b9 02 00 00 00       	mov    $0x2,%ecx
14069a5d8:	e8 23 01 0f 00       	call   0x14078a700
14069a5dd:	90                   	nop
14069a5de:	b9 02 00 00 00       	mov    $0x2,%ecx
14069a5e3:	e8 18 01 0f 00       	call   0x14078a700
14069a5e8:	90                   	nop
14069a5e9:	b9 02 00 00 00       	mov    $0x2,%ecx
14069a5ee:	e8 0d 01 0f 00       	call   0x14078a700
14069a5f3:	cc                   	int3
14069a5f4:	cc                   	int3
14069a5f5:	cc                   	int3
14069a5f6:	cc                   	int3
14069a5f7:	cc                   	int3
14069a5f8:	cc                   	int3
14069a5f9:	cc                   	int3
14069a5fa:	cc                   	int3
14069a5fb:	cc                   	int3
14069a5fc:	cc                   	int3
14069a5fd:	cc                   	int3
14069a5fe:	cc                   	int3
14069a5ff:	cc                   	int3
14069a600:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14069a605:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14069a60a:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14069a60f:	55                   	push   %rbp
14069a610:	41 54                	push   %r12
14069a612:	41 55                	push   %r13
14069a614:	41 56                	push   %r14
14069a616:	41 57                	push   %r15
14069a618:	48 8b ec             	mov    %rsp,%rbp
14069a61b:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
14069a622:	4d 8b f9             	mov    %r9,%r15
14069a625:	4d 8b e8             	mov    %r8,%r13
14069a628:	4c 8b e2             	mov    %rdx,%r12
14069a62b:	4c 8b f1             	mov    %rcx,%r14
14069a62e:	48 8d 55 d0          	lea    -0x30(%rbp),%rdx
14069a632:	48 8b 49 38          	mov    0x38(%rcx),%rcx
14069a636:	e8 c5 dd 15 00       	call   0x1407f8400
14069a63b:	90                   	nop
14069a63c:	48 8b 45 d0          	mov    -0x30(%rbp),%rax
14069a640:	48 8b 78 38          	mov    0x38(%rax),%rdi
14069a644:	48 89 7d e8          	mov    %rdi,-0x18(%rbp)
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