18002177f:	41 83 fd 32          	cmp    $0x32,%r13d
180021783:	66 44 89 65 fa       	mov    %r12w,-0x6(%rbp)
180021788:	49 8b d7             	mov    %r15,%rdx
18002178b:	8d 48 9c             	lea    -0x64(%rax),%ecx
18002178e:	66 0f 4d c1          	cmovge %cx,%ax
180021792:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
180021796:	66 41 03 c5          	add    %r13w,%ax
18002179a:	66 89 45 f0          	mov    %ax,-0x10(%rbp)
18002179e:	8b 45 e0             	mov    -0x20(%rbp),%eax
1800217a1:	66 89 45 f2          	mov    %ax,-0xe(%rbp)
1800217a5:	8b 45 e4             	mov    -0x1c(%rbp),%eax
1800217a8:	66 89 45 f4          	mov    %ax,-0xc(%rbp)
1800217ac:	8b 45 e8             	mov    -0x18(%rbp),%eax
1800217af:	66 89 45 f6          	mov    %ax,-0xa(%rbp)
1800217b3:	8b 45 ec             	mov    -0x14(%rbp),%eax
1800217b6:	66 89 45 f8          	mov    %ax,-0x8(%rbp)
1800217ba:	e8 fd 23 01 00       	call   0x180033bbc
1800217bf:	84 c0                	test   %al,%al
1800217c1:	74 16                	je     0x1800217d9
1800217c3:	45 8a c6             	mov    %r14b,%r8b
1800217c6:	0f b7 d6             	movzwl %si,%edx
1800217c9:	49 8b cf             	mov    %r15,%rcx
1800217cc:	e8 23 fc ff ff       	call   0x1800213f4
1800217d1:	84 c0                	test   %al,%al
1800217d3:	74 04                	je     0x1800217d9
1800217d5:	b0 01                	mov    $0x1,%al
1800217d7:	eb 02                	jmp    0x1800217db
1800217d9:	32 c0                	xor    %al,%al
1800217db:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
1800217e2:	00
1800217e3:	48 83 c4 40          	add    $0x40,%rsp
1800217e7:	41 5f                	pop    %r15
1800217e9:	41 5e                	pop    %r14
1800217eb:	41 5d                	pop    %r13
1800217ed:	41 5c                	pop    %r12
1800217ef:	5f                   	pop    %rdi
1800217f0:	5e                   	pop    %rsi
1800217f1:	5d                   	pop    %rbp
1800217f2:	c3                   	ret
1800217f3:	cc                   	int3
1800217f4:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1800217f9:	55                   	push   %rbp
1800217fa:	56                   	push   %rsi
1800217fb:	57                   	push   %rdi
1800217fc:	41 54                	push   %r12
1800217fe:	41 55                	push   %r13
180021800:	41 56                	push   %r14
180021802:	41 57                	push   %r15
180021804:	48 8b ec             	mov    %rsp,%rbp
180021807:	48 83 ec 60          	sub    $0x60,%rsp
18002180b:	48 8b 05 5e b1 14 00 	mov    0x14b15e(%rip),%rax        # 0x18016c970
180021812:	48 33 c4             	xor    %rsp,%rax
180021815:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
180021819:	8b 39                	mov    (%rcx),%edi
18002181b:	33 c0                	xor    %eax,%eax
18002181d:	48 8b 59 08          	mov    0x8(%rcx),%rbx
180021821:	44 8b e0             	mov    %eax,%r12d
180021824:	48 89 55 e8          	mov    %rdx,-0x18(%rbp)
180021828:	44 8b f0             	mov    %eax,%r14d
18002182b:	89 45 c0             	mov    %eax,-0x40(%rbp)
18002182e:	8b f0                	mov    %eax,%esi
180021830:	89 45 c4             	mov    %eax,-0x3c(%rbp)
180021833:	44 8b f8             	mov    %eax,%r15d
180021836:	44 8a e8             	mov    %al,%r13b
180021839:	83 ff 0a             	cmp    $0xa,%edi
18002183c:	0f 82 5a 03 00 00    	jb     0x180021b9c
180021842:	88 45 f4             	mov    %al,-0xc(%rbp)
180021845:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
180021849:	8a 03                	mov    (%rbx),%al
18002184b:	88 45 f0             	mov    %al,-0x10(%rbp)
18002184e:	8a 43 01             	mov    0x1(%rbx),%al
180021851:	88 45 f1             	mov    %al,-0xf(%rbp)
180021854:	8a 43 02             	mov    0x2(%rbx),%al
180021857:	88 45 f2             	mov    %al,-0xe(%rbp)
18002185a:	8a 43 03             	mov    0x3(%rbx),%al
18002185d:	88 45 f3             	mov    %al,-0xd(%rbp)
180021860:	e8 2f a2 10 00       	call   0x18012ba94
180021865:	89 45 d8             	mov    %eax,-0x28(%rbp)
180021868:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
18002186c:	40 88 75 f2          	mov    %sil,-0xe(%rbp)
180021870:	8a 43 04             	mov    0x4(%rbx),%al
180021873:	88 45 f0             	mov    %al,-0x10(%rbp)
180021876:	8a 43 05             	mov    0x5(%rbx),%al
180021879:	88 45 f1             	mov    %al,-0xf(%rbp)
18002187c:	e8 13 a2 10 00       	call   0x18012ba94
180021881:	89 45 dc             	mov    %eax,-0x24(%rbp)
180021884:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
180021888:	8a 43 06             	mov    0x6(%rbx),%al
18002188b:	88 45 f0             	mov    %al,-0x10(%rbp)
18002188e:	8a 43 07             	mov    0x7(%rbx),%al
180021891:	88 45 f1             	mov    %al,-0xf(%rbp)
180021894:	e8 fb a1 10 00       	call   0x18012ba94
180021899:	89 45 e0             	mov    %eax,-0x20(%rbp)
18002189c:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
1800218a0:	8a 43 08             	mov    0x8(%rbx),%al
1800218a3:	88 45 f0             	mov    %al,-0x10(%rbp)
1800218a6:	8a 43 09             	mov    0x9(%rbx),%al
1800218a9:	88 45 f1             	mov    %al,-0xf(%rbp)
1800218ac:	e8 e3 a1 10 00       	call   0x18012ba94
1800218b1:	48 83 c3 0a          	add    $0xa,%rbx
1800218b5:	89 45 e4             	mov    %eax,-0x1c(%rbp)
1800218b8:	83 c7 f6             	add    $0xfffffff6,%edi
1800218bb:	83 ff 01             	cmp    $0x1,%edi
1800218be:	0f 82 d8 02 00 00    	jb     0x180021b9c
1800218c4:	0f b6 0b             	movzbl (%rbx),%ecx
1800218c7:	8d 41 d4             	lea    -0x2c(%rcx),%eax
1800218ca:	a8 fd                	test   $0xfd,%al
1800218cc:	0f 84 1f 01 00 00    	je     0x1800219f1
1800218d2:	e8 11 a2 10 00       	call   0x18012bae8
1800218d7:	85 c0                	test   %eax,%eax
1800218d9:	0f 84 80 01 00 00    	je     0x180021a5f
1800218df:	83 ff 02             	cmp    $0x2,%edi
1800218e2:	0f 82 b4 02 00 00    	jb     0x180021b9c
1800218e8:	8a 03                	mov    (%rbx),%al
1800218ea:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
1800218ee:	88 45 f0             	mov    %al,-0x10(%rbp)
1800218f1:	8a 43 01             	mov    0x1(%rbx),%al
1800218f4:	88 45 f1             	mov    %al,-0xf(%rbp)
1800218f7:	e8 98 a1 10 00       	call   0x18012ba94
1800218fc:	48 83 c3 02          	add    $0x2,%rbx
180021900:	83 c7 fe             	add    $0xfffffffe,%edi
180021903:	44 8b e0             	mov    %eax,%r12d
180021906:	83 ff 01             	cmp    $0x1,%edi
180021909:	0f 82 8d 02 00 00    	jb     0x180021b9c
18002190f:	0f b6 13             	movzbl (%rbx),%edx
180021912:	8d 4a d4             	lea    -0x2c(%rdx),%ecx
180021915:	f6 c1 fd             	test   $0xfd,%cl
180021918:	0f 84 83 00 00 00    	je     0x1800219a1
18002191e:	8b ca                	mov    %edx,%ecx
180021920:	e8 c3 a1 10 00       	call   0x18012bae8
180021925:	85 c0                	test   %eax,%eax
180021927:	0f 84 32 01 00 00    	je     0x180021a5f
18002192d:	83 ff 02             	cmp    $0x2,%edi
180021930:	0f 82 66 02 00 00    	jb     0x180021b9c
180021936:	8a 03                	mov    (%rbx),%al
180021938:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
18002193c:	88 45 f0             	mov    %al,-0x10(%rbp)
18002193f:	8a 43 01             	mov    0x1(%rbx),%al
180021942:	88 45 f1             	mov    %al,-0xf(%rbp)
180021945:	e8 4a a1 10 00       	call   0x18012ba94
18002194a:	48 83 c3 02          	add    $0x2,%rbx
18002194e:	83 c7 fe             	add    $0xfffffffe,%edi
180021951:	44 8b f0             	mov    %eax,%r14d
180021954:	83 ff 01             	cmp    $0x1,%edi
180021957:	0f 82 3f 02 00 00    	jb     0x180021b9c
18002195d:	8a 0b                	mov    (%rbx),%cl
18002195f:	80 e9 2c             	sub    $0x2c,%cl
180021962:	f6 c1 fd             	test   $0xfd,%cl
180021965:	0f 85 f4 00 00 00    	jne    0x180021a5f
18002196b:	48 ff c3             	inc    %rbx
18002196e:	4c 8d 4d c4          	lea    -0x3c(%rbp),%r9
180021972:	ff cf                	dec    %edi
180021974:	4c 8d 45 c0          	lea    -0x40(%rbp),%r8
180021978:	8b d7                	mov    %edi,%edx
18002197a:	48 8b cb             	mov    %rbx,%rcx
18002197d:	e8 5a fb ff ff       	call   0x1800214dc
180021982:	44 8b 45 c4          	mov    -0x3c(%rbp),%r8d
180021986:	2b f8                	sub    %eax,%edi
180021988:	8b 55 c0             	mov    -0x40(%rbp),%edx
18002198b:	8b c8                	mov    %eax,%ecx
18002198d:	48 03 d9             	add    %rcx,%rbx
180021990:	b9 e8 03 00 00       	mov    $0x3e8,%ecx
180021995:	e8 be fb ff ff       	call   0x180021558
18002199a:	8b f0                	mov    %eax,%esi
18002199c:	e9 be 00 00 00       	jmp    0x180021a5f
1800219a1:	48 ff c3             	inc    %rbx
1800219a4:	4c 8d 4d c4          	lea    -0x3c(%rbp),%r9
1800219a8:	ff cf                	dec    %edi
1800219aa:	4c 8d 45 c0          	lea    -0x40(%rbp),%r8
1800219ae:	8b d7                	mov    %edi,%edx
1800219b0:	48 8b cb             	mov    %rbx,%rcx
1800219b3:	e8 24 fb ff ff       	call   0x1800214dc
1800219b8:	44 8b 45 c4          	mov    -0x3c(%rbp),%r8d
1800219bc:	2b f8                	sub    %eax,%edi
1800219be:	8b 55 c0             	mov    -0x40(%rbp),%edx
1800219c1:	8b c8                	mov    %eax,%ecx
1800219c3:	48 03 d9             	add    %rcx,%rbx
1800219c6:	b9 3c 00 00 00       	mov    $0x3c,%ecx
1800219cb:	e8 88 fb ff ff       	call   0x180021558
1800219d0:	44 8b 45 c4          	mov    -0x3c(%rbp),%r8d
1800219d4:	b9 60 ea 00 00       	mov    $0xea60,%ecx
1800219d9:	8b 55 c0             	mov    -0x40(%rbp),%edx
1800219dc:	44 8b f0             	mov    %eax,%r14d
1800219df:	e8 74 fb ff ff       	call   0x180021558
1800219e4:	8b f0                	mov    %eax,%esi
1800219e6:	41 69 c6 e8 03 00 00 	imul   $0x3e8,%r14d,%eax
1800219ed:	2b f0                	sub    %eax,%esi
1800219ef:	eb 6e                	jmp    0x180021a5f
1800219f1:	48 ff c3             	inc    %rbx
1800219f4:	4c 8d 4d c4          	lea    -0x3c(%rbp),%r9
1800219f8:	ff cf                	dec    %edi
1800219fa:	4c 8d 45 c0          	lea    -0x40(%rbp),%r8
1800219fe:	8b d7                	mov    %edi,%edx
180021a00:	48 8b cb             	mov    %rbx,%rcx
180021a03:	e8 d4 fa ff ff       	call   0x1800214dc
180021a08:	44 8b 5d c4          	mov    -0x3c(%rbp),%r11d
180021a0c:	2b f8                	sub    %eax,%edi
180021a0e:	44 8b 55 c0          	mov    -0x40(%rbp),%r10d
180021a12:	45 8b c3             	mov    %r11d,%r8d
180021a15:	8b c8                	mov    %eax,%ecx
180021a17:	41 8b d2             	mov    %r10d,%edx
180021a1a:	48 03 d9             	add    %rcx,%rbx
180021a1d:	b9 3c 00 00 00       	mov    $0x3c,%ecx
180021a22:	e8 31 fb ff ff       	call   0x180021558
180021a27:	45 8b c3             	mov    %r11d,%r8d
180021a2a:	41 8b d2             	mov    %r10d,%edx
180021a2d:	b9 10 0e 00 00       	mov    $0xe10,%ecx
180021a32:	44 8b e0             	mov    %eax,%r12d
180021a35:	e8 1e fb ff ff       	call   0x180021558
180021a3a:	45 8b c3             	mov    %r11d,%r8d
180021a3d:	41 8b d2             	mov    %r10d,%edx
180021a40:	b9 80 ee 36 00       	mov    $0x36ee80,%ecx
180021a45:	44 8b f0             	mov    %eax,%r14d
180021a48:	e8 0b fb ff ff       	call   0x180021558
180021a4d:	8b f0                	mov    %eax,%esi
180021a4f:	41 69 c6 e8 03 00 00 	imul   $0x3e8,%r14d,%eax
180021a56:	2b f0                	sub    %eax,%esi
180021a58:	41 6b c4 c4          	imul   $0xffffffc4,%r12d,%eax
180021a5c:	44 03 f0             	add    %eax,%r14d
180021a5f:	83 ff 01             	cmp    $0x1,%edi
180021a62:	0f 82 34 01 00 00    	jb     0x180021b9c
180021a68:	8a 03                	mov    (%rbx),%al
180021a6a:	3c 5a                	cmp    $0x5a,%al
180021a6c:	75 0a                	jne    0x180021a78
180021a6e:	41 b5 01             	mov    $0x1,%r13b
180021a71:	ff cf                	dec    %edi
180021a73:	e9 c7 00 00 00       	jmp    0x180021b3f
180021a78:	3c 2b                	cmp    $0x2b,%al
180021a7a:	75 60                	jne    0x180021adc
180021a7c:	ff cf                	dec    %edi
180021a7e:	48 8d 4b 01          	lea    0x1(%rbx),%rcx
180021a82:	8b d7                	mov    %edi,%edx
180021a84:	4c 8d 4d c4          	lea    -0x3c(%rbp),%r9
180021a88:	4c 8d 45 c0          	lea    -0x40(%rbp),%r8
180021a8c:	e8 4b fa ff ff       	call   0x1800214dc
180021a91:	44 8b 55 c4          	mov    -0x3c(%rbp),%r10d
180021a95:	b9 01 00 00 00       	mov    $0x1,%ecx
180021a9a:	8b 55 c0             	mov    -0x40(%rbp),%edx
180021a9d:	2b f8                	sub    %eax,%edi
180021a9f:	45 8d 42 fc          	lea    -0x4(%r10),%r8d
180021aa3:	e8 b0 fa ff ff       	call   0x180021558
180021aa8:	44 8b f8             	mov    %eax,%r15d
180021aab:	45 8d 42 fe          	lea    -0x2(%r10),%r8d
180021aaf:	b8 1f 85 eb 51       	mov    $0x51eb851f,%eax
180021ab4:	b9 01 00 00 00       	mov    $0x1,%ecx
180021ab9:	41 f7 ef             	imul   %r15d
180021abc:	c1 fa 05             	sar    $0x5,%edx
180021abf:	8b c2                	mov    %edx,%eax
180021ac1:	c1 e8 1f             	shr    $0x1f,%eax
180021ac4:	03 d0                	add    %eax,%edx
180021ac6:	6b c2 64             	imul   $0x64,%edx,%eax
180021ac9:	8b 55 c0             	mov    -0x40(%rbp),%edx
180021acc:	44 2b f8             	sub    %eax,%r15d
180021acf:	e8 84 fa ff ff       	call   0x180021558
180021ad4:	6b c8 3c             	imul   $0x3c,%eax,%ecx
180021ad7:	44 03 f9             	add    %ecx,%r15d
180021ada:	eb 63                	jmp    0x180021b3f
180021adc:	3c 2d                	cmp    $0x2d,%al
180021ade:	75 5f                	jne    0x180021b3f
180021ae0:	ff cf                	dec    %edi
180021ae2:	48 8d 4b 01          	lea    0x1(%rbx),%rcx
180021ae6:	8b d7                	mov    %edi,%edx
180021ae8:	4c 8d 4d c4          	lea    -0x3c(%rbp),%r9
180021aec:	4c 8d 45 c0          	lea    -0x40(%rbp),%r8
180021af0:	e8 e7 f9 ff ff       	call   0x1800214dc
180021af5:	44 8b 55 c4          	mov    -0x3c(%rbp),%r10d
180021af9:	b9 01 00 00 00       	mov    $0x1,%ecx
180021afe:	8b 55 c0             	mov    -0x40(%rbp),%edx
180021b01:	2b f8                	sub    %eax,%edi
180021b03:	45 8d 42 fc          	lea    -0x4(%r10),%r8d
180021b07:	e8 4c fa ff ff       	call   0x180021558
180021b0c:	44 8b d8             	mov    %eax,%r11d
180021b0f:	45 8d 42 fe          	lea    -0x2(%r10),%r8d
180021b13:	b8 1f 85 eb 51       	mov    $0x51eb851f,%eax
180021b18:	41 f7 eb             	imul   %r11d
180021b1b:	c1 fa 05             	sar    $0x5,%edx
180021b1e:	8b ca                	mov    %edx,%ecx
180021b20:	c1 e9 1f             	shr    $0x1f,%ecx
180021b23:	03 d1                	add    %ecx,%edx
180021b25:	6b ca 64             	imul   $0x64,%edx,%ecx
180021b28:	8b 55 c0             	mov    -0x40(%rbp),%edx
180021b2b:	44 2b d9             	sub    %ecx,%r11d
180021b2e:	b9 01 00 00 00       	mov    $0x1,%ecx
180021b33:	e8 20 fa ff ff       	call   0x180021558
180021b38:	44 6b f8 c4          	imul   $0xffffffc4,%eax,%r15d
180021b3c:	45 2b fb             	sub    %r11d,%r15d
180021b3f:	85 ff                	test   %edi,%edi
180021b41:	75 59                	jne    0x180021b9c
180021b43:	8b 45 d8             	mov    -0x28(%rbp),%eax
180021b46:	48 8d 4d c8          	lea    -0x38(%rbp),%rcx
180021b4a:	48 8b 5d e8          	mov    -0x18(%rbp),%rbx
180021b4e:	66 89 45 c8          	mov    %ax,-0x38(%rbp)
180021b52:	48 8b d3             	mov    %rbx,%rdx
180021b55:	8b 45 dc             	mov    -0x24(%rbp),%eax
180021b58:	66 89 45 ca          	mov    %ax,-0x36(%rbp)
180021b5c:	8b 45 e0             	mov    -0x20(%rbp),%eax
180021b5f:	66 89 45 cc          	mov    %ax,-0x34(%rbp)
180021b63:	8b 45 e4             	mov    -0x1c(%rbp),%eax
180021b66:	66 89 45 ce          	mov    %ax,-0x32(%rbp)
180021b6a:	66 89 7d d6          	mov    %di,-0x2a(%rbp)
180021b6e:	66 44 89 65 d0       	mov    %r12w,-0x30(%rbp)
180021b73:	66 44 89 75 d2       	mov    %r14w,-0x2e(%rbp)
180021b78:	66 89 75 d4          	mov    %si,-0x2c(%rbp)
180021b7c:	e8 3b 20 01 00       	call   0x180033bbc
180021b81:	84 c0                	test   %al,%al
180021b83:	74 17                	je     0x180021b9c
180021b85:	45 8a c5             	mov    %r13b,%r8b
180021b88:	41 0f b7 d7          	movzwl %r15w,%edx
180021b8c:	48 8b cb             	mov    %rbx,%rcx
180021b8f:	e8 60 f8 ff ff       	call   0x1800213f4
180021b94:	84 c0                	test   %al,%al
180021b96:	74 04                	je     0x180021b9c
180021b98:	b0 01                	mov    $0x1,%al
180021b9a:	eb 02                	jmp    0x180021b9e
180021b9c:	32 c0                	xor    %al,%al
180021b9e:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
180021ba2:	48 33 cc             	xor    %rsp,%rcx
180021ba5:	e8 82 3f ff ff       	call   0x180015b2c
180021baa:	48 8b 9c 24 b0 00 00 	mov    0xb0(%rsp),%rbx
180021bb1:	00
180021bb2:	48 83 c4 60          	add    $0x60,%rsp
180021bb6:	41 5f                	pop    %r15
180021bb8:	41 5e                	pop    %r14
180021bba:	41 5d                	pop    %r13
180021bbc:	41 5c                	pop    %r12
180021bbe:	5f                   	pop    %rdi
180021bbf:	5e                   	pop    %rsi
180021bc0:	5d                   	pop    %rbp
180021bc1:	c3                   	ret
180021bc2:	cc                   	int3
180021bc3:	cc                   	int3
180021bc4:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
180021bc9:	55                   	push   %rbp
180021bca:	48 8b ec             	mov    %rsp,%rbp
180021bcd:	48 83 ec 60          	sub    $0x60,%rsp
180021bd1:	83 65 ec 00          	andl   $0x0,-0x14(%rbp)
180021bd5:	0f 57 c0             	xorps  %xmm0,%xmm0
180021bd8:	c6 45 d0 00          	movb   $0x0,-0x30(%rbp)
180021bdc:	41 8b d8             	mov    %r8d,%ebx
180021bdf:	48 89 4d f0          	mov    %rcx,-0x10(%rbp)
180021be3:	89 55 e8             	mov    %edx,-0x18(%rbp)
180021be6:	0f 11 45 d8          	movups %xmm0,-0x28(%rbp)
180021bea:	85 d2                	test   %edx,%edx
180021bec:	0f 84 80 00 00 00    	je     0x180021c72
180021bf2:	89 54 24 20          	mov    %edx,0x20(%rsp)
180021bf6:	4c 8d 4d d8          	lea    -0x28(%rbp),%r9
180021bfa:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
180021bfe:	4c 8d 45 d0          	lea    -0x30(%rbp),%r8
180021c02:	48 8d 0d 77 81 12 00 	lea    0x128177(%rip),%rcx        # 0x180149d80
180021c09:	e8 d6 e5 ff ff       	call   0x1800201e4