140e61744:	41 2b ff             	sub    %r15d,%edi
140e61747:	eb 08                	jmp    0x140e61751
140e61749:	04 30                	add    $0x30,%al
140e6174b:	48 8d 5e 01          	lea    0x1(%rsi),%rbx
140e6174f:	88 06                	mov    %al,(%rsi)
140e61751:	48 8b 45 98          	mov    -0x68(%rbp),%rax
140e61755:	89 78 04             	mov    %edi,0x4(%rax)
140e61758:	8b 44 24 60          	mov    0x60(%rsp),%eax
140e6175c:	85 ff                	test   %edi,%edi
140e6175e:	78 10                	js     0x140e61770
140e61760:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140e61765:	77 09                	ja     0x140e61770
140e61767:	83 7c 24 64 00       	cmpl   $0x0,0x64(%rsp)
140e6176c:	75 02                	jne    0x140e61770
140e6176e:	03 c7                	add    %edi,%eax
140e61770:	8b f8                	mov    %eax,%edi
140e61772:	48 8b 85 58 07 00 00 	mov    0x758(%rbp),%rax
140e61779:	48 ff c8             	dec    %rax
140e6177c:	48 3b c7             	cmp    %rdi,%rax
140e6177f:	48 0f 42 f8          	cmovb  %rax,%rdi
140e61783:	48 03 fe             	add    %rsi,%rdi
140e61786:	40 32 f6             	xor    %sil,%sil
140e61789:	48 3b df             	cmp    %rdi,%rbx
140e6178c:	0f 84 f2 00 00 00    	je     0x140e61884
140e61792:	41 be 09 00 00 00    	mov    $0x9,%r14d
140e61798:	44 8b 4d a0          	mov    -0x60(%rbp),%r9d
140e6179c:	45 85 c9             	test   %r9d,%r9d
140e6179f:	0f 84 e3 00 00 00    	je     0x140e61888
140e617a5:	45 33 c0             	xor    %r8d,%r8d
140e617a8:	45 33 d2             	xor    %r10d,%r10d
140e617ab:	42 8b 44 95 a4       	mov    -0x5c(%rbp,%r10,4),%eax
140e617b0:	48 69 c8 00 ca 9a 3b 	imul   $0x3b9aca00,%rax,%rcx
140e617b7:	41 8b c0             	mov    %r8d,%eax
140e617ba:	48 03 c8             	add    %rax,%rcx
140e617bd:	4c 8b c1             	mov    %rcx,%r8
140e617c0:	42 89 4c 95 a4       	mov    %ecx,-0x5c(%rbp,%r10,4)
140e617c5:	49 c1 e8 20          	shr    $0x20,%r8
140e617c9:	45 03 d7             	add    %r15d,%r10d
140e617cc:	45 3b d1             	cmp    %r9d,%r10d
140e617cf:	75 da                	jne    0x140e617ab
140e617d1:	45 85 c0             	test   %r8d,%r8d
140e617d4:	74 37                	je     0x140e6180d
140e617d6:	83 7d a0 73          	cmpl   $0x73,-0x60(%rbp)
140e617da:	73 0e                	jae    0x140e617ea
140e617dc:	8b 45 a0             	mov    -0x60(%rbp),%eax
140e617df:	44 89 44 85 a4       	mov    %r8d,-0x5c(%rbp,%rax,4)
140e617e4:	44 01 7d a0          	add    %r15d,-0x60(%rbp)
140e617e8:	eb 23                	jmp    0x140e6180d
140e617ea:	83 a5 40 03 00 00 00 	andl   $0x0,0x340(%rbp)
140e617f1:	4c 8d 85 44 03 00 00 	lea    0x344(%rbp),%r8
140e617f8:	83 65 a0 00          	andl   $0x0,-0x60(%rbp)
140e617fc:	48 8d 4d a4          	lea    -0x5c(%rbp),%rcx
140e61800:	45 33 c9             	xor    %r9d,%r9d
140e61803:	ba cc 01 00 00       	mov    $0x1cc,%edx
140e61808:	e8 9f 9b fd ff       	call   0x140e3b3ac
140e6180d:	48 8d 95 70 01 00 00 	lea    0x170(%rbp),%rdx
140e61814:	48 8d 4d a0          	lea    -0x60(%rbp),%rcx
140e61818:	e8 93 83 fd ff       	call   0x140e39bb0
140e6181d:	44 8b d7             	mov    %edi,%r10d
140e61820:	4c 8b c0             	mov    %rax,%r8
140e61823:	44 2b d3             	sub    %ebx,%r10d
140e61826:	41 b9 08 00 00 00    	mov    $0x8,%r9d
140e6182c:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
140e61831:	41 f7 e0             	mul    %r8d
140e61834:	c1 ea 03             	shr    $0x3,%edx
140e61837:	8a ca                	mov    %dl,%cl
140e61839:	c0 e1 02             	shl    $0x2,%cl
140e6183c:	8d 04 11             	lea    (%rcx,%rdx,1),%eax
140e6183f:	02 c0                	add    %al,%al
140e61841:	44 2a c0             	sub    %al,%r8b
140e61844:	41 8d 48 30          	lea    0x30(%r8),%ecx
140e61848:	44 8b c2             	mov    %edx,%r8d
140e6184b:	45 3b d1             	cmp    %r9d,%r10d
140e6184e:	77 0a                	ja     0x140e6185a
140e61850:	80 f9 30             	cmp    $0x30,%cl
140e61853:	74 0b                	je     0x140e61860
140e61855:	41 8a f7             	mov    %r15b,%sil
140e61858:	eb 06                	jmp    0x140e61860
140e6185a:	41 8b c1             	mov    %r9d,%eax
140e6185d:	88 0c 18             	mov    %cl,(%rax,%rbx,1)
140e61860:	83 c8 ff             	or     $0xffffffff,%eax
140e61863:	44 03 c8             	add    %eax,%r9d
140e61866:	44 3b c8             	cmp    %eax,%r9d
140e61869:	75 c1                	jne    0x140e6182c
140e6186b:	48 8b c7             	mov    %rdi,%rax
140e6186e:	48 2b c3             	sub    %rbx,%rax
140e61871:	49 3b c6             	cmp    %r14,%rax
140e61874:	49 0f 4f c6          	cmovg  %r14,%rax
140e61878:	48 03 d8             	add    %rax,%rbx
140e6187b:	48 3b df             	cmp    %rdi,%rbx
140e6187e:	0f 85 14 ff ff ff    	jne    0x140e61798
140e61884:	44 8b 4d a0          	mov    -0x60(%rbp),%r9d
140e61888:	c6 03 00             	movb   $0x0,(%rbx)
140e6188b:	45 85 c9             	test   %r9d,%r9d
140e6188e:	75 05                	jne    0x140e61895
140e61890:	40 84 f6             	test   %sil,%sil
140e61893:	74 03                	je     0x140e61898
140e61895:	45 33 ff             	xor    %r15d,%r15d
140e61898:	44 8b 44 24 6c       	mov    0x6c(%rsp),%r8d
140e6189d:	48 8d 4c 24 64       	lea    0x64(%rsp),%rcx
140e618a2:	8b 54 24 68          	mov    0x68(%rsp),%edx
140e618a6:	e8 71 14 00 00       	call   0x140e62d1c
140e618ab:	80 7c 24 78 00       	cmpb   $0x0,0x78(%rsp)
140e618b0:	74 0a                	je     0x140e618bc
140e618b2:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
140e618b7:	e8 e4 14 00 00       	call   0x140e62da0
140e618bc:	41 8b c7             	mov    %r15d,%eax
140e618bf:	48 8b 8d e0 06 00 00 	mov    0x6e0(%rbp),%rcx
140e618c6:	48 33 cc             	xor    %rsp,%rcx
140e618c9:	e8 32 9c fb ff       	call   0x140e1b500
140e618ce:	48 81 c4 f0 07 00 00 	add    $0x7f0,%rsp
140e618d5:	41 5f                	pop    %r15
140e618d7:	41 5e                	pop    %r14
140e618d9:	41 5c                	pop    %r12
140e618db:	5f                   	pop    %rdi
140e618dc:	5e                   	pop    %rsi
140e618dd:	5b                   	pop    %rbx
140e618de:	5d                   	pop    %rbp
140e618df:	c3                   	ret
140e618e0:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140e618e6:	45 33 c9             	xor    %r9d,%r9d
140e618e9:	45 33 c0             	xor    %r8d,%r8d
140e618ec:	33 d2                	xor    %edx,%edx
140e618ee:	33 c9                	xor    %ecx,%ecx
140e618f0:	e8 df 88 fc ff       	call   0x140e2a1d4
140e618f5:	cc                   	int3
140e618f6:	cc                   	int3
140e618f7:	cc                   	int3
140e618f8:	33 c0                	xor    %eax,%eax
140e618fa:	4c 8b d1             	mov    %rcx,%r10
140e618fd:	48 85 c9             	test   %rcx,%rcx
140e61900:	75 09                	jne    0x140e6190b
140e61902:	49 89 00             	mov    %rax,(%r8)
140e61905:	b8 01 00 00 00       	mov    $0x1,%eax
140e6190a:	c3                   	ret
140e6190b:	85 d2                	test   %edx,%edx
140e6190d:	75 04                	jne    0x140e61913
140e6190f:	88 01                	mov    %al,(%rcx)
140e61911:	eb ef                	jmp    0x140e61902
140e61913:	f7 c2 80 ff ff ff    	test   $0xffffff80,%edx
140e61919:	75 04                	jne    0x140e6191f
140e6191b:	88 11                	mov    %dl,(%rcx)
140e6191d:	eb e6                	jmp    0x140e61905
140e6191f:	f7 c2 00 f8 ff ff    	test   $0xfffff800,%edx
140e61925:	75 0a                	jne    0x140e61931
140e61927:	b9 01 00 00 00       	mov    $0x1,%ecx
140e6192c:	41 b1 c0             	mov    $0xc0,%r9b
140e6192f:	eb 37                	jmp    0x140e61968
140e61931:	f7 c2 00 00 ff ff    	test   $0xffff0000,%edx
140e61937:	75 17                	jne    0x140e61950
140e61939:	8d 82 00 28 ff ff    	lea    -0xd800(%rdx),%eax
140e6193f:	3d ff 07 00 00       	cmp    $0x7ff,%eax
140e61944:	76 49                	jbe    0x140e6198f
140e61946:	b9 02 00 00 00       	mov    $0x2,%ecx
140e6194b:	41 b1 e0             	mov    $0xe0,%r9b
140e6194e:	eb 18                	jmp    0x140e61968
140e61950:	f7 c2 00 00 e0 ff    	test   $0xffe00000,%edx
140e61956:	75 37                	jne    0x140e6198f
140e61958:	81 fa ff ff 10 00    	cmp    $0x10ffff,%edx
140e6195e:	77 2f                	ja     0x140e6198f
140e61960:	b9 03 00 00 00       	mov    $0x3,%ecx
140e61965:	41 b1 f0             	mov    $0xf0,%r9b
140e61968:	4c 8b d9             	mov    %rcx,%r11
140e6196b:	8a c2                	mov    %dl,%al
140e6196d:	c1 ea 06             	shr    $0x6,%edx
140e61970:	24 3f                	and    $0x3f,%al
140e61972:	0c 80                	or     $0x80,%al
140e61974:	43 88 04 13          	mov    %al,(%r11,%r10,1)
140e61978:	49 83 eb 01          	sub    $0x1,%r11
140e6197c:	75 ed                	jne    0x140e6196b
140e6197e:	41 0a d1             	or     %r9b,%dl
140e61981:	41 88 12             	mov    %dl,(%r10)
140e61984:	48 ff c1             	inc    %rcx
140e61987:	49 8b d0             	mov    %r8,%rdx
140e6198a:	e9 b9 14 00 00       	jmp    0x140e62e48
140e6198f:	49 8b d1             	mov    %r9,%rdx
140e61992:	49 8b c8             	mov    %r8,%rcx
140e61995:	e9 b6 14 00 00       	jmp    0x140e62e50
140e6199a:	cc                   	int3
140e6199b:	cc                   	int3
140e6199c:	48 ff 25 0d 18 12 00 	rex.W jmp *0x12180d(%rip)        # 0x140f831b0
140e619a3:	cc                   	int3
140e619a4:	cc                   	int3
140e619a5:	cc                   	int3
140e619a6:	cc                   	int3
140e619a7:	cc                   	int3
140e619a8:	cc                   	int3
140e619a9:	cc                   	int3
140e619aa:	cc                   	int3
140e619ab:	cc                   	int3
140e619ac:	cc                   	int3
140e619ad:	cc                   	int3
140e619ae:	cc                   	int3
140e619af:	cc                   	int3
140e619b0:	cc                   	int3
140e619b1:	cc                   	int3
140e619b2:	cc                   	int3
140e619b3:	cc                   	int3
140e619b4:	cc                   	int3
140e619b5:	cc                   	int3
140e619b6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
140e619bd:	00 00 00
140e619c0:	48 83 ec 08          	sub    $0x8,%rsp
140e619c4:	0f ae 1c 24          	stmxcsr (%rsp)
140e619c8:	8b 04 24             	mov    (%rsp),%eax
140e619cb:	48 83 c4 08          	add    $0x8,%rsp
140e619cf:	c3                   	ret
140e619d0:	89 4c 24 08          	mov    %ecx,0x8(%rsp)
140e619d4:	0f ae 54 24 08       	ldmxcsr 0x8(%rsp)
140e619d9:	c3                   	ret
140e619da:	0f ae 5c 24 08       	stmxcsr 0x8(%rsp)
140e619df:	b9 c0 ff ff ff       	mov    $0xffffffc0,%ecx
140e619e4:	21 4c 24 08          	and    %ecx,0x8(%rsp)
140e619e8:	0f ae 54 24 08       	ldmxcsr 0x8(%rsp)
140e619ed:	c3                   	ret
140e619ee:	66 0f 2e 05 2a a2 38 	ucomisd 0x38a22a(%rip),%xmm0        # 0x1411ebc20
140e619f5:	00
140e619f6:	73 14                	jae    0x140e61a0c
140e619f8:	66 0f 2e 05 28 a2 38 	ucomisd 0x38a228(%rip),%xmm0        # 0x1411ebc28
140e619ff:	00
140e61a00:	76 0a                	jbe    0x140e61a0c
140e61a02:	f2 48 0f 2d c8       	cvtsd2si %xmm0,%rcx
140e61a07:	f2 48 0f 2a c1       	cvtsi2sd %rcx,%xmm0
140e61a0c:	c3                   	ret
140e61a0d:	cc                   	int3
140e61a0e:	cc                   	int3
140e61a0f:	cc                   	int3
140e61a10:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e61a15:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140e61a1a:	57                   	push   %rdi
140e61a1b:	48 83 ec 20          	sub    $0x20,%rsp
140e61a1f:	8b fa                	mov    %edx,%edi
140e61a21:	48 8b f1             	mov    %rcx,%rsi
140e61a24:	83 e7 1f             	and    $0x1f,%edi
140e61a27:	75 04                	jne    0x140e61a2d
140e61a29:	21 39                	and    %edi,(%rcx)
140e61a2b:	eb 12                	jmp    0x140e61a3f
140e61a2d:	e8 9a 01 00 00       	call   0x140e61bcc
140e61a32:	8b cf                	mov    %edi,%ecx
140e61a34:	8b d8                	mov    %eax,%ebx
140e61a36:	e8 85 01 00 00       	call   0x140e61bc0
140e61a3b:	23 c3                	and    %ebx,%eax
140e61a3d:	89 06                	mov    %eax,(%rsi)
140e61a3f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140e61a44:	33 c0                	xor    %eax,%eax
140e61a46:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140e61a4b:	48 83 c4 20          	add    $0x20,%rsp
140e61a4f:	5f                   	pop    %rdi
140e61a50:	c3                   	ret
140e61a51:	cc                   	int3
140e61a52:	cc                   	int3
140e61a53:	cc                   	int3
140e61a54:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e61a59:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140e61a5e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140e61a63:	57                   	push   %rdi
140e61a64:	48 83 ec 20          	sub    $0x20,%rsp
140e61a68:	48 8b d9             	mov    %rcx,%rbx
140e61a6b:	83 e2 1f             	and    $0x1f,%edx
140e61a6e:	74 46                	je     0x140e61ab6
140e61a70:	8b ca                	mov    %edx,%ecx
140e61a72:	e8 49 01 00 00       	call   0x140e61bc0
140e61a77:	b9 3f 00 00 00       	mov    $0x3f,%ecx
140e61a7c:	8b f0                	mov    %eax,%esi
140e61a7e:	e8 3d 01 00 00       	call   0x140e61bc0
140e61a83:	8b 1b                	mov    (%rbx),%ebx
140e61a85:	8b f8                	mov    %eax,%edi
140e61a87:	e8 40 01 00 00       	call   0x140e61bcc
140e61a8c:	8b ce                	mov    %esi,%ecx
140e61a8e:	8b e8                	mov    %eax,%ebp
140e61a90:	f7 d1                	not    %ecx
140e61a92:	23 fb                	and    %ebx,%edi
140e61a94:	23 e9                	and    %ecx,%ebp
140e61a96:	23 fe                	and    %esi,%edi
140e61a98:	0b ef                	or     %edi,%ebp
140e61a9a:	8b cd                	mov    %ebp,%ecx
140e61a9c:	e8 bb 02 00 00       	call   0x140e61d5c
140e61aa1:	83 e5 1f             	and    $0x1f,%ebp
140e61aa4:	8b cd                	mov    %ebp,%ecx
140e61aa6:	e8 b9 13 00 00       	call   0x140e62e64
140e61aab:	33 c9                	xor    %ecx,%ecx
140e61aad:	3b c5                	cmp    %ebp,%eax
140e61aaf:	0f 95 c1             	setne  %cl
140e61ab2:	8b c1                	mov    %ecx,%eax
140e61ab4:	eb 02                	jmp    0x140e61ab8
140e61ab6:	33 c0                	xor    %eax,%eax
140e61ab8:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140e61abd:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140e61ac2:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140e61ac7:	48 83 c4 20          	add    $0x20,%rsp
140e61acb:	5f                   	pop    %rdi
140e61acc:	c3                   	ret
140e61acd:	cc                   	int3
140e61ace:	cc                   	int3
140e61acf:	cc                   	int3
140e61ad0:	81 e1 00 03 00 00    	and    $0x300,%ecx
140e61ad6:	8b c1                	mov    %ecx,%eax
140e61ad8:	c3                   	ret
140e61ad9:	cc                   	int3
140e61ada:	cc                   	int3
140e61adb:	cc                   	int3
140e61adc:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
140e61ae1:	41 ba 40 80 00 00    	mov    $0x8040,%r10d
140e61ae7:	33 d2                	xor    %edx,%edx
140e61ae9:	0f ae 5c 24 08       	stmxcsr 0x8(%rsp)
140e61aee:	44 8b 4c 24 08       	mov    0x8(%rsp),%r9d
140e61af3:	bf 00 04 00 00       	mov    $0x400,%edi
140e61af8:	41 0f b7 c1          	movzwl %r9w,%eax
140e61afc:	66 41 23 c2          	and    %r10w,%ax
140e61b00:	41 8d 4a c0          	lea    -0x40(%r10),%ecx
140e61b04:	66 3b c1             	cmp    %cx,%ax
140e61b07:	75 08                	jne    0x140e61b11
140e61b09:	41 b8 00 0c 00 00    	mov    $0xc00,%r8d
140e61b0f:	eb 19                	jmp    0x140e61b2a
140e61b11:	66 83 f8 40          	cmp    $0x40,%ax
140e61b15:	75 08                	jne    0x140e61b1f
140e61b17:	41 b8 00 08 00 00    	mov    $0x800,%r8d
140e61b1d:	eb 0b                	jmp    0x140e61b2a
140e61b1f:	66 41 3b c2          	cmp    %r10w,%ax
140e61b23:	44 8b c2             	mov    %edx,%r8d
140e61b26:	44 0f 44 c7          	cmove  %edi,%r8d
140e61b2a:	41 8b c1             	mov    %r9d,%eax
140e61b2d:	41 ba 00 60 00 00    	mov    $0x6000,%r10d
140e61b33:	41 bb 00 02 00 00    	mov    $0x200,%r11d
140e61b39:	41 23 c2             	and    %r10d,%eax
140e61b3c:	74 27                	je     0x140e61b65
140e61b3e:	3d 00 20 00 00       	cmp    $0x2000,%eax
140e61b43:	74 19                	je     0x140e61b5e
140e61b45:	3d 00 40 00 00       	cmp    $0x4000,%eax
140e61b4a:	74 0d                	je     0x140e61b59
140e61b4c:	41 3b c2             	cmp    %r10d,%eax
140e61b4f:	b9 00 03 00 00       	mov    $0x300,%ecx
140e61b54:	0f 45 ca             	cmovne %edx,%ecx
140e61b57:	eb 0e                	jmp    0x140e61b67
140e61b59:	41 8b cb             	mov    %r11d,%ecx
140e61b5c:	eb 09                	jmp    0x140e61b67
140e61b5e:	b9 00 01 00 00       	mov    $0x100,%ecx
140e61b63:	eb 02                	jmp    0x140e61b67
140e61b65:	8b ca                	mov    %edx,%ecx
140e61b67:	41 8b d1             	mov    %r9d,%edx
140e61b6a:	41 8b c1             	mov    %r9d,%eax
140e61b6d:	c1 ea 02             	shr    $0x2,%edx
140e61b70:	25 00 08 00 00       	and    $0x800,%eax
140e61b75:	23 d7                	and    %edi,%edx
140e61b77:	0b d0                	or     %eax,%edx
140e61b79:	41 8b c1             	mov    %r9d,%eax
140e61b7c:	23 c7                	and    %edi,%eax
140e61b7e:	c1 ea 02             	shr    $0x2,%edx
140e61b81:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
140e61b86:	0b d0                	or     %eax,%edx