140d38739:	48 8b cf             	mov    %rdi,%rcx
140d3873c:	e8 1f 93 f9 ff       	call   0x140cd1a60
140d38741:	b8 01 00 00 00       	mov    $0x1,%eax
140d38746:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140d3874b:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140d38750:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140d38755:	48 83 c4 20          	add    $0x20,%rsp
140d38759:	5f                   	pop    %rdi
140d3875a:	c3                   	ret
140d3875b:	cc                   	int3
140d3875c:	cc                   	int3
140d3875d:	cc                   	int3
140d3875e:	cc                   	int3
140d3875f:	cc                   	int3
140d38760:	b8 28 00 00 00       	mov    $0x28,%eax
140d38765:	e8 36 2d 0e 00       	call   0x140e1b4a0
140d3876a:	48 2b e0             	sub    %rax,%rsp
140d3876d:	48 63 c9             	movslq %ecx,%rcx
140d38770:	ff 15 22 b1 24 00    	call   *0x24b122(%rip)        # 0x140f83898
140d38776:	33 c9                	xor    %ecx,%ecx
140d38778:	85 c0                	test   %eax,%eax
140d3877a:	0f 99 c1             	setns  %cl
140d3877d:	8b c1                	mov    %ecx,%eax
140d3877f:	48 83 c4 28          	add    $0x28,%rsp
140d38783:	c3                   	ret
140d38784:	cc                   	int3
140d38785:	cc                   	int3
140d38786:	cc                   	int3
140d38787:	cc                   	int3
140d38788:	cc                   	int3
140d38789:	cc                   	int3
140d3878a:	cc                   	int3
140d3878b:	cc                   	int3
140d3878c:	cc                   	int3
140d3878d:	cc                   	int3
140d3878e:	cc                   	int3
140d3878f:	cc                   	int3
140d38790:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140d38795:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140d3879a:	56                   	push   %rsi
140d3879b:	b8 30 00 00 00       	mov    $0x30,%eax
140d387a0:	e8 fb 2c 0e 00       	call   0x140e1b4a0
140d387a5:	48 2b e0             	sub    %rax,%rsp
140d387a8:	48 63 f2             	movslq %edx,%rsi
140d387ab:	48 8b e9             	mov    %rcx,%rbp
140d387ae:	48 8d 15 eb 11 00 00 	lea    0x11eb(%rip),%rdx        # 0x140d399a0
140d387b5:	48 8d 0d fc 54 76 00 	lea    0x7654fc(%rip),%rcx        # 0x14149dcb8
140d387bc:	e8 5f ac fa ff       	call   0x140ce3420
140d387c1:	45 33 c0             	xor    %r8d,%r8d
140d387c4:	85 c0                	test   %eax,%eax
140d387c6:	44 0f 45 05 f2 54 76 	cmovne 0x7654f2(%rip),%r8d        # 0x14149dcc0
140d387cd:	00
140d387ce:	45 85 c0             	test   %r8d,%r8d
140d387d1:	0f 84 2d 01 00 00    	je     0x140d38904
140d387d7:	48 8d 0d d2 54 76 00 	lea    0x7654d2(%rip),%rcx        # 0x14149dcb0
140d387de:	e8 0d ab fa ff       	call   0x140ce32f0
140d387e3:	48 8b d8             	mov    %rax,%rbx
140d387e6:	48 85 c0             	test   %rax,%rax
140d387e9:	0f 85 f3 00 00 00    	jne    0x140d388e2
140d387ef:	8d 48 04             	lea    0x4(%rax),%ecx
140d387f2:	e8 99 a7 fa ff       	call   0x140ce2f90
140d387f7:	85 c0                	test   %eax,%eax
140d387f9:	0f 84 05 01 00 00    	je     0x140d38904
140d387ff:	44 8b 05 b6 54 76 00 	mov    0x7654b6(%rip),%r8d        # 0x14149dcbc
140d38806:	8d 4b 01             	lea    0x1(%rbx),%ecx
140d38809:	8b 15 19 fa 67 00    	mov    0x67fa19(%rip),%edx        # 0x1413b8228
140d3880f:	48 89 7c 24 40       	mov    %rdi,0x40(%rsp)
140d38814:	48 8b 3d 8d 54 76 00 	mov    0x76548d(%rip),%rdi        # 0x14149dca8
140d3881b:	4c 8b cf             	mov    %rdi,%r9
140d3881e:	e8 2d 15 00 00       	call   0x140d39d50
140d38823:	48 8b d8             	mov    %rax,%rbx
140d38826:	48 85 c0             	test   %rax,%rax
140d38829:	0f 84 9f 00 00 00    	je     0x140d388ce
140d3882f:	48 85 ff             	test   %rdi,%rdi
140d38832:	75 71                	jne    0x140d388a5
140d38834:	39 b8 98 00 00 00    	cmp    %edi,0x98(%rax)
140d3883a:	74 0d                	je     0x140d38849
140d3883c:	41 b8 81 00 00 00    	mov    $0x81,%r8d
140d38842:	b8 36 03 00 00       	mov    $0x336,%eax
140d38847:	eb 38                	jmp    0x140d38881
140d38849:	48 83 38 00          	cmpq   $0x0,(%rax)
140d3884d:	75 56                	jne    0x140d388a5
140d3884f:	48 8b 40 08          	mov    0x8(%rax),%rax
140d38853:	48 85 c0             	test   %rax,%rax
140d38856:	74 13                	je     0x140d3886b
140d38858:	48 83 38 00          	cmpq   $0x0,(%rax)
140d3885c:	75 0d                	jne    0x140d3886b
140d3885e:	41 b8 82 00 00 00    	mov    $0x82,%r8d
140d38864:	b8 3d 03 00 00       	mov    $0x33d,%eax
140d38869:	eb 16                	jmp    0x140d38881
140d3886b:	e8 30 ab fa ff       	call   0x140ce33a0
140d38870:	48 89 03             	mov    %rax,(%rbx)
140d38873:	48 85 c0             	test   %rax,%rax
140d38876:	75 2d                	jne    0x140d388a5
140d38878:	44 8d 40 7e          	lea    0x7e(%rax),%r8d
140d3887c:	b8 44 03 00 00       	mov    $0x344,%eax
140d38881:	b9 24 00 00 00       	mov    $0x24,%ecx
140d38886:	89 44 24 20          	mov    %eax,0x20(%rsp)
140d3888a:	4c 8d 0d 17 13 44 00 	lea    0x441317(%rip),%r9        # 0x141179ba8
140d38891:	8d 51 53             	lea    0x53(%rcx),%edx
140d38894:	e8 e7 83 f9 ff       	call   0x140cd0c80
140d38899:	48 8b cb             	mov    %rbx,%rcx
140d3889c:	e8 ef 06 00 00       	call   0x140d38f90
140d388a1:	33 db                	xor    %ebx,%ebx
140d388a3:	eb 29                	jmp    0x140d388ce
140d388a5:	c7 83 88 00 00 00 01 	movl   $0x1,0x88(%rbx)
140d388ac:	00 00 00
140d388af:	48 8d 15 ca 12 44 00 	lea    0x4412ca(%rip),%rdx        # 0x141179b80
140d388b6:	41 b8 1c 00 00 00    	mov    $0x1c,%r8d
140d388bc:	c7 83 8c 00 00 00 01 	movl   $0x1,0x8c(%rbx)
140d388c3:	00 00 00
140d388c6:	48 8b cb             	mov    %rbx,%rcx
140d388c9:	e8 12 0b 00 00       	call   0x140d393e0
140d388ce:	48 8b d3             	mov    %rbx,%rdx
140d388d1:	48 8d 0d d8 53 76 00 	lea    0x7653d8(%rip),%rcx        # 0x14149dcb0
140d388d8:	e8 b3 ab fa ff       	call   0x140ce3490
140d388dd:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140d388e2:	48 85 db             	test   %rbx,%rbx
140d388e5:	74 1d                	je     0x140d38904
140d388e7:	4c 8b c6             	mov    %rsi,%r8
140d388ea:	48 8b d5             	mov    %rbp,%rdx
140d388ed:	48 8b cb             	mov    %rbx,%rcx
140d388f0:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140d388f5:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140d388fa:	48 83 c4 30          	add    $0x30,%rsp
140d388fe:	5e                   	pop    %rsi
140d388ff:	e9 9c 03 00 00       	jmp    0x140d38ca0
140d38904:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140d38909:	33 c0                	xor    %eax,%eax
140d3890b:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140d38910:	48 83 c4 30          	add    $0x30,%rsp
140d38914:	5e                   	pop    %rsi
140d38915:	c3                   	ret
140d38916:	cc                   	int3
140d38917:	cc                   	int3
140d38918:	cc                   	int3
140d38919:	cc                   	int3
140d3891a:	cc                   	int3
140d3891b:	cc                   	int3
140d3891c:	cc                   	int3
140d3891d:	cc                   	int3
140d3891e:	cc                   	int3
140d3891f:	cc                   	int3
140d38920:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140d38925:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140d3892a:	57                   	push   %rdi
140d3892b:	b8 40 00 00 00       	mov    $0x40,%eax
140d38930:	e8 6b 2b 0e 00       	call   0x140e1b4a0
140d38935:	48 2b e0             	sub    %rax,%rsp
140d38938:	0f 29 74 24 30       	movaps %xmm6,0x30(%rsp)
140d3893d:	48 8b f1             	mov    %rcx,%rsi
140d38940:	48 63 fa             	movslq %edx,%rdi
140d38943:	48 8d 0d 6e 53 76 00 	lea    0x76536e(%rip),%rcx        # 0x14149dcb8
140d3894a:	48 8d 15 4f 10 00 00 	lea    0x104f(%rip),%rdx        # 0x140d399a0
140d38951:	0f 29 7c 24 20       	movaps %xmm7,0x20(%rsp)
140d38956:	0f 28 f2             	movaps %xmm2,%xmm6
140d38959:	e8 c2 aa fa ff       	call   0x140ce3420
140d3895e:	45 33 c0             	xor    %r8d,%r8d
140d38961:	85 c0                	test   %eax,%eax
140d38963:	44 0f 45 05 55 53 76 	cmovne 0x765355(%rip),%r8d        # 0x14149dcc0
140d3896a:	00
140d3896b:	45 85 c0             	test   %r8d,%r8d
140d3896e:	0f 84 fd 00 00 00    	je     0x140d38a71
140d38974:	48 8b 1d 2d 53 76 00 	mov    0x76532d(%rip),%rbx        # 0x14149dca8
140d3897b:	48 85 db             	test   %rbx,%rbx
140d3897e:	0f 84 ed 00 00 00    	je     0x140d38a71
140d38984:	85 ff                	test   %edi,%edi
140d38986:	0f 88 e5 00 00 00    	js     0x140d38a71
140d3898c:	0f 57 ff             	xorps  %xmm7,%xmm7
140d3898f:	66 0f 2f fe          	comisd %xmm6,%xmm7
140d38993:	0f 87 d8 00 00 00    	ja     0x140d38a71
140d38999:	48 8b 0b             	mov    (%rbx),%rcx
140d3899c:	48 85 c9             	test   %rcx,%rcx
140d3899f:	74 05                	je     0x140d389a6
140d389a1:	e8 5a aa fa ff       	call   0x140ce3400
140d389a6:	4c 8b 53 50          	mov    0x50(%rbx),%r10
140d389aa:	48 63 43 30          	movslq 0x30(%rbx),%rax
140d389ae:	4c 8b 43 40          	mov    0x40(%rbx),%r8
140d389b2:	4c 8b c8             	mov    %rax,%r9
140d389b5:	4d 85 d2             	test   %r10,%r10
140d389b8:	74 18                	je     0x140d389d2
140d389ba:	48 83 bb 68 01 00 00 	cmpq   $0x0,0x168(%rbx)
140d389c1:	00
140d389c2:	75 0e                	jne    0x140d389d2
140d389c4:	99                   	cltd
140d389c5:	2b c2                	sub    %edx,%eax
140d389c7:	d1 f8                	sar    $1,%eax
140d389c9:	48 63 c8             	movslq %eax,%rcx
140d389cc:	4c 03 c9             	add    %rcx,%r9
140d389cf:	4d 03 c2             	add    %r10,%r8
140d389d2:	49 c1 e9 03          	shr    $0x3,%r9
140d389d6:	48 8b d7             	mov    %rdi,%rdx
140d389d9:	4d 3b c8             	cmp    %r8,%r9
140d389dc:	0f 57 c0             	xorps  %xmm0,%xmm0
140d389df:	4d 0f 47 c1          	cmova  %r9,%r8
140d389e3:	4d 85 c0             	test   %r8,%r8
140d389e6:	78 07                	js     0x140d389ef
140d389e8:	f2 49 0f 2a c0       	cvtsi2sd %r8,%xmm0
140d389ed:	eb 18                	jmp    0x140d38a07
140d389ef:	49 8b c0             	mov    %r8,%rax
140d389f2:	49 8b c8             	mov    %r8,%rcx
140d389f5:	48 d1 e9             	shr    $1,%rcx
140d389f8:	83 e0 01             	and    $0x1,%eax
140d389fb:	48 0b c8             	or     %rax,%rcx
140d389fe:	f2 48 0f 2a c1       	cvtsi2sd %rcx,%xmm0
140d38a03:	f2 0f 58 c0          	addsd  %xmm0,%xmm0
140d38a07:	49 3b d0             	cmp    %r8,%rdx
140d38a0a:	72 06                	jb     0x140d38a12
140d38a0c:	66 0f 2f c6          	comisd %xmm6,%xmm0
140d38a10:	76 03                	jbe    0x140d38a15
140d38a12:	0f 57 f6             	xorps  %xmm6,%xmm6
140d38a15:	f2 0f 10 0d 3b 5e 27 	movsd  0x275e3b(%rip),%xmm1        # 0x140fae858
140d38a1c:	00
140d38a1d:	f2 0f 5d c6          	minsd  %xmm6,%xmm0
140d38a21:	33 c0                	xor    %eax,%eax
140d38a23:	f2 0f 59 05 95 11 44 	mulsd  0x441195(%rip),%xmm0        # 0x141179bc0
140d38a2a:	00
140d38a2b:	66 0f 2f c1          	comisd %xmm1,%xmm0
140d38a2f:	72 17                	jb     0x140d38a48
140d38a31:	f2 0f 5c c1          	subsd  %xmm1,%xmm0
140d38a35:	66 0f 2f c1          	comisd %xmm1,%xmm0
140d38a39:	73 0d                	jae    0x140d38a48
140d38a3b:	48 b9 00 00 00 00 00 	movabs $0x8000000000000000,%rcx
140d38a42:	00 00 80
140d38a45:	48 8b c1             	mov    %rcx,%rax
140d38a48:	f2 4c 0f 2c c8       	cvttsd2si %xmm0,%r9
140d38a4d:	4c 8b c2             	mov    %rdx,%r8
140d38a50:	48 8b cb             	mov    %rbx,%rcx
140d38a53:	48 8b d6             	mov    %rsi,%rdx
140d38a56:	4c 03 c8             	add    %rax,%r9
140d38a59:	e8 92 14 00 00       	call   0x140d39ef0
140d38a5e:	48 8b 0b             	mov    (%rbx),%rcx
140d38a61:	8b f8                	mov    %eax,%edi
140d38a63:	48 85 c9             	test   %rcx,%rcx
140d38a66:	74 05                	je     0x140d38a6d
140d38a68:	e8 53 aa fa ff       	call   0x140ce34c0
140d38a6d:	8b c7                	mov    %edi,%eax
140d38a6f:	eb 02                	jmp    0x140d38a73
140d38a71:	33 c0                	xor    %eax,%eax
140d38a73:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140d38a78:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140d38a7d:	0f 28 74 24 30       	movaps 0x30(%rsp),%xmm6
140d38a82:	0f 28 7c 24 20       	movaps 0x20(%rsp),%xmm7
140d38a87:	48 83 c4 40          	add    $0x40,%rsp
140d38a8b:	5f                   	pop    %rdi
140d38a8c:	c3                   	ret
140d38a8d:	cc                   	int3
140d38a8e:	cc                   	int3
140d38a8f:	cc                   	int3
140d38a90:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140d38a95:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140d38a9a:	57                   	push   %rdi
140d38a9b:	b8 40 00 00 00       	mov    $0x40,%eax
140d38aa0:	e8 fb 29 0e 00       	call   0x140e1b4a0
140d38aa5:	48 2b e0             	sub    %rax,%rsp
140d38aa8:	48 63 fa             	movslq %edx,%rdi
140d38aab:	48 8b f1             	mov    %rcx,%rsi
140d38aae:	0f 29 74 24 30       	movaps %xmm6,0x30(%rsp)
140d38ab3:	48 8d 15 e6 0e 00 00 	lea    0xee6(%rip),%rdx        # 0x140d399a0
140d38aba:	48 8d 0d f7 51 76 00 	lea    0x7651f7(%rip),%rcx        # 0x14149dcb8
140d38ac1:	66 0f 6e f7          	movd   %edi,%xmm6
140d38ac5:	f3 0f e6 f6          	cvtdq2pd %xmm6,%xmm6
140d38ac9:	e8 52 a9 fa ff       	call   0x140ce3420
140d38ace:	45 33 c0             	xor    %r8d,%r8d
140d38ad1:	85 c0                	test   %eax,%eax
140d38ad3:	44 0f 45 05 e5 51 76 	cmovne 0x7651e5(%rip),%r8d        # 0x14149dcc0
140d38ada:	00
140d38adb:	45 85 c0             	test   %r8d,%r8d
140d38ade:	0f 84 1e 01 00 00    	je     0x140d38c02
140d38ae4:	48 8b 1d bd 51 76 00 	mov    0x7651bd(%rip),%rbx        # 0x14149dca8
140d38aeb:	48 85 db             	test   %rbx,%rbx
140d38aee:	0f 84 0e 01 00 00    	je     0x140d38c02
140d38af4:	0f 29 7c 24 20       	movaps %xmm7,0x20(%rsp)
140d38af9:	85 ff                	test   %edi,%edi
140d38afb:	0f 88 fd 00 00 00    	js     0x140d38bfe
140d38b01:	0f 57 ff             	xorps  %xmm7,%xmm7
140d38b04:	66 0f 2f fe          	comisd %xmm6,%xmm7
140d38b08:	0f 87 f0 00 00 00    	ja     0x140d38bfe
140d38b0e:	48 8b 0b             	mov    (%rbx),%rcx
140d38b11:	48 85 c9             	test   %rcx,%rcx
140d38b14:	74 05                	je     0x140d38b1b
140d38b16:	e8 e5 a8 fa ff       	call   0x140ce3400
140d38b1b:	4c 8b 53 50          	mov    0x50(%rbx),%r10
140d38b1f:	48 63 43 30          	movslq 0x30(%rbx),%rax
140d38b23:	4c 8b 43 40          	mov    0x40(%rbx),%r8
140d38b27:	4c 8b c8             	mov    %rax,%r9
140d38b2a:	4d 85 d2             	test   %r10,%r10
140d38b2d:	74 18                	je     0x140d38b47
140d38b2f:	48 83 bb 68 01 00 00 	cmpq   $0x0,0x168(%rbx)
140d38b36:	00
140d38b37:	75 0e                	jne    0x140d38b47
140d38b39:	99                   	cltd
140d38b3a:	2b c2                	sub    %edx,%eax
140d38b3c:	d1 f8                	sar    $1,%eax
140d38b3e:	48 63 c8             	movslq %eax,%rcx
140d38b41:	4c 03 c9             	add    %rcx,%r9
140d38b44:	4d 03 c2             	add    %r10,%r8
140d38b47:	49 c1 e9 03          	shr    $0x3,%r9
140d38b4b:	48 8b d7             	mov    %rdi,%rdx
140d38b4e:	4d 3b c8             	cmp    %r8,%r9
140d38b51:	0f 57 c0             	xorps  %xmm0,%xmm0
140d38b54:	4d 0f 47 c1          	cmova  %r9,%r8
140d38b58:	4d 85 c0             	test   %r8,%r8
140d38b5b:	78 07                	js     0x140d38b64
140d38b5d:	f2 49 0f 2a c0       	cvtsi2sd %r8,%xmm0
140d38b62:	eb 18                	jmp    0x140d38b7c
140d38b64:	49 8b c0             	mov    %r8,%rax
140d38b67:	49 8b c8             	mov    %r8,%rcx
140d38b6a:	48 d1 e9             	shr    $1,%rcx
140d38b6d:	83 e0 01             	and    $0x1,%eax
140d38b70:	48 0b c8             	or     %rax,%rcx
140d38b73:	f2 48 0f 2a c1       	cvtsi2sd %rcx,%xmm0
140d38b78:	f2 0f 58 c0          	addsd  %xmm0,%xmm0
140d38b7c:	49 3b d0             	cmp    %r8,%rdx
140d38b7f:	72 06                	jb     0x140d38b87
140d38b81:	66 0f 2f c6          	comisd %xmm6,%xmm0
140d38b85:	76 03                	jbe    0x140d38b8a
140d38b87:	0f 57 f6             	xorps  %xmm6,%xmm6
140d38b8a:	f2 0f 10 0d c6 5c 27 	movsd  0x275cc6(%rip),%xmm1        # 0x140fae858
140d38b91:	00
140d38b92:	f2 0f 5d c6          	minsd  %xmm6,%xmm0
140d38b96:	33 c0                	xor    %eax,%eax
140d38b98:	f2 0f 59 05 20 10 44 	mulsd  0x441020(%rip),%xmm0        # 0x141179bc0
140d38b9f:	00
140d38ba0:	66 0f 2f c1          	comisd %xmm1,%xmm0
140d38ba4:	72 17                	jb     0x140d38bbd
140d38ba6:	f2 0f 5c c1          	subsd  %xmm1,%xmm0
140d38baa:	66 0f 2f c1          	comisd %xmm1,%xmm0
140d38bae:	73 0d                	jae    0x140d38bbd
140d38bb0:	48 b9 00 00 00 00 00 	movabs $0x8000000000000000,%rcx
140d38bb7:	00 00 80
140d38bba:	48 8b c1             	mov    %rcx,%rax
140d38bbd:	f2 4c 0f 2c c8       	cvttsd2si %xmm0,%r9
140d38bc2:	4c 8b c2             	mov    %rdx,%r8
140d38bc5:	48 8b cb             	mov    %rbx,%rcx
140d38bc8:	48 8b d6             	mov    %rsi,%rdx
140d38bcb:	4c 03 c8             	add    %rax,%r9
140d38bce:	e8 1d 13 00 00       	call   0x140d39ef0
140d38bd3:	48 8b 0b             	mov    (%rbx),%rcx
140d38bd6:	8b f8                	mov    %eax,%edi
140d38bd8:	48 85 c9             	test   %rcx,%rcx
140d38bdb:	74 05                	je     0x140d38be2
140d38bdd:	e8 de a8 fa ff       	call   0x140ce34c0
140d38be2:	8b c7                	mov    %edi,%eax
140d38be4:	0f 28 7c 24 20       	movaps 0x20(%rsp),%xmm7
140d38be9:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140d38bee:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140d38bf3:	0f 28 74 24 30       	movaps 0x30(%rsp),%xmm6
140d38bf8:	48 83 c4 40          	add    $0x40,%rsp
140d38bfc:	5f                   	pop    %rdi