140a35758:	41 0f be ce          	movsbl %r14b,%ecx
140a3575c:	e8 df e3 3f 00       	call   0x140e33b40
140a35761:	85 c0                	test   %eax,%eax
140a35763:	74 1e                	je     0x140a35783
140a35765:	b0 3a                	mov    $0x3a,%al
140a35767:	48 8d 0d 1b 80 64 00 	lea    0x64801b(%rip),%rcx        # 0x14107d789
140a3576e:	66 90                	xchg   %ax,%ax
140a35770:	41 3a c5             	cmp    %r13b,%al
140a35773:	74 0e                	je     0x140a35783
140a35775:	0f b6 01             	movzbl (%rcx),%eax
140a35778:	48 ff c1             	inc    %rcx
140a3577b:	84 c0                	test   %al,%al
140a3577d:	75 f1                	jne    0x140a35770
140a3577f:	b0 01                	mov    $0x1,%al
140a35781:	eb 02                	jmp    0x140a35785
140a35783:	32 c0                	xor    %al,%al
140a35785:	84 c0                	test   %al,%al
140a35787:	74 4b                	je     0x140a357d4
140a35789:	48 8b 4d 1f          	mov    0x1f(%rbp),%rcx
140a3578d:	48 8b 55 27          	mov    0x27(%rbp),%rdx
140a35791:	48 3b ca             	cmp    %rdx,%rcx
140a35794:	73 23                	jae    0x140a357b9
140a35796:	48 8d 41 01          	lea    0x1(%rcx),%rax
140a3579a:	48 89 45 1f          	mov    %rax,0x1f(%rbp)
140a3579e:	48 8d 45 0f          	lea    0xf(%rbp),%rax
140a357a2:	48 83 fa 0f          	cmp    $0xf,%rdx
140a357a6:	48 0f 47 45 0f       	cmova  0xf(%rbp),%rax
140a357ab:	44 88 34 08          	mov    %r14b,(%rax,%rcx,1)
140a357af:	c6 44 08 01 00       	movb   $0x0,0x1(%rax,%rcx,1)
140a357b4:	e9 5d ff ff ff       	jmp    0x140a35716
140a357b9:	45 0f b6 ce          	movzbl %r14b,%r9d
140a357bd:	44 0f b6 c7          	movzbl %dil,%r8d
140a357c1:	ba 01 00 00 00       	mov    $0x1,%edx
140a357c6:	48 8d 4d 0f          	lea    0xf(%rbp),%rcx
140a357ca:	e8 f1 2f 77 ff       	call   0x1401a87c0
140a357cf:	e9 42 ff ff ff       	jmp    0x140a35716
140a357d4:	41 80 fe 25          	cmp    $0x25,%r14b
140a357d8:	75 51                	jne    0x140a3582b
140a357da:	49 8b 07             	mov    (%r15),%rax
140a357dd:	48 ff c0             	inc    %rax
140a357e0:	49 89 07             	mov    %rax,(%r15)
140a357e3:	41 ff 04 24          	incl   (%r12)
140a357e7:	49 3b 47 08          	cmp    0x8(%r15),%rax
140a357eb:	74 11                	je     0x140a357fe
140a357ed:	80 38 0a             	cmpb   $0xa,(%rax)
140a357f0:	75 0c                	jne    0x140a357fe
140a357f2:	41 ff 47 14          	incl   0x14(%r15)
140a357f6:	41 c7 04 24 01 00 00 	movl   $0x1,(%r12)
140a357fd:	00
140a357fe:	48 8d 55 0f          	lea    0xf(%rbp),%rdx
140a35802:	49 8b cf             	mov    %r15,%rcx
140a35805:	e8 86 fa ff ff       	call   0x140a35290
140a3580a:	41 80 7f 10 01       	cmpb   $0x1,0x10(%r15)
140a3580f:	0f 87 cb 01 00 00    	ja     0x140a359e0
140a35815:	4d 8b 37             	mov    (%r15),%r14
140a35818:	4d 3b 77 08          	cmp    0x8(%r15),%r14
140a3581c:	0f 84 1f ff ff ff    	je     0x140a35741
140a35822:	45 0f b6 36          	movzbl (%r14),%r14d
140a35826:	e9 19 ff ff ff       	jmp    0x140a35744
140a3582b:	48 8d 4d a7          	lea    -0x59(%rbp),%rcx
140a3582f:	41 80 fe 26          	cmp    $0x26,%r14b
140a35833:	0f 85 5b 01 00 00    	jne    0x140a35994
140a35839:	e8 e2 15 00 00       	call   0x140a36e20
140a3583e:	4d 8b 37             	mov    (%r15),%r14
140a35841:	49 ff c6             	inc    %r14
140a35844:	4d 89 37             	mov    %r14,(%r15)
140a35847:	41 ff 47 18          	incl   0x18(%r15)
140a3584b:	4d 3b 77 08          	cmp    0x8(%r15),%r14
140a3584f:	74 1f                	je     0x140a35870
140a35851:	45 0f b6 36          	movzbl (%r14),%r14d
140a35855:	41 80 fe 0a          	cmp    $0xa,%r14b
140a35859:	75 0c                	jne    0x140a35867
140a3585b:	41 ff 47 14          	incl   0x14(%r15)
140a3585f:	41 c7 47 18 01 00 00 	movl   $0x1,0x18(%r15)
140a35866:	00
140a35867:	45 84 f6             	test   %r14b,%r14b
140a3586a:	0f 85 d8 fc ff ff    	jne    0x140a35548
140a35870:	66 0f 6f 15 b8 e5 56 	movdqa 0x56e5b8(%rip),%xmm2        # 0x140fa3e30
140a35877:	00
140a35878:	41 c6 47 10 00       	movb   $0x0,0x10(%r15)
140a3587d:	41 80 7f 10 01       	cmpb   $0x1,0x10(%r15)
140a35882:	77 41                	ja     0x140a358c5
140a35884:	4c 8b 44 24 38       	mov    0x38(%rsp),%r8
140a35889:	33 c9                	xor    %ecx,%ecx
140a3588b:	48 89 4c 24 38       	mov    %rcx,0x38(%rsp)
140a35890:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
140a35895:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
140a3589a:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
140a3589f:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140a358a4:	48 89 45 87          	mov    %rax,-0x79(%rbp)
140a358a8:	48 89 55 8f          	mov    %rdx,-0x71(%rbp)
140a358ac:	4c 89 45 97          	mov    %r8,-0x69(%rbp)
140a358b0:	48 8d 55 87          	lea    -0x79(%rbp),%rdx
140a358b4:	48 8b 4d 9f          	mov    -0x61(%rbp),%rcx
140a358b8:	e8 83 ea 04 00       	call   0x140a84340
140a358bd:	66 0f 6f 15 6b e5 56 	movdqa 0x56e56b(%rip),%xmm2        # 0x140fa3e30
140a358c4:	00
140a358c5:	48 8b 55 27          	mov    0x27(%rbp),%rdx
140a358c9:	48 83 fa 0f          	cmp    $0xf,%rdx
140a358cd:	76 39                	jbe    0x140a35908
140a358cf:	48 ff c2             	inc    %rdx
140a358d2:	48 8b 4d 0f          	mov    0xf(%rbp),%rcx
140a358d6:	48 8b c1             	mov    %rcx,%rax
140a358d9:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140a358e0:	72 19                	jb     0x140a358fb
140a358e2:	48 83 c2 27          	add    $0x27,%rdx
140a358e6:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140a358ea:	48 2b c1             	sub    %rcx,%rax
140a358ed:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140a358f1:	48 83 f8 1f          	cmp    $0x1f,%rax
140a358f5:	0f 87 0a 01 00 00    	ja     0x140a35a05
140a358fb:	e8 44 58 3e 00       	call   0x140e1b144
140a35900:	66 0f 6f 15 28 e5 56 	movdqa 0x56e528(%rip),%xmm2        # 0x140fa3e30
140a35907:	00
140a35908:	f3 0f 7f 55 1f       	movdqu %xmm2,0x1f(%rbp)
140a3590d:	c6 45 0f 00          	movb   $0x0,0xf(%rbp)
140a35911:	48 8b 55 07          	mov    0x7(%rbp),%rdx
140a35915:	48 83 fa 0f          	cmp    $0xf,%rdx
140a35919:	76 39                	jbe    0x140a35954
140a3591b:	48 ff c2             	inc    %rdx
140a3591e:	48 8b 4d ef          	mov    -0x11(%rbp),%rcx
140a35922:	48 8b c1             	mov    %rcx,%rax
140a35925:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140a3592c:	72 19                	jb     0x140a35947
140a3592e:	48 83 c2 27          	add    $0x27,%rdx
140a35932:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140a35936:	48 2b c1             	sub    %rcx,%rax
140a35939:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140a3593d:	48 83 f8 1f          	cmp    $0x1f,%rax
140a35941:	0f 87 b8 00 00 00    	ja     0x140a359ff
140a35947:	e8 f8 57 3e 00       	call   0x140e1b144
140a3594c:	66 0f 6f 15 dc e4 56 	movdqa 0x56e4dc(%rip),%xmm2        # 0x140fa3e30
140a35953:	00
140a35954:	f3 0f 7f 55 ff       	movdqu %xmm2,-0x1(%rbp)
140a35959:	c6 45 ef 00          	movb   $0x0,-0x11(%rbp)
140a3595d:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140a35962:	e8 79 09 96 ff       	call   0x1403962e0
140a35967:	48 8b 4d 2f          	mov    0x2f(%rbp),%rcx
140a3596b:	48 33 cc             	xor    %rsp,%rcx
140a3596e:	e8 8d 5b 3e 00       	call   0x140e1b500
140a35973:	4c 8d 9c 24 f0 00 00 	lea    0xf0(%rsp),%r11
140a3597a:	00
140a3597b:	49 8b 5b 38          	mov    0x38(%r11),%rbx
140a3597f:	49 8b 73 40          	mov    0x40(%r11),%rsi
140a35983:	49 8b 7b 48          	mov    0x48(%r11),%rdi
140a35987:	49 8b e3             	mov    %r11,%rsp
140a3598a:	41 5f                	pop    %r15
140a3598c:	41 5e                	pop    %r14
140a3598e:	41 5d                	pop    %r13
140a35990:	41 5c                	pop    %r12
140a35992:	5d                   	pop    %rbp
140a35993:	c3                   	ret
140a35994:	41 c6 47 10 01       	movb   $0x1,0x10(%r15)
140a35999:	e8 82 14 00 00       	call   0x140a36e20
140a3599e:	66 0f 6f 15 8a e4 56 	movdqa 0x56e48a(%rip),%xmm2        # 0x140fa3e30
140a359a5:	00
140a359a6:	e9 d2 fe ff ff       	jmp    0x140a3587d
140a359ab:	48 8d 4d a7          	lea    -0x59(%rbp),%rcx
140a359af:	e8 6c 14 00 00       	call   0x140a36e20
140a359b4:	e9 b7 fe ff ff       	jmp    0x140a35870
140a359b9:	b8 08 00 00 00       	mov    $0x8,%eax
140a359be:	b9 03 00 00 00       	mov    $0x3,%ecx
140a359c3:	41 80 fe 0a          	cmp    $0xa,%r14b
140a359c7:	0f 45 c1             	cmovne %ecx,%eax
140a359ca:	41 88 47 10          	mov    %al,0x10(%r15)
140a359ce:	66 0f 6f 15 5a e4 56 	movdqa 0x56e45a(%rip),%xmm2        # 0x140fa3e30
140a359d5:	00
140a359d6:	e9 a2 fe ff ff       	jmp    0x140a3587d
140a359db:	41 c6 47 10 02       	movb   $0x2,0x10(%r15)
140a359e0:	66 0f 6f 15 48 e4 56 	movdqa 0x56e448(%rip),%xmm2        # 0x140fa3e30
140a359e7:	00
140a359e8:	e9 90 fe ff ff       	jmp    0x140a3587d
140a359ed:	41 c6 47 10 01       	movb   $0x1,0x10(%r15)
140a359f2:	66 0f 6f 15 36 e4 56 	movdqa 0x56e436(%rip),%xmm2        # 0x140fa3e30
140a359f9:	00
140a359fa:	e9 7e fe ff ff       	jmp    0x140a3587d
140a359ff:	e8 a0 47 3f 00       	call   0x140e2a1a4
140a35a04:	90                   	nop
140a35a05:	e8 9a 47 3f 00       	call   0x140e2a1a4
140a35a0a:	cc                   	int3
140a35a0b:	cc                   	int3
140a35a0c:	cc                   	int3
140a35a0d:	cc                   	int3
140a35a0e:	cc                   	int3
140a35a0f:	cc                   	int3
140a35a10:	40 53                	rex push %rbx
140a35a12:	48 83 ec 60          	sub    $0x60,%rsp
140a35a16:	80 79 18 00          	cmpb   $0x0,0x18(%rcx)
140a35a1a:	0f 84 86 00 00 00    	je     0x140a35aa6
140a35a20:	48 8b 01             	mov    (%rcx),%rax
140a35a23:	80 78 10 01          	cmpb   $0x1,0x10(%rax)
140a35a27:	77 7d                	ja     0x140a35aa6
140a35a29:	48 8b 59 08          	mov    0x8(%rcx),%rbx
140a35a2d:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140a35a32:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140a35a36:	e8 f5 e7 04 00       	call   0x140a84230
140a35a3b:	48 8b d0             	mov    %rax,%rdx
140a35a3e:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140a35a43:	e8 48 ac fd ff       	call   0x140a10690
140a35a48:	48 8b d0             	mov    %rax,%rdx
140a35a4b:	48 8b cb             	mov    %rbx,%rcx
140a35a4e:	e8 1d e3 04 00       	call   0x140a83d70
140a35a53:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140a35a58:	e8 23 15 01 00       	call   0x140a46f80
140a35a5d:	48 8b 5c 24 28       	mov    0x28(%rsp),%rbx
140a35a62:	48 85 db             	test   %rbx,%rbx
140a35a65:	74 3f                	je     0x140a35aa6
140a35a67:	48 8b 83 e8 00 00 00 	mov    0xe8(%rbx),%rax
140a35a6e:	90                   	nop
140a35a6f:	48 83 f8 01          	cmp    $0x1,%rax
140a35a73:	74 16                	je     0x140a35a8b
140a35a75:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
140a35a7c:	f0 48 0f c1 83 e8 00 	lock xadd %rax,0xe8(%rbx)
140a35a83:	00 00
140a35a85:	48 83 f8 01          	cmp    $0x1,%rax
140a35a89:	75 1b                	jne    0x140a35aa6
140a35a8b:	48 85 db             	test   %rbx,%rbx
140a35a8e:	74 16                	je     0x140a35aa6
140a35a90:	48 8b cb             	mov    %rbx,%rcx
140a35a93:	e8 f8 ee fb ff       	call   0x1409f4990
140a35a98:	ba f0 00 00 00       	mov    $0xf0,%edx
140a35a9d:	48 8b cb             	mov    %rbx,%rcx
140a35aa0:	e8 9f 56 3e 00       	call   0x140e1b144
140a35aa5:	90                   	nop
140a35aa6:	48 83 c4 60          	add    $0x60,%rsp
140a35aaa:	5b                   	pop    %rbx
140a35aab:	c3                   	ret
140a35aac:	cc                   	int3
140a35aad:	cc                   	int3
140a35aae:	cc                   	int3
140a35aaf:	cc                   	int3
140a35ab0:	40 53                	rex push %rbx
140a35ab2:	48 83 ec 30          	sub    $0x30,%rsp
140a35ab6:	80 79 18 00          	cmpb   $0x0,0x18(%rcx)
140a35aba:	0f 84 8f 00 00 00    	je     0x140a35b4f
140a35ac0:	48 8b 01             	mov    (%rcx),%rax
140a35ac3:	80 78 10 01          	cmpb   $0x1,0x10(%rax)
140a35ac7:	0f 87 82 00 00 00    	ja     0x140a35b4f
140a35acd:	48 8b 59 08          	mov    0x8(%rcx),%rbx
140a35ad1:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140a35ad6:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140a35ada:	e8 51 e7 04 00       	call   0x140a84230
140a35adf:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140a35ae3:	48 3b 4b 10          	cmp    0x10(%rbx),%rcx
140a35ae7:	74 0f                	je     0x140a35af8
140a35ae9:	48 8b d0             	mov    %rax,%rdx
140a35aec:	e8 9f ab fd ff       	call   0x140a10690
140a35af1:	48 83 43 08 28       	addq   $0x28,0x8(%rbx)
140a35af6:	eb 0e                	jmp    0x140a35b06
140a35af8:	4c 8b c0             	mov    %rax,%r8
140a35afb:	48 8b d1             	mov    %rcx,%rdx
140a35afe:	48 8b cb             	mov    %rbx,%rcx
140a35b01:	e8 ba b6 fd ff       	call   0x140a111c0
140a35b06:	48 8b 5c 24 28       	mov    0x28(%rsp),%rbx
140a35b0b:	48 85 db             	test   %rbx,%rbx
140a35b0e:	74 3f                	je     0x140a35b4f
140a35b10:	48 8b 83 e8 00 00 00 	mov    0xe8(%rbx),%rax
140a35b17:	90                   	nop
140a35b18:	48 83 f8 01          	cmp    $0x1,%rax
140a35b1c:	74 16                	je     0x140a35b34
140a35b1e:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
140a35b25:	f0 48 0f c1 83 e8 00 	lock xadd %rax,0xe8(%rbx)
140a35b2c:	00 00
140a35b2e:	48 83 f8 01          	cmp    $0x1,%rax
140a35b32:	75 1b                	jne    0x140a35b4f
140a35b34:	48 85 db             	test   %rbx,%rbx
140a35b37:	74 16                	je     0x140a35b4f
140a35b39:	48 8b cb             	mov    %rbx,%rcx
140a35b3c:	e8 4f ee fb ff       	call   0x1409f4990
140a35b41:	ba f0 00 00 00       	mov    $0xf0,%edx
140a35b46:	48 8b cb             	mov    %rbx,%rcx
140a35b49:	e8 f6 55 3e 00       	call   0x140e1b144
140a35b4e:	90                   	nop
140a35b4f:	48 83 c4 30          	add    $0x30,%rsp
140a35b53:	5b                   	pop    %rbx
140a35b54:	c3                   	ret
140a35b55:	cc                   	int3
140a35b56:	cc                   	int3
140a35b57:	cc                   	int3
140a35b58:	cc                   	int3
140a35b59:	cc                   	int3
140a35b5a:	cc                   	int3
140a35b5b:	cc                   	int3
140a35b5c:	cc                   	int3
140a35b5d:	cc                   	int3
140a35b5e:	cc                   	int3
140a35b5f:	cc                   	int3
140a35b60:	40 53                	rex push %rbx
140a35b62:	48 83 ec 30          	sub    $0x30,%rsp
140a35b66:	0f 29 74 24 20       	movaps %xmm6,0x20(%rsp)
140a35b6b:	4c 8b c9             	mov    %rcx,%r9
140a35b6e:	80 79 30 00          	cmpb   $0x0,0x30(%rcx)
140a35b72:	0f 84 e6 00 00 00    	je     0x140a35c5e
140a35b78:	48 8b 01             	mov    (%rcx),%rax
140a35b7b:	80 78 10 01          	cmpb   $0x1,0x10(%rax)
140a35b7f:	0f 87 d9 00 00 00    	ja     0x140a35c5e
140a35b85:	4c 8b 41 08          	mov    0x8(%rcx),%r8
140a35b89:	48 8b 41 10          	mov    0x10(%rcx),%rax
140a35b8d:	8b 10                	mov    (%rax),%edx
140a35b8f:	41 01 10             	add    %edx,(%r8)
140a35b92:	48 8b 41 08          	mov    0x8(%rcx),%rax
140a35b96:	8b 08                	mov    (%rax),%ecx
140a35b98:	81 f9 01 fe ff ff    	cmp    $0xfffffe01,%ecx
140a35b9e:	7d 12                	jge    0x140a35bb2
140a35ba0:	49 8b 01             	mov    (%r9),%rax
140a35ba3:	c6 40 10 0b          	movb   $0xb,0x10(%rax)
140a35ba7:	0f 28 74 24 20       	movaps 0x20(%rsp),%xmm6
140a35bac:	48 83 c4 30          	add    $0x30,%rsp
140a35bb0:	5b                   	pop    %rbx
140a35bb1:	c3                   	ret
140a35bb2:	81 f9 ff 01 00 00    	cmp    $0x1ff,%ecx
140a35bb8:	7e 12                	jle    0x140a35bcc
140a35bba:	49 8b 01             	mov    (%r9),%rax
140a35bbd:	c6 40 10 0c          	movb   $0xc,0x10(%rax)
140a35bc1:	0f 28 74 24 20       	movaps 0x20(%rsp),%xmm6
140a35bc6:	48 83 c4 30          	add    $0x30,%rsp
140a35bca:	5b                   	pop    %rbx
140a35bcb:	c3                   	ret
140a35bcc:	85 c9                	test   %ecx,%ecx
140a35bce:	79 2f                	jns    0x140a35bff
140a35bd0:	f7 d9                	neg    %ecx
140a35bd2:	48 8d 15 d7 d3 97 00 	lea    0x97d3d7(%rip),%rdx        # 0x1413b2fb0
140a35bd9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140a35be0:	f6 c1 01             	test   $0x1,%cl
140a35be3:	74 10                	je     0x140a35bf5
140a35be5:	49 8b 41 18          	mov    0x18(%r9),%rax
140a35be9:	f2 0f 10 00          	movsd  (%rax),%xmm0
140a35bed:	f2 0f 5e 02          	divsd  (%rdx),%xmm0
140a35bf1:	f2 0f 11 00          	movsd  %xmm0,(%rax)
140a35bf5:	48 83 c2 08          	add    $0x8,%rdx
140a35bf9:	d1 f9                	sar    $1,%ecx
140a35bfb:	75 e3                	jne    0x140a35be0
140a35bfd:	eb 26                	jmp    0x140a35c25
140a35bff:	74 24                	je     0x140a35c25
140a35c01:	48 8d 15 a8 d3 97 00 	lea    0x97d3a8(%rip),%rdx        # 0x1413b2fb0
140a35c08:	f6 c1 01             	test   $0x1,%cl
140a35c0b:	74 10                	je     0x140a35c1d
140a35c0d:	49 8b 41 18          	mov    0x18(%r9),%rax
140a35c11:	f2 0f 10 02          	movsd  (%rdx),%xmm0
140a35c15:	f2 0f 59 00          	mulsd  (%rax),%xmm0
140a35c19:	f2 0f 11 00          	movsd  %xmm0,(%rax)
140a35c1d:	48 83 c2 08          	add    $0x8,%rdx
140a35c21:	d1 f9                	sar    $1,%ecx
140a35c23:	75 e3                	jne    0x140a35c08
140a35c25:	49 8b 59 20          	mov    0x20(%r9),%rbx
140a35c29:	49 8b 41 18          	mov    0x18(%r9),%rax
140a35c2d:	f2 0f 10 30          	movsd  (%rax),%xmm6
140a35c31:	49 8b 41 28          	mov    0x28(%r9),%rax
140a35c35:	83 38 00             	cmpl   $0x0,(%rax)
140a35c38:	74 07                	je     0x140a35c41