140805607:	0f 88 f0 01 00 00    	js     0x1408057fd
14080560d:	e9 4f 01 00 00       	jmp    0x140805761
140805612:	3b d7                	cmp    %edi,%edx
140805614:	75 2d                	jne    0x140805643
140805616:	4c 89 36             	mov    %r14,(%rsi)
140805619:	48 89 19             	mov    %rbx,(%rcx)
14080561c:	48 8b 0e             	mov    (%rsi),%rcx
14080561f:	48 85 c9             	test   %rcx,%rcx
140805622:	0f 84 4b 01 00 00    	je     0x140805773
140805628:	8b 41 10             	mov    0x10(%rcx),%eax
14080562b:	ff c8                	dec    %eax
14080562d:	89 41 10             	mov    %eax,0x10(%rcx)
140805630:	85 c0                	test   %eax,%eax
140805632:	0f 8f 3b 01 00 00    	jg     0x140805773
140805638:	0f 88 ca 01 00 00    	js     0x140805808
14080563e:	e9 1e 01 00 00       	jmp    0x140805761
140805643:	8d 47 fe             	lea    -0x2(%rdi),%eax
140805646:	83 f8 01             	cmp    $0x1,%eax
140805649:	76 05                	jbe    0x140805650
14080564b:	83 ff 04             	cmp    $0x4,%edi
14080564e:	75 08                	jne    0x140805658
140805650:	8d 42 fe             	lea    -0x2(%rdx),%eax
140805653:	83 f8 02             	cmp    $0x2,%eax
140805656:	76 45                	jbe    0x14080569d
140805658:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
14080565d:	45 33 c9             	xor    %r9d,%r9d
140805660:	4c 8b c3             	mov    %rbx,%r8
140805663:	48 8d 15 0e e7 81 00 	lea    0x81e70e(%rip),%rdx        # 0x141023d78
14080566a:	49 8b 4d 00          	mov    0x0(%r13),%rcx
14080566e:	e8 4d 4c f8 ff       	call   0x14078a2c0
140805673:	4d 89 37             	mov    %r14,(%r15)
140805676:	48 8b 0e             	mov    (%rsi),%rcx
140805679:	48 85 c9             	test   %rcx,%rcx
14080567c:	0f 84 f1 00 00 00    	je     0x140805773
140805682:	8b 41 10             	mov    0x10(%rcx),%eax
140805685:	ff c8                	dec    %eax
140805687:	89 41 10             	mov    %eax,0x10(%rcx)
14080568a:	85 c0                	test   %eax,%eax
14080568c:	0f 8f e1 00 00 00    	jg     0x140805773
140805692:	0f 88 7b 01 00 00    	js     0x140805813
140805698:	e9 c4 00 00 00       	jmp    0x140805761
14080569d:	8b cf                	mov    %edi,%ecx
14080569f:	e8 fc c2 f4 ff       	call   0x1407519a0
1408056a4:	3b c7                	cmp    %edi,%eax
1408056a6:	74 42                	je     0x1408056ea
1408056a8:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
1408056ad:	45 33 c9             	xor    %r9d,%r9d
1408056b0:	4c 8b 06             	mov    (%rsi),%r8
1408056b3:	48 8d 15 e6 e6 81 00 	lea    0x81e6e6(%rip),%rdx        # 0x141023da0
1408056ba:	49 8b 4d 00          	mov    0x0(%r13),%rcx
1408056be:	e8 fd 4b f8 ff       	call   0x14078a2c0
1408056c3:	4d 89 37             	mov    %r14,(%r15)
1408056c6:	48 8b 0e             	mov    (%rsi),%rcx
1408056c9:	48 85 c9             	test   %rcx,%rcx
1408056cc:	0f 84 a1 00 00 00    	je     0x140805773
1408056d2:	8b 41 10             	mov    0x10(%rcx),%eax
1408056d5:	ff c8                	dec    %eax
1408056d7:	89 41 10             	mov    %eax,0x10(%rcx)
1408056da:	85 c0                	test   %eax,%eax
1408056dc:	0f 8f 91 00 00 00    	jg     0x140805773
1408056e2:	0f 88 36 01 00 00    	js     0x14080581e
1408056e8:	eb 77                	jmp    0x140805761
1408056ea:	b9 40 00 00 00       	mov    $0x40,%ecx
1408056ef:	e8 14 5a 61 00       	call   0x140e1b108
1408056f4:	4c 8b c8             	mov    %rax,%r9
1408056f7:	48 89 45 df          	mov    %rax,-0x21(%rbp)
1408056fb:	48 85 c0             	test   %rax,%rax
1408056fe:	74 3a                	je     0x14080573a
140805700:	48 8b 0e             	mov    (%rsi),%rcx
140805703:	48 89 4d c7          	mov    %rcx,-0x39(%rbp)
140805707:	48 85 c9             	test   %rcx,%rcx
14080570a:	74 1c                	je     0x140805728
14080570c:	8b 41 10             	mov    0x10(%rcx),%eax
14080570f:	ff c0                	inc    %eax
140805711:	89 41 10             	mov    %eax,0x10(%rcx)
140805714:	83 f8 01             	cmp    $0x1,%eax
140805717:	0f 8e 90 02 00 00    	jle    0x1408059ad
14080571d:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140805722:	0f 84 8d 02 00 00    	je     0x1408059b5
140805728:	44 8b c7             	mov    %edi,%r8d
14080572b:	48 8d 55 c7          	lea    -0x39(%rbp),%rdx
14080572f:	49 8b c9             	mov    %r9,%rcx
140805732:	e8 79 82 fe ff       	call   0x1407ed9b0
140805737:	4c 8b f0             	mov    %rax,%r14
14080573a:	4c 89 75 c7          	mov    %r14,-0x39(%rbp)
14080573e:	48 8d 55 c7          	lea    -0x39(%rbp),%rdx
140805742:	49 8b cf             	mov    %r15,%rcx
140805745:	e8 c6 a5 99 ff       	call   0x14019fd10
14080574a:	90                   	nop
14080574b:	48 8b 0e             	mov    (%rsi),%rcx
14080574e:	48 85 c9             	test   %rcx,%rcx
140805751:	74 20                	je     0x140805773
140805753:	8b 41 10             	mov    0x10(%rcx),%eax
140805756:	ff c8                	dec    %eax
140805758:	89 41 10             	mov    %eax,0x10(%rcx)
14080575b:	85 c0                	test   %eax,%eax
14080575d:	7f 14                	jg     0x140805773
14080575f:	78 44                	js     0x1408057a5
140805761:	48 8b 01             	mov    (%rcx),%rax
140805764:	ba 01 00 00 00       	mov    $0x1,%edx
140805769:	48 8b 00             	mov    (%rax),%rax
14080576c:	ff 15 ae e2 77 00    	call   *0x77e2ae(%rip)        # 0x140f83a20
140805772:	90                   	nop
140805773:	49 8b cd             	mov    %r13,%rcx
140805776:	e8 75 8d 99 ff       	call   0x14019e4f0
14080577b:	49 8b c7             	mov    %r15,%rax
14080577e:	48 8b 4d 1f          	mov    0x1f(%rbp),%rcx
140805782:	48 33 cc             	xor    %rsp,%rcx
140805785:	e8 76 5d 61 00       	call   0x140e1b500
14080578a:	48 8b 9c 24 e8 00 00 	mov    0xe8(%rsp),%rbx
140805791:	00
140805792:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
140805799:	41 5f                	pop    %r15
14080579b:	41 5e                	pop    %r14
14080579d:	41 5d                	pop    %r13
14080579f:	41 5c                	pop    %r12
1408057a1:	5f                   	pop    %rdi
1408057a2:	5e                   	pop    %rsi
1408057a3:	5d                   	pop    %rbp
1408057a4:	c3                   	ret
1408057a5:	b9 02 00 00 00       	mov    $0x2,%ecx
1408057aa:	e8 51 4f f8 ff       	call   0x14078a700
1408057af:	90                   	nop
1408057b0:	b9 02 00 00 00       	mov    $0x2,%ecx
1408057b5:	e8 46 4f f8 ff       	call   0x14078a700
1408057ba:	90                   	nop
1408057bb:	b9 02 00 00 00       	mov    $0x2,%ecx
1408057c0:	e8 3b 4f f8 ff       	call   0x14078a700
1408057c5:	90                   	nop
1408057c6:	b9 02 00 00 00       	mov    $0x2,%ecx
1408057cb:	e8 30 4f f8 ff       	call   0x14078a700
1408057d0:	90                   	nop
1408057d1:	b9 02 00 00 00       	mov    $0x2,%ecx
1408057d6:	e8 25 4f f8 ff       	call   0x14078a700
1408057db:	90                   	nop
1408057dc:	b9 02 00 00 00       	mov    $0x2,%ecx
1408057e1:	e8 1a 4f f8 ff       	call   0x14078a700
1408057e6:	90                   	nop
1408057e7:	b9 02 00 00 00       	mov    $0x2,%ecx
1408057ec:	e8 0f 4f f8 ff       	call   0x14078a700
1408057f1:	90                   	nop
1408057f2:	b9 02 00 00 00       	mov    $0x2,%ecx
1408057f7:	e8 04 4f f8 ff       	call   0x14078a700
1408057fc:	90                   	nop
1408057fd:	b9 02 00 00 00       	mov    $0x2,%ecx
140805802:	e8 f9 4e f8 ff       	call   0x14078a700
140805807:	90                   	nop
140805808:	b9 02 00 00 00       	mov    $0x2,%ecx
14080580d:	e8 ee 4e f8 ff       	call   0x14078a700
140805812:	90                   	nop
140805813:	b9 02 00 00 00       	mov    $0x2,%ecx
140805818:	e8 e3 4e f8 ff       	call   0x14078a700
14080581d:	90                   	nop
14080581e:	b9 02 00 00 00       	mov    $0x2,%ecx
140805823:	e8 d8 4e f8 ff       	call   0x14078a700
140805828:	90                   	nop
140805829:	33 c9                	xor    %ecx,%ecx
14080582b:	e8 d0 4e f8 ff       	call   0x14078a700
140805830:	cc                   	int3
140805831:	b9 01 00 00 00       	mov    $0x1,%ecx
140805836:	e8 c5 4e f8 ff       	call   0x14078a700
14080583b:	90                   	nop
14080583c:	b9 02 00 00 00       	mov    $0x2,%ecx
140805841:	e8 ba 4e f8 ff       	call   0x14078a700
140805846:	90                   	nop
140805847:	b9 02 00 00 00       	mov    $0x2,%ecx
14080584c:	e8 af 4e f8 ff       	call   0x14078a700
140805851:	90                   	nop
140805852:	b9 02 00 00 00       	mov    $0x2,%ecx
140805857:	e8 a4 4e f8 ff       	call   0x14078a700
14080585c:	90                   	nop
14080585d:	33 c9                	xor    %ecx,%ecx
14080585f:	e8 9c 4e f8 ff       	call   0x14078a700
140805864:	cc                   	int3
140805865:	b9 01 00 00 00       	mov    $0x1,%ecx
14080586a:	e8 91 4e f8 ff       	call   0x14078a700
14080586f:	90                   	nop
140805870:	33 c9                	xor    %ecx,%ecx
140805872:	e8 89 4e f8 ff       	call   0x14078a700
140805877:	cc                   	int3
140805878:	b9 01 00 00 00       	mov    $0x1,%ecx
14080587d:	e8 7e 4e f8 ff       	call   0x14078a700
140805882:	90                   	nop
140805883:	b9 02 00 00 00       	mov    $0x2,%ecx
140805888:	e8 73 4e f8 ff       	call   0x14078a700
14080588d:	90                   	nop
14080588e:	b9 02 00 00 00       	mov    $0x2,%ecx
140805893:	e8 68 4e f8 ff       	call   0x14078a700
140805898:	90                   	nop
140805899:	33 c9                	xor    %ecx,%ecx
14080589b:	e8 60 4e f8 ff       	call   0x14078a700
1408058a0:	cc                   	int3
1408058a1:	b9 01 00 00 00       	mov    $0x1,%ecx
1408058a6:	e8 55 4e f8 ff       	call   0x14078a700
1408058ab:	90                   	nop
1408058ac:	33 c9                	xor    %ecx,%ecx
1408058ae:	e8 4d 4e f8 ff       	call   0x14078a700
1408058b3:	cc                   	int3
1408058b4:	b9 01 00 00 00       	mov    $0x1,%ecx
1408058b9:	e8 42 4e f8 ff       	call   0x14078a700
1408058be:	90                   	nop
1408058bf:	b9 02 00 00 00       	mov    $0x2,%ecx
1408058c4:	e8 37 4e f8 ff       	call   0x14078a700
1408058c9:	90                   	nop
1408058ca:	33 c9                	xor    %ecx,%ecx
1408058cc:	e8 2f 4e f8 ff       	call   0x14078a700
1408058d1:	cc                   	int3
1408058d2:	b9 01 00 00 00       	mov    $0x1,%ecx
1408058d7:	e8 24 4e f8 ff       	call   0x14078a700
1408058dc:	90                   	nop
1408058dd:	b9 02 00 00 00       	mov    $0x2,%ecx
1408058e2:	e8 19 4e f8 ff       	call   0x14078a700
1408058e7:	90                   	nop
1408058e8:	33 c9                	xor    %ecx,%ecx
1408058ea:	e8 11 4e f8 ff       	call   0x14078a700
1408058ef:	cc                   	int3
1408058f0:	b9 01 00 00 00       	mov    $0x1,%ecx
1408058f5:	e8 06 4e f8 ff       	call   0x14078a700
1408058fa:	90                   	nop
1408058fb:	33 c9                	xor    %ecx,%ecx
1408058fd:	e8 fe 4d f8 ff       	call   0x14078a700
140805902:	cc                   	int3
140805903:	b9 01 00 00 00       	mov    $0x1,%ecx
140805908:	e8 f3 4d f8 ff       	call   0x14078a700
14080590d:	90                   	nop
14080590e:	b9 02 00 00 00       	mov    $0x2,%ecx
140805913:	e8 e8 4d f8 ff       	call   0x14078a700
140805918:	90                   	nop
140805919:	b9 02 00 00 00       	mov    $0x2,%ecx
14080591e:	e8 dd 4d f8 ff       	call   0x14078a700
140805923:	90                   	nop
140805924:	b9 02 00 00 00       	mov    $0x2,%ecx
140805929:	e8 d2 4d f8 ff       	call   0x14078a700
14080592e:	90                   	nop
14080592f:	b9 02 00 00 00       	mov    $0x2,%ecx
140805934:	e8 c7 4d f8 ff       	call   0x14078a700
140805939:	90                   	nop
14080593a:	e8 65 48 62 00       	call   0x140e2a1a4
14080593f:	90                   	nop
140805940:	b9 02 00 00 00       	mov    $0x2,%ecx
140805945:	e8 b6 4d f8 ff       	call   0x14078a700
14080594a:	90                   	nop
14080594b:	33 c9                	xor    %ecx,%ecx
14080594d:	e8 ae 4d f8 ff       	call   0x14078a700
140805952:	cc                   	int3
140805953:	b9 01 00 00 00       	mov    $0x1,%ecx
140805958:	e8 a3 4d f8 ff       	call   0x14078a700
14080595d:	90                   	nop
14080595e:	33 c9                	xor    %ecx,%ecx
140805960:	e8 9b 4d f8 ff       	call   0x14078a700
140805965:	cc                   	int3
140805966:	b9 01 00 00 00       	mov    $0x1,%ecx
14080596b:	e8 90 4d f8 ff       	call   0x14078a700
140805970:	90                   	nop
140805971:	b9 02 00 00 00       	mov    $0x2,%ecx
140805976:	e8 85 4d f8 ff       	call   0x14078a700
14080597b:	90                   	nop
14080597c:	33 c9                	xor    %ecx,%ecx
14080597e:	e8 7d 4d f8 ff       	call   0x14078a700
140805983:	cc                   	int3
140805984:	b9 01 00 00 00       	mov    $0x1,%ecx
140805989:	e8 72 4d f8 ff       	call   0x14078a700
14080598e:	90                   	nop
14080598f:	33 c9                	xor    %ecx,%ecx
140805991:	e8 6a 4d f8 ff       	call   0x14078a700
140805996:	cc                   	int3
140805997:	b9 01 00 00 00       	mov    $0x1,%ecx
14080599c:	e8 5f 4d f8 ff       	call   0x14078a700
1408059a1:	90                   	nop
1408059a2:	b9 02 00 00 00       	mov    $0x2,%ecx
1408059a7:	e8 54 4d f8 ff       	call   0x14078a700
1408059ac:	90                   	nop
1408059ad:	33 c9                	xor    %ecx,%ecx
1408059af:	e8 4c 4d f8 ff       	call   0x14078a700
1408059b4:	cc                   	int3
1408059b5:	b9 01 00 00 00       	mov    $0x1,%ecx
1408059ba:	e8 41 4d f8 ff       	call   0x14078a700
1408059bf:	cc                   	int3
1408059c0:	40 53                	rex push %rbx
1408059c2:	55                   	push   %rbp
1408059c3:	56                   	push   %rsi
1408059c4:	57                   	push   %rdi
1408059c5:	41 54                	push   %r12
1408059c7:	41 55                	push   %r13
1408059c9:	41 56                	push   %r14
1408059cb:	41 57                	push   %r15
1408059cd:	48 83 ec 48          	sub    $0x48,%rsp
1408059d1:	48 8d 71 38          	lea    0x38(%rcx),%rsi
1408059d5:	4c 8b 32             	mov    (%rdx),%r14
1408059d8:	4c 89 b4 24 90 00 00 	mov    %r14,0x90(%rsp)
1408059df:	00
1408059e0:	49 8b 46 48          	mov    0x48(%r14),%rax
1408059e4:	49 8b 56 50          	mov    0x50(%r14),%rdx
1408059e8:	48 2b d0             	sub    %rax,%rdx
1408059eb:	48 c1 fa 03          	sar    $0x3,%rdx
1408059ef:	48 83 fa 01          	cmp    $0x1,%rdx
1408059f3:	75 0d                	jne    0x140805a02
1408059f5:	48 8b 00             	mov    (%rax),%rax
1408059f8:	83 78 18 0d          	cmpl   $0xd,0x18(%rax)
1408059fc:	0f 84 12 02 00 00    	je     0x140805c14
140805a02:	8b 46 0c             	mov    0xc(%rsi),%eax
140805a05:	33 ed                	xor    %ebp,%ebp
140805a07:	3b c2                	cmp    %edx,%eax
140805a09:	74 21                	je     0x140805a2c
140805a0b:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
140805a10:	45 33 c9             	xor    %r9d,%r9d
140805a13:	4c 8b c1             	mov    %rcx,%r8
140805a16:	48 8d 15 ab 78 83 00 	lea    0x8378ab(%rip),%rdx        # 0x14103d2c8
140805a1d:	49 8b ce             	mov    %r14,%rcx
140805a20:	e8 9b 48 f8 ff       	call   0x14078a2c0
140805a25:	32 c0                	xor    %al,%al
140805a27:	e9 ea 01 00 00       	jmp    0x140805c16
140805a2c:	44 8b ed             	mov    %ebp,%r13d
140805a2f:	85 c0                	test   %eax,%eax
140805a31:	0f 8e dd 01 00 00    	jle    0x140805c14
140805a37:	4c 8b fd             	mov    %rbp,%r15
140805a3a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140805a40:	48 8b 06             	mov    (%rsi),%rax
140805a43:	4a 8b 3c f8          	mov    (%rax,%r15,8),%rdi
140805a47:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
140805a4c:	48 85 ff             	test   %rdi,%rdi
140805a4f:	74 1c                	je     0x140805a6d
140805a51:	8b 47 10             	mov    0x10(%rdi),%eax
140805a54:	ff c0                	inc    %eax
140805a56:	89 47 10             	mov    %eax,0x10(%rdi)
140805a59:	83 f8 01             	cmp    $0x1,%eax
140805a5c:	0f 8e 2a 02 00 00    	jle    0x140805c8c
140805a62:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140805a67:	0f 84 14 02 00 00    	je     0x140805c81
140805a6d:	49 8b 46 48          	mov    0x48(%r14),%rax
140805a71:	4a 8b 14 f8          	mov    (%rax,%r15,8),%rdx
140805a75:	48 89 94 24 98 00 00 	mov    %rdx,0x98(%rsp)
140805a7c:	00
140805a7d:	48 85 d2             	test   %rdx,%rdx
140805a80:	74 1c                	je     0x140805a9e
140805a82:	8b 42 10             	mov    0x10(%rdx),%eax
140805a85:	ff c0                	inc    %eax
140805a87:	89 42 10             	mov    %eax,0x10(%rdx)
140805a8a:	83 f8 01             	cmp    $0x1,%eax
140805a8d:	0f 8e 0c 02 00 00    	jle    0x140805c9f
140805a93:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140805a98:	0f 84 f6 01 00 00    	je     0x140805c94
140805a9e:	48 89 bc 24 a0 00 00 	mov    %rdi,0xa0(%rsp)
140805aa5:	00
140805aa6:	48 85 ff             	test   %rdi,%rdi
140805aa9:	74 1c                	je     0x140805ac7
140805aab:	8b 47 10             	mov    0x10(%rdi),%eax
140805aae:	ff c0                	inc    %eax
140805ab0:	89 47 10             	mov    %eax,0x10(%rdi)
140805ab3:	83 f8 01             	cmp    $0x1,%eax