180018846:	8b d8                	mov    %eax,%ebx
180018848:	85 c0                	test   %eax,%eax
18001884a:	0f 88 47 ff ff ff    	js     0x180018797
180018850:	eb 03                	jmp    0x180018855
180018852:	41 ff c7             	inc    %r15d
180018855:	8b cd                	mov    %ebp,%ecx
180018857:	44 89 be b8 01 00 00 	mov    %r15d,0x1b8(%rsi)
18001885e:	c1 e9 02             	shr    $0x2,%ecx
180018861:	33 c0                	xor    %eax,%eax
180018863:	45 89 7e 10          	mov    %r15d,0x10(%r14)
180018867:	85 c9                	test   %ecx,%ecx
180018869:	74 12                	je     0x18001887d
18001886b:	48 8b d6             	mov    %rsi,%rdx
18001886e:	44 8b c1             	mov    %ecx,%r8d
180018871:	03 02                	add    (%rdx),%eax
180018873:	48 8d 52 04          	lea    0x4(%rdx),%rdx
180018877:	49 83 e8 01          	sub    $0x1,%r8
18001887b:	75 f4                	jne    0x180018871
18001887d:	f7 d0                	not    %eax
18001887f:	ff c0                	inc    %eax
180018881:	41 89 46 20          	mov    %eax,0x20(%r14)
180018885:	e9 c9 fe ff ff       	jmp    0x180018753
18001888a:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
18001888f:	e9 03 ff ff ff       	jmp    0x180018797
180018894:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
180018899:	e9 f9 fe ff ff       	jmp    0x180018797
18001889e:	cc                   	int3
18001889f:	cc                   	int3
1800188a0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1800188a5:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
1800188aa:	44 0f b6 51 01       	movzbl 0x1(%rcx),%r10d
1800188af:	44 8b da             	mov    %edx,%r11d
1800188b2:	48 8b 54 24 08       	mov    0x8(%rsp),%rdx
1800188b7:	45 2b da             	sub    %r10d,%r11d
1800188ba:	4c 03 d1             	add    %rcx,%r10
1800188bd:	41 0f b6 f8          	movzbl %r8b,%edi
1800188c1:	bb 01 00 00 00       	mov    $0x1,%ebx
1800188c6:	41 8b cb             	mov    %r11d,%ecx
1800188c9:	4d 85 d2             	test   %r10,%r10
1800188cc:	74 42                	je     0x180018910
1800188ce:	48 81 f9 ff ff ff 7f 	cmp    $0x7fffffff,%rcx
1800188d5:	77 39                	ja     0x180018910
1800188d7:	8b d1                	mov    %ecx,%edx
1800188d9:	49 8b c2             	mov    %r10,%rax
1800188dc:	45 85 db             	test   %r11d,%r11d
1800188df:	74 0e                	je     0x1800188ef
1800188e1:	80 38 00             	cmpb   $0x0,(%rax)
1800188e4:	74 09                	je     0x1800188ef
1800188e6:	48 ff c0             	inc    %rax
1800188e9:	48 83 ea 01          	sub    $0x1,%rdx
1800188ed:	75 f2                	jne    0x1800188e1
1800188ef:	48 8b c2             	mov    %rdx,%rax
1800188f2:	48 f7 d8             	neg    %rax
1800188f5:	45 1b c0             	sbb    %r8d,%r8d
1800188f8:	48 2b ca             	sub    %rdx,%rcx
1800188fb:	41 f7 d0             	not    %r8d
1800188fe:	41 81 e0 0d 00 00 c0 	and    $0xc000000d,%r8d
180018905:	48 f7 da             	neg    %rdx
180018908:	48 1b d2             	sbb    %rdx,%rdx
18001890b:	48 23 d1             	and    %rcx,%rdx
18001890e:	eb 06                	jmp    0x180018916
180018910:	41 b8 0d 00 00 c0    	mov    $0xc000000d,%r8d
180018916:	45 85 c0             	test   %r8d,%r8d
180018919:	78 24                	js     0x18001893f
18001891b:	3b df                	cmp    %edi,%ebx
18001891d:	74 0d                	je     0x18001892c
18001891f:	48 ff c2             	inc    %rdx
180018922:	4c 03 d2             	add    %rdx,%r10
180018925:	44 2b da             	sub    %edx,%r11d
180018928:	ff c3                	inc    %ebx
18001892a:	eb 9a                	jmp    0x1800188c6
18001892c:	48 85 d2             	test   %rdx,%rdx
18001892f:	74 0e                	je     0x18001893f
180018931:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
180018936:	b0 01                	mov    $0x1,%al
180018938:	4d 89 11             	mov    %r10,(%r9)
18001893b:	89 11                	mov    %edx,(%rcx)
18001893d:	eb 02                	jmp    0x180018941
18001893f:	32 c0                	xor    %al,%al
180018941:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
180018946:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
18001894b:	c3                   	ret
18001894c:	cc                   	int3
18001894d:	cc                   	int3
18001894e:	cc                   	int3
18001894f:	cc                   	int3
180018950:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180018955:	0f b6 42 01          	movzbl 0x1(%rdx),%eax
180018959:	49 8b d9             	mov    %r9,%rbx
18001895c:	44 8b 19             	mov    (%rcx),%r11d
18001895f:	44 3b d8             	cmp    %eax,%r11d
180018962:	72 1c                	jb     0x180018980
180018964:	4c 8d 4a fe          	lea    -0x2(%rdx),%r9
180018968:	4d 03 cb             	add    %r11,%r9
18001896b:	4c 8d 14 02          	lea    (%rdx,%rax,1),%r10
18001896f:	eb 0a                	jmp    0x18001897b
180018971:	66 41 83 3a 00       	cmpw   $0x0,(%r10)
180018976:	74 14                	je     0x18001898c
180018978:	49 ff c2             	inc    %r10
18001897b:	4d 3b d1             	cmp    %r9,%r10
18001897e:	76 f1                	jbe    0x180018971
180018980:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
180018985:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
18001898a:	c3                   	ret
18001898b:	cc                   	int3
18001898c:	49 83 c2 02          	add    $0x2,%r10
180018990:	41 8b c2             	mov    %r10d,%eax
180018993:	4c 89 13             	mov    %r10,(%rbx)
180018996:	2b c2                	sub    %edx,%eax
180018998:	44 2b d8             	sub    %eax,%r11d
18001899b:	41 89 00             	mov    %eax,(%r8)
18001899e:	44 89 19             	mov    %r11d,(%rcx)
1800189a1:	33 c0                	xor    %eax,%eax
1800189a3:	eb e0                	jmp    0x180018985
1800189a5:	cc                   	int3
1800189a6:	cc                   	int3
1800189a7:	cc                   	int3
1800189a8:	40 53                	rex push %rbx
1800189aa:	48 83 ec 30          	sub    $0x30,%rsp
1800189ae:	0f b6 41 01          	movzbl 0x1(%rcx),%eax
1800189b2:	49 8b d9             	mov    %r9,%rbx
1800189b5:	3b d0                	cmp    %eax,%edx
1800189b7:	76 2e                	jbe    0x1800189e7
1800189b9:	48 8d 44 24 48       	lea    0x48(%rsp),%rax
1800189be:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
1800189c3:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1800189c8:	e8 d3 fe ff ff       	call   0x1800188a0
1800189cd:	84 c0                	test   %al,%al
1800189cf:	74 16                	je     0x1800189e7
1800189d1:	44 8b 44 24 48       	mov    0x48(%rsp),%r8d
1800189d6:	48 8b cb             	mov    %rbx,%rcx
1800189d9:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
1800189de:	e8 e9 88 0c 00       	call   0x1800e12cc
1800189e3:	b0 01                	mov    $0x1,%al
1800189e5:	eb 02                	jmp    0x1800189e9
1800189e7:	32 c0                	xor    %al,%al
1800189e9:	48 83 c4 30          	add    $0x30,%rsp
1800189ed:	5b                   	pop    %rbx
1800189ee:	c3                   	ret
1800189ef:	cc                   	int3
1800189f0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1800189f5:	55                   	push   %rbp
1800189f6:	56                   	push   %rsi
1800189f7:	57                   	push   %rdi
1800189f8:	41 54                	push   %r12
1800189fa:	41 55                	push   %r13
1800189fc:	41 56                	push   %r14
1800189fe:	41 57                	push   %r15
180018a00:	48 8b ec             	mov    %rsp,%rbp
180018a03:	48 83 ec 40          	sub    $0x40,%rsp
180018a07:	8b 59 0c             	mov    0xc(%rcx),%ebx
180018a0a:	4c 8b f2             	mov    %rdx,%r14
180018a0d:	48 8b 51 10          	mov    0x10(%rcx),%rdx
180018a11:	33 ff                	xor    %edi,%edi
180018a13:	44 8b c3             	mov    %ebx,%r8d
180018a16:	48 89 7d 58          	mov    %rdi,0x58(%rbp)
180018a1a:	48 8d 4d 58          	lea    0x58(%rbp),%rcx
180018a1e:	89 7c 24 20          	mov    %edi,0x20(%rsp)
180018a22:	45 33 c9             	xor    %r9d,%r9d
180018a25:	44 8b eb             	mov    %ebx,%r13d
180018a28:	e8 f3 1a 08 00       	call   0x18009a520
180018a2d:	44 8b f8             	mov    %eax,%r15d
180018a30:	85 c0                	test   %eax,%eax
180018a32:	0f 88 75 01 00 00    	js     0x180018bad
180018a38:	40 8a f7             	mov    %dil,%sil
180018a3b:	89 5d 50             	mov    %ebx,0x50(%rbp)
180018a3e:	48 8b 7d 58          	mov    0x58(%rbp),%rdi
180018a42:	83 fb 04             	cmp    $0x4,%ebx
180018a45:	0f 82 3f 01 00 00    	jb     0x180018b8a
180018a4b:	4c 8d 4d f0          	lea    -0x10(%rbp),%r9
180018a4f:	48 8b d7             	mov    %rdi,%rdx
180018a52:	4c 8d 45 40          	lea    0x40(%rbp),%r8
180018a56:	48 8d 4d 50          	lea    0x50(%rbp),%rcx
180018a5a:	e8 f1 fe ff ff       	call   0x180018950
180018a5f:	85 c0                	test   %eax,%eax
180018a61:	0f 88 23 01 00 00    	js     0x180018b8a
180018a67:	0f b6 0f             	movzbl (%rdi),%ecx
180018a6a:	85 c9                	test   %ecx,%ecx
180018a6c:	0f 84 f7 00 00 00    	je     0x180018b69
180018a72:	83 e9 01             	sub    $0x1,%ecx
180018a75:	0f 84 95 00 00 00    	je     0x180018b10
180018a7b:	83 e9 01             	sub    $0x1,%ecx
180018a7e:	74 62                	je     0x180018ae2
180018a80:	83 e9 01             	sub    $0x1,%ecx
180018a83:	74 3f                	je     0x180018ac4
180018a85:	83 f9 01             	cmp    $0x1,%ecx
180018a88:	0f 85 f0 00 00 00    	jne    0x180018b7e
180018a8e:	8b 5d 40             	mov    0x40(%rbp),%ebx
180018a91:	4d 8b ce             	mov    %r14,%r9
180018a94:	44 8a 47 04          	mov    0x4(%rdi),%r8b
180018a98:	8b d3                	mov    %ebx,%edx
180018a9a:	48 8b cf             	mov    %rdi,%rcx
180018a9d:	e8 06 ff ff ff       	call   0x1800189a8
180018aa2:	44 8a 47 07          	mov    0x7(%rdi),%r8b
180018aa6:	40 0a f0             	or     %al,%sil
180018aa9:	4d 8b ce             	mov    %r14,%r9
180018aac:	8b d3                	mov    %ebx,%edx
180018aae:	48 8b cf             	mov    %rdi,%rcx
180018ab1:	e8 f2 fe ff ff       	call   0x1800189a8
180018ab6:	44 8a 47 10          	mov    0x10(%rdi),%r8b
180018aba:	40 0a f0             	or     %al,%sil
180018abd:	8b d3                	mov    %ebx,%edx
180018abf:	e9 ac 00 00 00       	jmp    0x180018b70
180018ac4:	44 8a 47 04          	mov    0x4(%rdi),%r8b
180018ac8:	4d 8b ce             	mov    %r14,%r9
180018acb:	8b 55 40             	mov    0x40(%rbp),%edx
180018ace:	48 8b cf             	mov    %rdi,%rcx
180018ad1:	e8 d2 fe ff ff       	call   0x1800189a8
180018ad6:	44 8a 47 07          	mov    0x7(%rdi),%r8b
180018ada:	40 0a f0             	or     %al,%sil
180018add:	e9 8b 00 00 00       	jmp    0x180018b6d
180018ae2:	8b 5d 40             	mov    0x40(%rbp),%ebx
180018ae5:	4d 8b ce             	mov    %r14,%r9
180018ae8:	44 8a 47 04          	mov    0x4(%rdi),%r8b
180018aec:	8b d3                	mov    %ebx,%edx
180018aee:	48 8b cf             	mov    %rdi,%rcx
180018af1:	e8 b2 fe ff ff       	call   0x1800189a8
180018af6:	44 8a 47 05          	mov    0x5(%rdi),%r8b
180018afa:	40 0a f0             	or     %al,%sil
180018afd:	4d 8b ce             	mov    %r14,%r9
180018b00:	8b d3                	mov    %ebx,%edx
180018b02:	48 8b cf             	mov    %rdi,%rcx
180018b05:	e8 9e fe ff ff       	call   0x1800189a8
180018b0a:	44 8a 47 07          	mov    0x7(%rdi),%r8b
180018b0e:	eb aa                	jmp    0x180018aba
180018b10:	8b 5d 40             	mov    0x40(%rbp),%ebx
180018b13:	4d 8b ce             	mov    %r14,%r9
180018b16:	44 8a 47 04          	mov    0x4(%rdi),%r8b
180018b1a:	8b d3                	mov    %ebx,%edx
180018b1c:	48 8b cf             	mov    %rdi,%rcx
180018b1f:	e8 84 fe ff ff       	call   0x1800189a8
180018b24:	44 8a 47 05          	mov    0x5(%rdi),%r8b
180018b28:	4d 8b ce             	mov    %r14,%r9
180018b2b:	8b d3                	mov    %ebx,%edx
180018b2d:	48 8b cf             	mov    %rdi,%rcx
180018b30:	40 0a f0             	or     %al,%sil
180018b33:	e8 70 fe ff ff       	call   0x1800189a8
180018b38:	44 8a 47 07          	mov    0x7(%rdi),%r8b
180018b3c:	4d 8b ce             	mov    %r14,%r9
180018b3f:	8b d3                	mov    %ebx,%edx
180018b41:	48 8b cf             	mov    %rdi,%rcx
180018b44:	40 0a f0             	or     %al,%sil
180018b47:	e8 5c fe ff ff       	call   0x1800189a8
180018b4c:	44 8a 47 19          	mov    0x19(%rdi),%r8b
180018b50:	40 0a f0             	or     %al,%sil
180018b53:	4d 8b ce             	mov    %r14,%r9
180018b56:	8b d3                	mov    %ebx,%edx
180018b58:	48 8b cf             	mov    %rdi,%rcx
180018b5b:	e8 48 fe ff ff       	call   0x1800189a8
180018b60:	44 8a 47 1a          	mov    0x1a(%rdi),%r8b
180018b64:	e9 51 ff ff ff       	jmp    0x180018aba
180018b69:	44 8a 47 04          	mov    0x4(%rdi),%r8b
180018b6d:	8b 55 40             	mov    0x40(%rbp),%edx
180018b70:	4d 8b ce             	mov    %r14,%r9
180018b73:	48 8b cf             	mov    %rdi,%rcx
180018b76:	e8 2d fe ff ff       	call   0x1800189a8
180018b7b:	40 0a f0             	or     %al,%sil
180018b7e:	48 8b 7d f0          	mov    -0x10(%rbp),%rdi
180018b82:	8b 5d 50             	mov    0x50(%rbp),%ebx
180018b85:	e9 b8 fe ff ff       	jmp    0x180018a42
180018b8a:	4c 8b 65 58          	mov    0x58(%rbp),%r12
180018b8e:	33 db                	xor    %ebx,%ebx
180018b90:	4d 85 e4             	test   %r12,%r12
180018b93:	74 0e                	je     0x180018ba3
180018b95:	45 33 c0             	xor    %r8d,%r8d
180018b98:	49 8b d5             	mov    %r13,%rdx
180018b9b:	49 8b cc             	mov    %r12,%rcx
180018b9e:	e8 c9 1c 08 00       	call   0x18009a86c
180018ba3:	40 84 f6             	test   %sil,%sil
180018ba6:	44 0f 45 fb          	cmovne %ebx,%r15d
180018baa:	41 8b c7             	mov    %r15d,%eax
180018bad:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
180018bb4:	00
180018bb5:	48 83 c4 40          	add    $0x40,%rsp
180018bb9:	41 5f                	pop    %r15
180018bbb:	41 5e                	pop    %r14
180018bbd:	41 5d                	pop    %r13
180018bbf:	41 5c                	pop    %r12
180018bc1:	5f                   	pop    %rdi
180018bc2:	5e                   	pop    %rsi
180018bc3:	5d                   	pop    %rbp
180018bc4:	c3                   	ret
180018bc5:	cc                   	int3
180018bc6:	cc                   	int3
180018bc7:	cc                   	int3
180018bc8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180018bcd:	57                   	push   %rdi
180018bce:	48 81 ec c0 00 00 00 	sub    $0xc0,%rsp
180018bd5:	48 8b da             	mov    %rdx,%rbx
180018bd8:	48 8b f9             	mov    %rcx,%rdi
180018bdb:	e8 d4 bb 07 00       	call   0x1800947b4
180018be0:	85 c0                	test   %eax,%eax
180018be2:	78 36                	js     0x180018c1a
180018be4:	41 b8 10 00 00 00    	mov    $0x10,%r8d
180018bea:	48 8d 15 4f f8 12 00 	lea    0x12f84f(%rip),%rdx        # 0x180148440
180018bf1:	48 8b cb             	mov    %rbx,%rcx
180018bf4:	e8 67 b2 11 00       	call   0x180133e60
180018bf9:	48 83 f8 10          	cmp    $0x10,%rax
180018bfd:	74 1b                	je     0x180018c1a
180018bff:	41 b8 10 00 00 00    	mov    $0x10,%r8d
180018c05:	48 8d 15 24 f8 12 00 	lea    0x12f824(%rip),%rdx        # 0x180148430
180018c0c:	48 8b cb             	mov    %rbx,%rcx
180018c0f:	e8 4c b2 11 00       	call   0x180133e60
180018c14:	48 83 f8 10          	cmp    $0x10,%rax
180018c18:	75 58                	jne    0x180018c72
180018c1a:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
180018c1f:	e8 84 86 0c 00       	call   0x1800e12a8
180018c24:	48 85 ff             	test   %rdi,%rdi
180018c27:	75 07                	jne    0x180018c30
180018c29:	bf 01 00 00 c0       	mov    $0xc0000001,%edi
180018c2e:	eb 0f                	jmp    0x180018c3f
180018c30:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
180018c35:	48 8b cf             	mov    %rdi,%rcx
180018c38:	e8 b3 fd ff ff       	call   0x1800189f0
180018c3d:	8b f8                	mov    %eax,%edi
180018c3f:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
180018c44:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
180018c49:	e8 9e 86 0c 00       	call   0x1800e12ec
180018c4e:	85 ff                	test   %edi,%edi
180018c50:	78 07                	js     0x180018c59
180018c52:	0f 10 44 24 20       	movups 0x20(%rsp),%xmm0
180018c57:	eb 15                	jmp    0x180018c6e
180018c59:	8b d7                	mov    %edi,%edx
180018c5b:	48 8d 0d 2e f6 12 00 	lea    0x12f62e(%rip),%rcx        # 0x180148290
180018c62:	e8 81 78 07 00       	call   0x1800904e8
180018c67:	0f 10 05 d2 f7 12 00 	movups 0x12f7d2(%rip),%xmm0        # 0x180148440
180018c6e:	f3 0f 7f 03          	movdqu %xmm0,(%rbx)
180018c72:	48 8b 9c 24 d0 00 00 	mov    0xd0(%rsp),%rbx
180018c79:	00
180018c7a:	48 81 c4 c0 00 00 00 	add    $0xc0,%rsp
180018c81:	5f                   	pop    %rdi
180018c82:	c3                   	ret
180018c83:	cc                   	int3
180018c84:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
180018c89:	44 89 44 24 18       	mov    %r8d,0x18(%rsp)
180018c8e:	55                   	push   %rbp
180018c8f:	56                   	push   %rsi
180018c90:	57                   	push   %rdi
180018c91:	41 54                	push   %r12
180018c93:	41 55                	push   %r13
180018c95:	41 56                	push   %r14
180018c97:	41 57                	push   %r15
180018c99:	48 8b ec             	mov    %rsp,%rbp
180018c9c:	48 83 ec 30          	sub    $0x30,%rsp
180018ca0:	44 8b 2d 2d 38 15 00 	mov    0x15382d(%rip),%r13d        # 0x18016c4d4
180018ca7:	4c 8b fa             	mov    %rdx,%r15
180018caa:	48 8b b1 f0 00 00 00 	mov    0xf0(%rcx),%rsi
180018cb1:	0f 31                	rdtsc
180018cb3:	48 c1 e2 20          	shl    $0x20,%rdx
180018cb7:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx