140986793:	56                   	push   %rsi
140986794:	57                   	push   %rdi
140986795:	48 8d 6c 24 c8       	lea    -0x38(%rsp),%rbp
14098679a:	48 81 ec 38 01 00 00 	sub    $0x138,%rsp
1409867a1:	48 8b 05 58 27 a3 00 	mov    0xa32758(%rip),%rax        # 0x1413b8f00
1409867a8:	48 33 c4             	xor    %rsp,%rax
1409867ab:	48 89 45 08          	mov    %rax,0x8(%rbp)
1409867af:	48 8b da             	mov    %rdx,%rbx
1409867b2:	44 89 4c 24 48       	mov    %r9d,0x48(%rsp)
1409867b7:	48 8b f9             	mov    %rcx,%rdi
1409867ba:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
1409867bf:	48 8b cb             	mov    %rbx,%rcx
1409867c2:	49 8b f0             	mov    %r8,%rsi
1409867c5:	e8 e6 49 00 00       	call   0x14098b1b0
1409867ca:	85 c0                	test   %eax,%eax
1409867cc:	79 16                	jns    0x1409867e4
1409867ce:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
1409867d2:	48 8b d3             	mov    %rbx,%rdx
1409867d5:	e8 f6 10 00 00       	call   0x1409878d0
1409867da:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
1409867df:	e9 c0 05 00 00       	jmp    0x140986da4
1409867e4:	44 0f b6 44 24 60    	movzbl 0x60(%rsp),%r8d
1409867ea:	45 33 d2             	xor    %r10d,%r10d
1409867ed:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
1409867f2:	4c 89 a4 24 30 01 00 	mov    %r12,0x130(%rsp)
1409867f9:	00
1409867fa:	4c 89 b4 24 20 01 00 	mov    %r14,0x120(%rsp)
140986801:	00
140986802:	4c 89 bc 24 18 01 00 	mov    %r15,0x118(%rsp)
140986809:	00
14098680a:	41 f6 c0 40          	test   $0x40,%r8b
14098680e:	75 17                	jne    0x140986827
140986810:	48 83 c9 40          	or     $0x40,%rcx
140986814:	66 44 89 55 94       	mov    %r10w,-0x6c(%rbp)
140986819:	48 89 4c 24 60       	mov    %rcx,0x60(%rsp)
14098681e:	4c 8b c1             	mov    %rcx,%r8
140986821:	45 0f b7 ca          	movzwl %r10w,%r9d
140986825:	eb 05                	jmp    0x14098682c
140986827:	44 0f b7 4d 94       	movzwl -0x6c(%rbp),%r9d
14098682c:	8b 56 10             	mov    0x10(%rsi),%edx
14098682f:	4c 8b 7c 24 78       	mov    0x78(%rsp),%r15
140986834:	4c 89 7c 24 50       	mov    %r15,0x50(%rsp)
140986839:	8d 42 02             	lea    0x2(%rdx),%eax
14098683c:	83 f8 01             	cmp    $0x1,%eax
14098683f:	77 0f                	ja     0x140986850
140986841:	66 45 85 c9          	test   %r9w,%r9w
140986845:	74 09                	je     0x140986850
140986847:	41 0f b7 d1          	movzwl %r9w,%edx
14098684b:	89 56 10             	mov    %edx,0x10(%rsi)
14098684e:	eb 31                	jmp    0x140986881
140986850:	85 d2                	test   %edx,%edx
140986852:	75 1c                	jne    0x140986870
140986854:	41 f6 c0 04          	test   $0x4,%r8b
140986858:	74 16                	je     0x140986870
14098685a:	48 83 c9 08          	or     $0x8,%rcx
14098685e:	49 8b c7             	mov    %r15,%rax
140986861:	48 89 4c 24 60       	mov    %rcx,0x60(%rsp)
140986866:	44 0f b6 c1          	movzbl %cl,%r8d
14098686a:	48 89 45 80          	mov    %rax,-0x80(%rbp)
14098686e:	eb 15                	jmp    0x140986885
140986870:	b8 f7 ff ff ff       	mov    $0xfffffff7,%eax
140986875:	48 23 c8             	and    %rax,%rcx
140986878:	48 89 4c 24 60       	mov    %rcx,0x60(%rsp)
14098687d:	44 0f b6 c1          	movzbl %cl,%r8d
140986881:	48 8b 45 80          	mov    -0x80(%rbp),%rax
140986885:	45 84 c0             	test   %r8b,%r8b
140986888:	78 13                	js     0x14098689d
14098688a:	48 0f ba e9 07       	bts    $0x7,%rcx
14098688f:	66 44 89 55 96       	mov    %r10w,-0x6a(%rbp)
140986894:	48 89 4c 24 60       	mov    %rcx,0x60(%rsp)
140986899:	44 0f b6 c1          	movzbl %cl,%r8d
14098689d:	41 bc 00 01 00 00    	mov    $0x100,%r12d
1409868a3:	41 be 08 00 00 00    	mov    $0x8,%r14d
1409868a9:	44 89 64 24 44       	mov    %r12d,0x44(%rsp)
1409868ae:	41 f6 c0 04          	test   $0x4,%r8b
1409868b2:	75 17                	jne    0x1409868cb
1409868b4:	b8 00 05 00 00       	mov    $0x500,%eax
1409868b9:	48 c7 44 24 50 ff ff 	movq   $0xffffffffffffffff,0x50(%rsp)
1409868c0:	ff ff
1409868c2:	44 8b e0             	mov    %eax,%r12d
1409868c5:	89 44 24 44          	mov    %eax,0x44(%rsp)
1409868c9:	eb 6a                	jmp    0x140986935
1409868cb:	4c 89 7e 30          	mov    %r15,0x30(%rsi)
1409868cf:	45 84 c6             	test   %r8b,%r14b
1409868d2:	75 58                	jne    0x14098692c
1409868d4:	83 fa ff             	cmp    $0xffffffff,%edx
1409868d7:	74 0f                	je     0x1409868e8
1409868d9:	83 fa fe             	cmp    $0xfffffffe,%edx
1409868dc:	74 0a                	je     0x1409868e8
1409868de:	66 85 d2             	test   %dx,%dx
1409868e1:	75 09                	jne    0x1409868ec
1409868e3:	49 8b cf             	mov    %r15,%rcx
1409868e6:	eb 2a                	jmp    0x140986912
1409868e8:	41 0f b7 d6          	movzwl %r14w,%edx
1409868ec:	0f b7 ca             	movzwl %dx,%ecx
1409868ef:	b2 01                	mov    $0x1,%dl
1409868f1:	e8 ea 49 00 00       	call   0x14098b2e0
1409868f6:	48 85 c0             	test   %rax,%rax
1409868f9:	75 06                	jne    0x140986901
1409868fb:	48 8d 48 ff          	lea    -0x1(%rax),%rcx
1409868ff:	eb 11                	jmp    0x140986912
140986901:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
140986906:	48 8b 00             	mov    (%rax),%rax
140986909:	ff 15 11 d1 5f 00    	call   *0x5fd111(%rip)        # 0x140f83a20
14098690f:	48 8b c8             	mov    %rax,%rcx
140986912:	ba ff ff ff ff       	mov    $0xffffffff,%edx
140986917:	b8 00 05 00 00       	mov    $0x500,%eax
14098691c:	48 3b ca             	cmp    %rdx,%rcx
14098691f:	41 0f 46 c4          	cmovbe %r12d,%eax
140986923:	44 8b e0             	mov    %eax,%r12d
140986926:	89 44 24 44          	mov    %eax,0x44(%rsp)
14098692a:	eb 09                	jmp    0x140986935
14098692c:	48 89 46 28          	mov    %rax,0x28(%rsi)
140986930:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140986935:	48 8b 0f             	mov    (%rdi),%rcx
140986938:	e8 13 49 00 00       	call   0x14098b250
14098693d:	48 89 45 a0          	mov    %rax,-0x60(%rbp)
140986941:	48 85 c0             	test   %rax,%rax
140986944:	79 16                	jns    0x14098695c
140986946:	48 8b 17             	mov    (%rdi),%rdx
140986949:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
14098694d:	e8 7e 0f 00 00       	call   0x1409878d0
140986952:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140986957:	e9 30 04 00 00       	jmp    0x140986d8c
14098695c:	b8 f7 ff 00 00       	mov    $0xfff7,%eax
140986961:	4c 89 ac 24 28 01 00 	mov    %r13,0x128(%rsp)
140986968:	00
140986969:	66 21 46 0c          	and    %ax,0xc(%rsi)
14098696d:	45 8b c4             	mov    %r12d,%r8d
140986970:	48 8b d6             	mov    %rsi,%rdx
140986973:	48 8b cf             	mov    %rdi,%rcx
140986976:	e8 25 6f 00 00       	call   0x14098d8a0
14098697b:	89 44 24 4c          	mov    %eax,0x4c(%rsp)
14098697f:	85 c0                	test   %eax,%eax
140986981:	0f 88 f8 03 00 00    	js     0x140986d7f
140986987:	8b 56 10             	mov    0x10(%rsi),%edx
14098698a:	8d 4a 02             	lea    0x2(%rdx),%ecx
14098698d:	83 f9 01             	cmp    $0x1,%ecx
140986990:	0f b7 4d 94          	movzwl -0x6c(%rbp),%ecx
140986994:	44 0f 47 f2          	cmova  %edx,%r14d
140986998:	66 41 3b ce          	cmp    %r14w,%cx
14098699c:	41 0f 95 c0          	setne  %r8b
1409869a0:	74 0a                	je     0x1409869ac
1409869a2:	66 85 c9             	test   %cx,%cx
1409869a5:	74 05                	je     0x1409869ac
1409869a7:	41 b5 01             	mov    $0x1,%r13b
1409869aa:	eb 03                	jmp    0x1409869af
1409869ac:	45 32 ed             	xor    %r13b,%r13b
1409869af:	66 85 c9             	test   %cx,%cx
1409869b2:	74 0a                	je     0x1409869be
1409869b4:	c6 44 24 40 00       	movb   $0x0,0x40(%rsp)
1409869b9:	45 84 ed             	test   %r13b,%r13b
1409869bc:	74 05                	je     0x1409869c3
1409869be:	c6 44 24 40 01       	movb   $0x1,0x40(%rsp)
1409869c3:	0f b7 4d 96          	movzwl -0x6a(%rbp),%ecx
1409869c7:	45 84 c0             	test   %r8b,%r8b
1409869ca:	74 14                	je     0x1409869e0
1409869cc:	85 d2                	test   %edx,%edx
1409869ce:	74 10                	je     0x1409869e0
1409869d0:	41 b6 01             	mov    $0x1,%r14b
1409869d3:	b0 01                	mov    $0x1,%al
1409869d5:	66 85 c9             	test   %cx,%cx
1409869d8:	74 1b                	je     0x1409869f5
1409869da:	44 0f b6 f8          	movzbl %al,%r15d
1409869de:	eb 1c                	jmp    0x1409869fc
1409869e0:	45 32 f6             	xor    %r14b,%r14b
1409869e3:	45 84 c0             	test   %r8b,%r8b
1409869e6:	75 eb                	jne    0x1409869d3
1409869e8:	f6 06 80             	testb  $0x80,(%rsi)
1409869eb:	75 e6                	jne    0x1409869d3
1409869ed:	66 39 4e 6a          	cmp    %cx,0x6a(%rsi)
1409869f1:	75 e0                	jne    0x1409869d3
1409869f3:	32 c0                	xor    %al,%al
1409869f5:	45 32 ff             	xor    %r15b,%r15b
1409869f8:	84 c0                	test   %al,%al
1409869fa:	74 0c                	je     0x140986a08
1409869fc:	66 83 7e 6a 00       	cmpw   $0x0,0x6a(%rsi)
140986a01:	74 05                	je     0x140986a08
140986a03:	41 b4 01             	mov    $0x1,%r12b
140986a06:	eb 03                	jmp    0x140986a0b
140986a08:	45 32 e4             	xor    %r12b,%r12b
140986a0b:	48 8b cb             	mov    %rbx,%rcx
140986a0e:	e8 fd 3d 00 00       	call   0x14098a810
140986a13:	45 84 ff             	test   %r15b,%r15b
140986a16:	74 67                	je     0x140986a7f
140986a18:	0f b7 4d 96          	movzwl -0x6a(%rbp),%ecx
140986a1c:	33 d2                	xor    %edx,%edx
140986a1e:	e8 6d 48 00 00       	call   0x14098b290
140986a23:	4c 8b d0             	mov    %rax,%r10
140986a26:	48 85 c0             	test   %rax,%rax
140986a29:	75 1d                	jne    0x140986a48
140986a2b:	45 33 c0             	xor    %r8d,%r8d
140986a2e:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
140986a32:	41 8d 50 18          	lea    0x18(%r8),%edx
140986a36:	e8 55 0f 00 00       	call   0x140987990
140986a3b:	48 8b cb             	mov    %rbx,%rcx
140986a3e:	e8 ed 3b 00 00       	call   0x14098a630
140986a43:	e9 37 03 00 00       	jmp    0x140986d7f
140986a48:	48 8b 47 28          	mov    0x28(%rdi),%rax
140986a4c:	45 33 c9             	xor    %r9d,%r9d
140986a4f:	44 0f b7 45 96       	movzwl -0x6a(%rbp),%r8d
140986a54:	48 8b d3             	mov    %rbx,%rdx
140986a57:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140986a5c:	48 8b cf             	mov    %rdi,%rcx
140986a5f:	49 8b c2             	mov    %r10,%rax
140986a62:	ff 15 b8 cf 5f 00    	call   *0x5fcfb8(%rip)        # 0x140f83a20
140986a68:	4c 8b f8             	mov    %rax,%r15
140986a6b:	48 8b cb             	mov    %rbx,%rcx
140986a6e:	48 85 c0             	test   %rax,%rax
140986a71:	0f 84 e0 01 00 00    	je     0x140986c57
140986a77:	e8 b4 3b 00 00       	call   0x14098a630
140986a7c:	49 8b df             	mov    %r15,%rbx
140986a7f:	45 84 ed             	test   %r13b,%r13b
140986a82:	74 27                	je     0x140986aab
140986a84:	44 0f b7 45 94       	movzwl -0x6c(%rbp),%r8d
140986a89:	48 8b d3             	mov    %rbx,%rdx
140986a8c:	48 8b cf             	mov    %rdi,%rcx
140986a8f:	e8 fc 4e 00 00       	call   0x14098b990
140986a94:	4c 8b f8             	mov    %rax,%r15
140986a97:	48 8b cb             	mov    %rbx,%rcx
140986a9a:	48 85 c0             	test   %rax,%rax
140986a9d:	0f 84 b4 01 00 00    	je     0x140986c57
140986aa3:	e8 88 3b 00 00       	call   0x14098a630
140986aa8:	49 8b df             	mov    %r15,%rbx
140986aab:	80 7c 24 40 00       	cmpb   $0x0,0x40(%rsp)
140986ab0:	74 25                	je     0x140986ad7
140986ab2:	4c 8d 47 10          	lea    0x10(%rdi),%r8
140986ab6:	33 d2                	xor    %edx,%edx
140986ab8:	48 8b cb             	mov    %rbx,%rcx
140986abb:	e8 d0 51 00 00       	call   0x14098bc90
140986ac0:	4c 8b f8             	mov    %rax,%r15
140986ac3:	48 8b cb             	mov    %rbx,%rcx
140986ac6:	48 85 c0             	test   %rax,%rax
140986ac9:	0f 84 88 01 00 00    	je     0x140986c57
140986acf:	e8 5c 3b 00 00       	call   0x14098a630
140986ad4:	49 8b df             	mov    %r15,%rbx
140986ad7:	45 84 f6             	test   %r14b,%r14b
140986ada:	74 2b                	je     0x140986b07
140986adc:	44 0f b7 4e 68       	movzwl 0x68(%rsi),%r9d
140986ae1:	48 8b d3             	mov    %rbx,%rdx
140986ae4:	44 8b 46 10          	mov    0x10(%rsi),%r8d
140986ae8:	48 8b cf             	mov    %rdi,%rcx
140986aeb:	e8 80 4e 00 00       	call   0x14098b970
140986af0:	4c 8b f0             	mov    %rax,%r14
140986af3:	48 8b cb             	mov    %rbx,%rcx
140986af6:	48 85 c0             	test   %rax,%rax
140986af9:	0f 84 58 01 00 00    	je     0x140986c57
140986aff:	e8 2c 3b 00 00       	call   0x14098a630
140986b04:	49 8b de             	mov    %r14,%rbx
140986b07:	45 84 e4             	test   %r12b,%r12b
140986b0a:	0f 84 d1 00 00 00    	je     0x140986be1
140986b10:	4c 8b 76 70          	mov    0x70(%rsi),%r14
140986b14:	45 33 ff             	xor    %r15d,%r15d
140986b17:	4d 85 f6             	test   %r14,%r14
140986b1a:	75 0e                	jne    0x140986b2a
140986b1c:	48 8b 47 28          	mov    0x28(%rdi),%rax
140986b20:	45 8b f7             	mov    %r15d,%r14d
140986b23:	48 85 c0             	test   %rax,%rax
140986b26:	4c 0f 45 f0          	cmovne %rax,%r14
140986b2a:	0f b7 4e 6a          	movzwl 0x6a(%rsi),%ecx
140986b2e:	ba 01 00 00 00       	mov    $0x1,%edx
140986b33:	e8 58 47 00 00       	call   0x14098b290
140986b38:	4c 8b e0             	mov    %rax,%r12
140986b3b:	48 85 c0             	test   %rax,%rax
140986b3e:	0f 84 e7 fe ff ff    	je     0x140986a2b
140986b44:	66 83 7e 6a 01       	cmpw   $0x1,0x6a(%rsi)
140986b49:	75 64                	jne    0x140986baf
140986b4b:	66 83 4e 0c 08       	orw    $0x8,0xc(%rsi)
140986b50:	f6 06 20             	testb  $0x20,(%rsi)
140986b53:	74 5a                	je     0x140986baf
140986b55:	48 8d 4d b0          	lea    -0x50(%rbp),%rcx
140986b59:	e8 82 40 00 00       	call   0x14098abe0
140986b5e:	48 8b 46 18          	mov    0x18(%rsi),%rax
140986b62:	4c 8d 4d b0          	lea    -0x50(%rbp),%r9
140986b66:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
140986b6a:	33 d2                	xor    %edx,%edx
140986b6c:	48 8d 47 10          	lea    0x10(%rdi),%rax
140986b70:	48 c7 45 b0 10 00 00 	movq   $0x10,-0x50(%rbp)
140986b77:	00
140986b78:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140986b7d:	48 8b cb             	mov    %rbx,%rcx
140986b80:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
140986b85:	4c 89 7c 24 28       	mov    %r15,0x28(%rsp)
140986b8a:	4c 8d 42 ff          	lea    -0x1(%rdx),%r8
140986b8e:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
140986b93:	e8 38 87 00 00       	call   0x14098f2d0
140986b98:	4c 8b f8             	mov    %rax,%r15
140986b9b:	48 8b cb             	mov    %rbx,%rcx
140986b9e:	48 85 c0             	test   %rax,%rax
140986ba1:	0f 84 b0 00 00 00    	je     0x140986c57
140986ba7:	e8 84 3a 00 00       	call   0x14098a630
140986bac:	49 8b df             	mov    %r15,%rbx
140986baf:	44 0f b7 46 6a       	movzwl 0x6a(%rsi),%r8d
140986bb4:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140986bba:	48 8b d3             	mov    %rbx,%rdx
140986bbd:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140986bc2:	48 8b cf             	mov    %rdi,%rcx
140986bc5:	49 8b c4             	mov    %r12,%rax
140986bc8:	ff 15 52 ce 5f 00    	call   *0x5fce52(%rip)        # 0x140f83a20
140986bce:	4c 8b f0             	mov    %rax,%r14
140986bd1:	48 8b cb             	mov    %rbx,%rcx
140986bd4:	48 85 c0             	test   %rax,%rax
140986bd7:	74 7e                	je     0x140986c57
140986bd9:	e8 52 3a 00 00       	call   0x14098a630
140986bde:	49 8b de             	mov    %r14,%rbx
140986be1:	48 8b 0f             	mov    (%rdi),%rcx
140986be4:	e8 67 46 00 00       	call   0x14098b250
140986be9:	4c 8b f8             	mov    %rax,%r15
140986bec:	48 85 c0             	test   %rax,%rax
140986bef:	79 11                	jns    0x140986c02
140986bf1:	48 8b 17             	mov    (%rdi),%rdx
140986bf4:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
140986bf8:	e8 d3 0c 00 00       	call   0x1409878d0
140986bfd:	e9 7d 01 00 00       	jmp    0x140986d7f
140986c02:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
140986c07:	48 8b d3             	mov    %rbx,%rdx
140986c0a:	48 8b cf             	mov    %rdi,%rcx
140986c0d:	e8 0e 03 00 00       	call   0x140986f20
140986c12:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
140986c17:	48 8b cb             	mov    %rbx,%rcx
140986c1a:	44 8b f0             	mov    %eax,%r14d
140986c1d:	e8 8e 45 00 00       	call   0x14098b1b0
140986c22:	85 c0                	test   %eax,%eax
140986c24:	79 12                	jns    0x140986c38
140986c26:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
140986c2a:	48 8b d3             	mov    %rbx,%rdx
140986c2d:	e8 9e 0c 00 00       	call   0x1409878d0
140986c32:	41 be ff ff ff ff    	mov    $0xffffffff,%r14d
140986c38:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
140986c3c:	48 8b cb             	mov    %rbx,%rcx
140986c3f:	e8 2c 43 00 00       	call   0x14098af70
140986c44:	85 c0                	test   %eax,%eax
140986c46:	74 19                	je     0x140986c61
140986c48:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
140986c4c:	48 8b d3             	mov    %rbx,%rdx
140986c4f:	e8 7c 0c 00 00       	call   0x1409878d0
140986c54:	48 8b cb             	mov    %rbx,%rcx
140986c57:	e8 d4 39 00 00       	call   0x14098a630
140986c5c:	e9 1e 01 00 00       	jmp    0x140986d7f
140986c61:	48 8b cb             	mov    %rbx,%rcx
140986c64:	e8 c7 39 00 00       	call   0x14098a630
140986c69:	45 85 f6             	test   %r14d,%r14d
140986c6c:	0f 88 0d 01 00 00    	js     0x140986d7f
140986c72:	48 8b 0f             	mov    (%rdi),%rcx
140986c75:	e8 d6 45 00 00       	call   0x14098b250
140986c7a:	4c 8b 0f             	mov    (%rdi),%r9
140986c7d:	48 8b d8             	mov    %rax,%rbx
140986c80:	48 85 c0             	test   %rax,%rax
140986c83:	79 11                	jns    0x140986c96
140986c85:	48 8d 4f 10          	lea    0x10(%rdi),%rcx