14016f890:	48 89 74 24 08       	mov    %rsi,0x8(%rsp)
14016f895:	57                   	push   %rdi
14016f896:	48 83 ec 20          	sub    $0x20,%rsp
14016f89a:	44 8b 99 c8 0d 00 00 	mov    0xdc8(%rcx),%r11d
14016f8a1:	45 33 d2             	xor    %r10d,%r10d
14016f8a4:	49 8b f0             	mov    %r8,%rsi
14016f8a7:	48 8b f9             	mov    %rcx,%rdi
14016f8aa:	45 85 db             	test   %r11d,%r11d
14016f8ad:	74 19                	je     0x14016f8c8
14016f8af:	90                   	nop
14016f8b0:	4b 8d 04 92          	lea    (%r10,%r10,4),%rax
14016f8b4:	41 8b ca             	mov    %r10d,%ecx
14016f8b7:	39 94 c7 70 0d 00 00 	cmp    %edx,0xd70(%rdi,%rax,8)
14016f8be:	74 50                	je     0x14016f910
14016f8c0:	41 ff c2             	inc    %r10d
14016f8c3:	45 3b d3             	cmp    %r11d,%r10d
14016f8c6:	72 e8                	jb     0x14016f8b0
14016f8c8:	4b 8d 04 92          	lea    (%r10,%r10,4),%rax
14016f8cc:	41 8b ca             	mov    %r10d,%ecx
14016f8cf:	48 c7 84 c7 50 0d 00 	movq   $0x0,0xd50(%rdi,%rax,8)
14016f8d6:	00 00 00 00 00
14016f8db:	48 c7 84 c7 58 0d 00 	movq   $0x0,0xd58(%rdi,%rax,8)
14016f8e2:	00 00 00 00 00
14016f8e7:	48 c7 84 c7 60 0d 00 	movq   $0x0,0xd60(%rdi,%rax,8)
14016f8ee:	00 00 00 00 00
14016f8f3:	48 c7 84 c7 68 0d 00 	movq   $0x4000000,0xd68(%rdi,%rax,8)
14016f8fa:	00 00 00 00 04
14016f8ff:	4b 8d 04 92          	lea    (%r10,%r10,4),%rax
14016f903:	89 94 c7 70 0d 00 00 	mov    %edx,0xd70(%rdi,%rax,8)
14016f90a:	ff 87 c8 0d 00 00    	incl   0xdc8(%rdi)
14016f910:	48 8d 04 8d aa 01 00 	lea    0x1aa(,%rcx,4),%rax
14016f917:	00
14016f918:	4d 8b c1             	mov    %r9,%r8
14016f91b:	48 03 c1             	add    %rcx,%rax
14016f91e:	48 8b d6             	mov    %rsi,%rdx
14016f921:	48 8d 0c c7          	lea    (%rdi,%rax,8),%rcx
14016f925:	e8 96 37 ff ff       	call   0x1401630c0
14016f92a:	85 c0                	test   %eax,%eax
14016f92c:	74 10                	je     0x14016f93e
14016f92e:	b8 1b 00 00 00       	mov    $0x1b,%eax
14016f933:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
14016f938:	48 83 c4 20          	add    $0x20,%rsp
14016f93c:	5f                   	pop    %rdi
14016f93d:	c3                   	ret
14016f93e:	83 8f 5c 01 00 00 10 	orl    $0x10,0x15c(%rdi)
14016f945:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
14016f94a:	33 c0                	xor    %eax,%eax
14016f94c:	48 83 c4 20          	add    $0x20,%rsp
14016f950:	5f                   	pop    %rdi
14016f951:	c3                   	ret
14016f952:	cc                   	int3
14016f953:	cc                   	int3
14016f954:	cc                   	int3
14016f955:	cc                   	int3
14016f956:	cc                   	int3
14016f957:	cc                   	int3
14016f958:	cc                   	int3
14016f959:	cc                   	int3
14016f95a:	cc                   	int3
14016f95b:	cc                   	int3
14016f95c:	cc                   	int3
14016f95d:	cc                   	int3
14016f95e:	cc                   	int3
14016f95f:	cc                   	int3
14016f960:	8b 41 08             	mov    0x8(%rcx),%eax
14016f963:	23 01                	and    (%rcx),%eax
14016f965:	23 c2                	and    %edx,%eax
14016f967:	b2 01                	mov    $0x1,%dl
14016f969:	a8 04                	test   $0x4,%al
14016f96b:	74 12                	je     0x14016f97f
14016f96d:	c7 41 04 04 00 00 00 	movl   $0x4,0x4(%rcx)
14016f974:	0f b6 c2             	movzbl %dl,%eax
14016f977:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%rcx)
14016f97e:	c3                   	ret
14016f97f:	a8 40                	test   $0x40,%al
14016f981:	74 12                	je     0x14016f995
14016f983:	c7 41 04 40 00 00 00 	movl   $0x40,0x4(%rcx)
14016f98a:	0f b6 c2             	movzbl %dl,%eax
14016f98d:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%rcx)
14016f994:	c3                   	ret
14016f995:	a8 02                	test   $0x2,%al
14016f997:	74 12                	je     0x14016f9ab
14016f999:	c7 41 04 02 00 00 00 	movl   $0x2,0x4(%rcx)
14016f9a0:	0f b6 c2             	movzbl %dl,%eax
14016f9a3:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%rcx)
14016f9aa:	c3                   	ret
14016f9ab:	a8 08                	test   $0x8,%al
14016f9ad:	74 12                	je     0x14016f9c1
14016f9af:	c7 41 04 08 00 00 00 	movl   $0x8,0x4(%rcx)
14016f9b6:	0f b6 c2             	movzbl %dl,%eax
14016f9b9:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%rcx)
14016f9c0:	c3                   	ret
14016f9c1:	a8 20                	test   $0x20,%al
14016f9c3:	74 12                	je     0x14016f9d7
14016f9c5:	c7 41 04 20 00 00 00 	movl   $0x20,0x4(%rcx)
14016f9cc:	0f b6 c2             	movzbl %dl,%eax
14016f9cf:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%rcx)
14016f9d6:	c3                   	ret
14016f9d7:	84 c2                	test   %al,%dl
14016f9d9:	74 12                	je     0x14016f9ed
14016f9db:	c7 41 04 01 00 00 00 	movl   $0x1,0x4(%rcx)
14016f9e2:	0f b6 c2             	movzbl %dl,%eax
14016f9e5:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%rcx)
14016f9ec:	c3                   	ret
14016f9ed:	84 c0                	test   %al,%al
14016f9ef:	79 12                	jns    0x14016fa03
14016f9f1:	c7 41 04 80 00 00 00 	movl   $0x80,0x4(%rcx)
14016f9f8:	0f b6 c2             	movzbl %dl,%eax
14016f9fb:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%rcx)
14016fa02:	c3                   	ret
14016fa03:	32 d2                	xor    %dl,%dl
14016fa05:	c7 41 04 00 00 00 40 	movl   $0x40000000,0x4(%rcx)
14016fa0c:	0f b6 c2             	movzbl %dl,%eax
14016fa0f:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%rcx)
14016fa16:	c3                   	ret
14016fa17:	cc                   	int3
14016fa18:	cc                   	int3
14016fa19:	cc                   	int3
14016fa1a:	cc                   	int3
14016fa1b:	cc                   	int3
14016fa1c:	cc                   	int3
14016fa1d:	cc                   	int3
14016fa1e:	cc                   	int3
14016fa1f:	cc                   	int3
14016fa20:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14016fa25:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14016fa2a:	57                   	push   %rdi
14016fa2b:	48 83 ec 30          	sub    $0x30,%rsp
14016fa2f:	49 63 f0             	movslq %r8d,%rsi
14016fa32:	48 8b fa             	mov    %rdx,%rdi
14016fa35:	48 8b d9             	mov    %rcx,%rbx
14016fa38:	c6 84 16 c8 03 00 00 	movb   $0x1,0x3c8(%rsi,%rdx,1)
14016fa3f:	01
14016fa40:	41 c6 01 01          	movb   $0x1,(%r9)
14016fa44:	45 85 c0             	test   %r8d,%r8d
14016fa47:	75 13                	jne    0x14016fa5c
14016fa49:	48 8b d1             	mov    %rcx,%rdx
14016fa4c:	41 b8 04 00 00 00    	mov    $0x4,%r8d
14016fa52:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
14016fa57:	e8 a4 e9 fd ff       	call   0x14014e400
14016fa5c:	4c 8b 84 f7 e8 01 00 	mov    0x1e8(%rdi,%rsi,8),%r8
14016fa63:	00
14016fa64:	48 8b d7             	mov    %rdi,%rdx
14016fa67:	48 8b cb             	mov    %rbx,%rcx
14016fa6a:	e8 91 36 fe ff       	call   0x140153100
14016fa6f:	48 8b d7             	mov    %rdi,%rdx
14016fa72:	48 8b cb             	mov    %rbx,%rcx
14016fa75:	e8 b6 3a fe ff       	call   0x140153530
14016fa7a:	ff 83 48 13 00 00    	incl   0x1348(%rbx)
14016fa80:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14016fa85:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14016fa8a:	48 83 c4 30          	add    $0x30,%rsp
14016fa8e:	5f                   	pop    %rdi
14016fa8f:	c3                   	ret
14016fa90:	48 83 ec 28          	sub    $0x28,%rsp
14016fa94:	48 8b 51 40          	mov    0x40(%rcx),%rdx
14016fa98:	48 85 d2             	test   %rdx,%rdx
14016fa9b:	0f 84 d8 00 00 00    	je     0x14016fb79
14016faa1:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14016faa6:	48 8b 1a             	mov    (%rdx),%rbx
14016faa9:	83 7b 50 02          	cmpl   $0x2,0x50(%rbx)
14016faad:	74 23                	je     0x14016fad2
14016faaf:	48 8b 83 60 02 00 00 	mov    0x260(%rbx),%rax
14016fab6:	48 89 83 d0 11 00 00 	mov    %rax,0x11d0(%rbx)
14016fabd:	48 8b 83 f8 01 00 00 	mov    0x1f8(%rbx),%rax
14016fac4:	48 89 83 d8 11 00 00 	mov    %rax,0x11d8(%rbx)
14016facb:	c7 43 50 02 00 00 00 	movl   $0x2,0x50(%rbx)
14016fad2:	48 83 79 58 00       	cmpq   $0x0,0x58(%rcx)
14016fad7:	0f 84 80 00 00 00    	je     0x14016fb5d
14016fadd:	45 33 d2             	xor    %r10d,%r10d
14016fae0:	48 3b 51 40          	cmp    0x40(%rcx),%rdx
14016fae4:	75 25                	jne    0x14016fb0b
14016fae6:	48 8b 42 10          	mov    0x10(%rdx),%rax
14016faea:	48 89 41 40          	mov    %rax,0x40(%rcx)
14016faee:	48 85 c0             	test   %rax,%rax
14016faf1:	75 0a                	jne    0x14016fafd
14016faf3:	4c 89 51 48          	mov    %r10,0x48(%rcx)
14016faf7:	48 8d 42 08          	lea    0x8(%rdx),%rax
14016fafb:	eb 3f                	jmp    0x14016fb3c
14016fafd:	48 8b 42 10          	mov    0x10(%rdx),%rax
14016fb01:	4c 89 50 08          	mov    %r10,0x8(%rax)
14016fb05:	48 8d 42 08          	lea    0x8(%rdx),%rax
14016fb09:	eb 31                	jmp    0x14016fb3c
14016fb0b:	4c 8b 4a 08          	mov    0x8(%rdx),%r9
14016fb0f:	48 8d 42 08          	lea    0x8(%rdx),%rax
14016fb13:	4c 8b 42 10          	mov    0x10(%rdx),%r8
14016fb17:	4d 85 c9             	test   %r9,%r9
14016fb1a:	75 06                	jne    0x14016fb22
14016fb1c:	4c 89 41 40          	mov    %r8,0x40(%rcx)
14016fb20:	eb 04                	jmp    0x14016fb26
14016fb22:	4d 89 41 10          	mov    %r8,0x10(%r9)
14016fb26:	4c 8b 42 10          	mov    0x10(%rdx),%r8
14016fb2a:	4c 8b 08             	mov    (%rax),%r9
14016fb2d:	4d 85 c0             	test   %r8,%r8
14016fb30:	75 06                	jne    0x14016fb38
14016fb32:	4c 89 49 48          	mov    %r9,0x48(%rcx)
14016fb36:	eb 04                	jmp    0x14016fb3c
14016fb38:	4d 89 48 08          	mov    %r9,0x8(%r8)
14016fb3c:	4c 8b 02             	mov    (%rdx),%r8
14016fb3f:	4c 89 12             	mov    %r10,(%rdx)
14016fb42:	4c 89 10             	mov    %r10,(%rax)
14016fb45:	4c 89 52 10          	mov    %r10,0x10(%rdx)
14016fb49:	48 ff 49 58          	decq   0x58(%rcx)
14016fb4d:	48 8b 41 50          	mov    0x50(%rcx),%rax
14016fb51:	48 85 c0             	test   %rax,%rax
14016fb54:	74 07                	je     0x14016fb5d
14016fb56:	49 8b d0             	mov    %r8,%rdx
14016fb59:	33 c9                	xor    %ecx,%ecx
14016fb5b:	ff d0                	call   *%rax
14016fb5d:	33 d2                	xor    %edx,%edx
14016fb5f:	41 b8 08 00 00 00    	mov    $0x8,%r8d
14016fb65:	48 8b cb             	mov    %rbx,%rcx
14016fb68:	e8 83 26 fd ff       	call   0x1401421f0
14016fb6d:	c6 83 0e 13 00 00 01 	movb   $0x1,0x130e(%rbx)
14016fb74:	48 8b 5c 24 20       	mov    0x20(%rsp),%rbx
14016fb79:	48 83 c4 28          	add    $0x28,%rsp
14016fb7d:	c3                   	ret
14016fb7e:	cc                   	int3
14016fb7f:	cc                   	int3
14016fb80:	44 8b 42 04          	mov    0x4(%rdx),%r8d
14016fb84:	45 33 c9             	xor    %r9d,%r9d
14016fb87:	8b 42 10             	mov    0x10(%rdx),%eax
14016fb8a:	4c 8b d9             	mov    %rcx,%r11
14016fb8d:	41 3b c0             	cmp    %r8d,%eax
14016fb90:	41 0f 43 c0          	cmovae %r8d,%eax
14016fb94:	44 2b c0             	sub    %eax,%r8d
14016fb97:	8b c8                	mov    %eax,%ecx
14016fb99:	44 89 42 04          	mov    %r8d,0x4(%rdx)
14016fb9d:	29 4a 10             	sub    %ecx,0x10(%rdx)
14016fba0:	48 01 4a 08          	add    %rcx,0x8(%rdx)
14016fba4:	44 39 4a 10          	cmp    %r9d,0x10(%rdx)
14016fba8:	74 15                	je     0x14016fbbf
14016fbaa:	41 b9 17 00 00 00    	mov    $0x17,%r9d
14016fbb0:	4c 8b c2             	mov    %rdx,%r8
14016fbb3:	49 8b cb             	mov    %r11,%rcx
14016fbb6:	48 83 c2 08          	add    $0x8,%rdx
14016fbba:	e9 e1 37 ff ff       	jmp    0x1401633a0
14016fbbf:	44 39 4a 04          	cmp    %r9d,0x4(%rdx)
14016fbc3:	74 eb                	je     0x14016fbb0
14016fbc5:	c7 02 03 00 00 00    	movl   $0x3,(%rdx)
14016fbcb:	41 8b c1             	mov    %r9d,%eax
14016fbce:	c3                   	ret
14016fbcf:	cc                   	int3
14016fbd0:	48 83 ec 28          	sub    $0x28,%rsp
14016fbd4:	4c 8b 42 20          	mov    0x20(%rdx),%r8
14016fbd8:	4d 85 c0             	test   %r8,%r8
14016fbdb:	74 16                	je     0x14016fbf3
14016fbdd:	48 8d 15 6c 85 1c 00 	lea    0x1c856c(%rip),%rdx        # 0x140338150
14016fbe4:	e8 47 2b fd ff       	call   0x140142730
14016fbe9:	b8 3d 00 00 00       	mov    $0x3d,%eax
14016fbee:	48 83 c4 28          	add    $0x28,%rsp
14016fbf2:	c3                   	ret
14016fbf3:	48 8d 15 86 85 1c 00 	lea    0x1c8586(%rip),%rdx        # 0x140338180
14016fbfa:	e8 31 2b fd ff       	call   0x140142730
14016fbff:	b8 3d 00 00 00       	mov    $0x3d,%eax
14016fc04:	48 83 c4 28          	add    $0x28,%rsp
14016fc08:	c3                   	ret
14016fc09:	cc                   	int3
14016fc0a:	cc                   	int3
14016fc0b:	cc                   	int3
14016fc0c:	cc                   	int3
14016fc0d:	cc                   	int3
14016fc0e:	cc                   	int3
14016fc0f:	cc                   	int3
14016fc10:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14016fc15:	56                   	push   %rsi
14016fc16:	0f 10 81 d0 0b 00 00 	movups 0xbd0(%rcx),%xmm0
14016fc1d:	4c 8b c1             	mov    %rcx,%r8
14016fc20:	4c 8b da             	mov    %rdx,%r11
14016fc23:	0f 10 0a             	movups (%rdx),%xmm1
14016fc26:	48 be 00 00 00 00 00 	movabs $0x8000000000000000,%rsi
14016fc2d:	00 00 80
14016fc30:	49 b9 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%r9
14016fc37:	ff ff 7f
14016fc3a:	66 48 0f 7e c0       	movq   %xmm0,%rax
14016fc3f:	4d 8b 90 68 0b 00 00 	mov    0xb68(%r8),%r10
14016fc46:	66 48 0f 7e c9       	movq   %xmm1,%rcx
14016fc4b:	48 2b c8             	sub    %rax,%rcx
14016fc4e:	48 b8 f6 5a d0 7b 63 	movabs $0x8637bd05af6,%rax
14016fc55:	08 00 00
14016fc58:	48 3b c8             	cmp    %rax,%rcx
14016fc5b:	0f 8c 01 01 00 00    	jl     0x14016fd62
14016fc61:	49 8b d1             	mov    %r9,%rdx
14016fc64:	4d 89 88 88 0b 00 00 	mov    %r9,0xb88(%r8)
14016fc6b:	49 8b c2             	mov    %r10,%rax
14016fc6e:	0f 57 c0             	xorps  %xmm0,%xmm0
14016fc71:	0f 57 d2             	xorps  %xmm2,%xmm2
14016fc74:	f2 48 0f 2a c0       	cvtsi2sd %rax,%xmm0
14016fc79:	f2 48 0f 2a d2       	cvtsi2sd %rdx,%xmm2
14016fc7e:	f2 0f 5e c2          	divsd  %xmm2,%xmm0
14016fc82:	f2 0f 59 05 2e f8 1b 	mulsd  0x1bf82e(%rip),%xmm0        # 0x14032f4b8
14016fc89:	00
14016fc8a:	f2 48 0f 2c c0       	cvttsd2si %xmm0,%rax
14016fc8f:	0f 57 c0             	xorps  %xmm0,%xmm0
14016fc92:	49 89 80 90 0b 00 00 	mov    %rax,0xb90(%r8)
14016fc99:	49 8b 80 70 0b 00 00 	mov    0xb70(%r8),%rax
14016fca0:	48 8b d8             	mov    %rax,%rbx
14016fca3:	f2 48 0f 2a c0       	cvtsi2sd %rax,%xmm0
14016fca8:	f2 0f 5e c2          	divsd  %xmm2,%xmm0
14016fcac:	f2 0f 59 05 04 f8 1b 	mulsd  0x1bf804(%rip),%xmm0        # 0x14032f4b8
14016fcb3:	00
14016fcb4:	f2 48 0f 2c c8       	cvttsd2si %xmm0,%rcx
14016fcb9:	49 8b 03             	mov    (%r11),%rax
14016fcbc:	49 89 88 98 0b 00 00 	mov    %rcx,0xb98(%r8)
14016fcc3:	49 39 80 50 0b 00 00 	cmp    %rax,0xb50(%r8)
14016fcca:	0f 84 fa 01 00 00    	je     0x14016feca
14016fcd0:	41 8b 88 d0 0c 00 00 	mov    0xcd0(%r8),%ecx
14016fcd7:	41 0f 10 03          	movups (%r11),%xmm0
14016fcdb:	49 89 80 50 0b 00 00 	mov    %rax,0xb50(%r8)
14016fce2:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
14016fce7:	f7 e9                	imul   %ecx
14016fce9:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
14016fcee:	8b c2                	mov    %edx,%eax
14016fcf0:	c1 e8 1f             	shr    $0x1f,%eax
14016fcf3:	03 d0                	add    %eax,%edx
14016fcf5:	8d 04 52             	lea    (%rdx,%rdx,2),%eax
14016fcf8:	03 c0                	add    %eax,%eax
14016fcfa:	2b c8                	sub    %eax,%ecx
14016fcfc:	4a 8d 04 13          	lea    (%rbx,%r10,1),%rax
14016fd00:	48 63 f9             	movslq %ecx,%rdi
14016fd03:	49 89 84 f8 40 0c 00 	mov    %rax,0xc40(%r8,%rdi,8)
14016fd0a:	00
14016fd0b:	48 8d 47 12          	lea    0x12(%rdi),%rax
14016fd0f:	48 03 c0             	add    %rax,%rax
14016fd12:	41 0f 11 84 c0 50 0b 	movups %xmm0,0xb50(%r8,%rax,8)
14016fd19:	00 00
14016fd1b:	41 8b 88 d0 0c 00 00 	mov    0xcd0(%r8),%ecx
14016fd22:	ff c1                	inc    %ecx
14016fd24:	41 89 88 d0 0c 00 00 	mov    %ecx,0xcd0(%r8)
14016fd2b:	83 f9 06             	cmp    $0x6,%ecx
14016fd2e:	0f 8d a8 00 00 00    	jge    0x14016fddc
14016fd34:	8d 41 ff             	lea    -0x1(%rcx),%eax
14016fd37:	85 c0                	test   %eax,%eax
14016fd39:	0f 85 98 00 00 00    	jne    0x14016fdd7
14016fd3f:	49 8b 80 98 0b 00 00 	mov    0xb98(%r8),%rax
14016fd46:	49 03 80 90 0b 00 00 	add    0xb90(%r8),%rax
14016fd4d:	49 89 80 78 0b 00 00 	mov    %rax,0xb78(%r8)
14016fd54:	b0 01                	mov    $0x1,%al
14016fd56:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
14016fd5b:	48 8b 5c 24 18       	mov    0x18(%rsp),%rbx
14016fd60:	5e                   	pop    %rsi
14016fd61:	c3                   	ret
14016fd62:	48 b8 0a a5 2f 84 9c 	movabs $0xfffff79c842fa50a,%rax
14016fd69:	f7 ff ff
14016fd6c:	48 3b c8             	cmp    %rax,%rcx
14016fd6f:	7f 0c                	jg     0x14016fd7d
14016fd71:	49 89 b0 88 0b 00 00 	mov    %rsi,0xb88(%r8)
14016fd78:	49 8b c2             	mov    %r10,%rax
14016fd7b:	eb 39                	jmp    0x14016fdb6
14016fd7d:	48 69 d1 40 42 0f 00 	imul   $0xf4240,%rcx,%rdx