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
180021c0e:	85 c0                	test   %eax,%eax
180021c10:	78 60                	js     0x180021c72
180021c12:	80 7d d0 00          	cmpb   $0x0,-0x30(%rbp)
180021c16:	74 5a                	je     0x180021c72
180021c18:	83 7d d8 02          	cmpl   $0x2,-0x28(%rbp)
180021c1c:	75 54                	jne    0x180021c72
180021c1e:	48 8b 45 e0          	mov    -0x20(%rbp),%rax
180021c22:	b9 64 86 00 00       	mov    $0x8664,%ecx
180021c27:	66 39 08             	cmp    %cx,(%rax)
180021c2a:	75 46                	jne    0x180021c72
180021c2c:	8b 45 e8             	mov    -0x18(%rbp),%eax
180021c2f:	85 c0                	test   %eax,%eax
180021c31:	74 38                	je     0x180021c6b
180021c33:	4c 8d 4d d8          	lea    -0x28(%rbp),%r9
180021c37:	89 44 24 20          	mov    %eax,0x20(%rsp)
180021c3b:	4c 8d 45 d0          	lea    -0x30(%rbp),%r8
180021c3f:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
180021c43:	48 8d 0d e6 80 12 00 	lea    0x1280e6(%rip),%rcx        # 0x180149d30
180021c4a:	e8 95 e5 ff ff       	call   0x1800201e4
180021c4f:	85 c0                	test   %eax,%eax
180021c51:	78 18                	js     0x180021c6b
180021c53:	80 7d d0 00          	cmpb   $0x0,-0x30(%rbp)
180021c57:	74 12                	je     0x180021c6b
180021c59:	83 7d d8 04          	cmpl   $0x4,-0x28(%rbp)
180021c5d:	75 0c                	jne    0x180021c6b
180021c5f:	48 8b 45 e0          	mov    -0x20(%rbp),%rax
180021c63:	39 18                	cmp    %ebx,(%rax)
180021c65:	75 04                	jne    0x180021c6b
180021c67:	33 c0                	xor    %eax,%eax
180021c69:	eb 0c                	jmp    0x180021c77
180021c6b:	b8 24 00 00 c0       	mov    $0xc0000024,%eax
180021c70:	eb 05                	jmp    0x180021c77
180021c72:	b8 59 00 00 c0       	mov    $0xc0000059,%eax
180021c77:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
180021c7e:	00
180021c7f:	48 83 c4 60          	add    $0x60,%rsp
180021c83:	5d                   	pop    %rbp
180021c84:	c3                   	ret
180021c85:	cc                   	int3
180021c86:	cc                   	int3
180021c87:	cc                   	int3
180021c88:	48 83 ec 28          	sub    $0x28,%rsp
180021c8c:	49 8b c0             	mov    %r8,%rax
180021c8f:	4c 8b ca             	mov    %rdx,%r9
180021c92:	4c 8b c1             	mov    %rcx,%r8
180021c95:	48 8b d0             	mov    %rax,%rdx
180021c98:	49 8b c9             	mov    %r9,%rcx
180021c9b:	e8 e0 94 10 00       	call   0x18012b180
180021ca0:	48 83 c4 28          	add    $0x28,%rsp
180021ca4:	c3                   	ret
180021ca5:	cc                   	int3
180021ca6:	cc                   	int3
180021ca7:	cc                   	int3
180021ca8:	48 83 ec 28          	sub    $0x28,%rsp
180021cac:	44 8b 01             	mov    (%rcx),%r8d
180021caf:	44 8b 0a             	mov    (%rdx),%r9d
180021cb2:	45 3b c1             	cmp    %r9d,%r8d
180021cb5:	75 0f                	jne    0x180021cc6
180021cb7:	48 8b 52 08          	mov    0x8(%rdx),%rdx
180021cbb:	48 8b 49 08          	mov    0x8(%rcx),%rcx
180021cbf:	e8 bc 94 10 00       	call   0x18012b180
180021cc4:	eb 0f                	jmp    0x180021cd5
180021cc6:	33 c9                	xor    %ecx,%ecx
180021cc8:	45 3b c1             	cmp    %r9d,%r8d
180021ccb:	8b c1                	mov    %ecx,%eax
180021ccd:	0f 97 c0             	seta   %al
180021cd0:	0f 92 c1             	setb   %cl
180021cd3:	2b c1                	sub    %ecx,%eax
180021cd5:	48 83 c4 28          	add    $0x28,%rsp
180021cd9:	c3                   	ret
180021cda:	cc                   	int3
180021cdb:	cc                   	int3
180021cdc:	48 83 ec 28          	sub    $0x28,%rsp
180021ce0:	48 8b ca             	mov    %rdx,%rcx
180021ce3:	49 8b d0             	mov    %r8,%rdx
180021ce6:	e8 bd ff ff ff       	call   0x180021ca8
180021ceb:	48 83 c4 28          	add    $0x28,%rsp
180021cef:	c3                   	ret
180021cf0:	cc                   	int3
180021cf1:	cc                   	int3
180021cf2:	cc                   	int3
180021cf3:	cc                   	int3
180021cf4:	48 83 ec 38          	sub    $0x38,%rsp
180021cf8:	4c 8b d2             	mov    %rdx,%r10
180021cfb:	41 83 f8 10          	cmp    $0x10,%r8d
180021cff:	0f 82 96 00 00 00    	jb     0x180021d9b
180021d05:	81 e9 03 80 00 00    	sub    $0x8003,%ecx
180021d0b:	74 30                	je     0x180021d3d
180021d0d:	83 e9 01             	sub    $0x1,%ecx
180021d10:	74 24                	je     0x180021d36
180021d12:	83 e9 08             	sub    $0x8,%ecx
180021d15:	74 18                	je     0x180021d2f
180021d17:	83 e9 01             	sub    $0x1,%ecx
180021d1a:	74 0c                	je     0x180021d28
180021d1c:	83 f9 01             	cmp    $0x1,%ecx
180021d1f:	75 7a                	jne    0x180021d9b
180021d21:	b9 04 00 00 00       	mov    $0x4,%ecx
180021d26:	eb 17                	jmp    0x180021d3f
180021d28:	b9 03 00 00 00       	mov    $0x3,%ecx
180021d2d:	eb 10                	jmp    0x180021d3f
180021d2f:	b9 02 00 00 00       	mov    $0x2,%ecx
180021d34:	eb 09                	jmp    0x180021d3f
180021d36:	b9 01 00 00 00       	mov    $0x1,%ecx
180021d3b:	eb 02                	jmp    0x180021d3f
180021d3d:	33 c9                	xor    %ecx,%ecx
180021d3f:	41 8a c1             	mov    %r9b,%al
180021d42:	4c 8d 1d 17 35 17 00 	lea    0x173517(%rip),%r11        # 0x180195260
180021d49:	f6 d8                	neg    %al
180021d4b:	8d 41 05             	lea    0x5(%rcx),%eax
180021d4e:	45 1b c0             	sbb    %r8d,%r8d
180021d51:	41 83 e0 04          	and    $0x4,%r8d
180021d55:	41 83 c0 10          	add    $0x10,%r8d
180021d59:	45 84 c9             	test   %r9b,%r9b
180021d5c:	0f 44 c1             	cmove  %ecx,%eax
180021d5f:	8b c8                	mov    %eax,%ecx
180021d61:	48 03 c9             	add    %rcx,%rcx
180021d64:	41 8b 04 cb          	mov    (%r11,%rcx,8),%eax
180021d68:	85 c0                	test   %eax,%eax
180021d6a:	74 2f                	je     0x180021d9b
180021d6c:	33 d2                	xor    %edx,%edx
180021d6e:	45 8b c8             	mov    %r8d,%r9d
180021d71:	41 f7 f0             	div    %r8d
180021d74:	49 8b 54 cb 08       	mov    0x8(%r11,%rcx,8),%rdx
180021d79:	49 8b ca             	mov    %r10,%rcx
180021d7c:	44 8b c0             	mov    %eax,%r8d
180021d7f:	48 8d 05 02 ff ff ff 	lea    -0xfe(%rip),%rax        # 0x180021c88
180021d86:	48 c7 44 24 28 10 00 	movq   $0x10,0x28(%rsp)
180021d8d:	00 00
180021d8f:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180021d94:	e8 8f 9d 10 00       	call   0x18012bb28
180021d99:	eb 02                	jmp    0x180021d9d
180021d9b:	33 c0                	xor    %eax,%eax
180021d9d:	48 83 c4 38          	add    $0x38,%rsp
180021da1:	c3                   	ret
180021da2:	cc                   	int3
180021da3:	cc                   	int3
180021da4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180021da9:	57                   	push   %rdi
180021daa:	48 83 ec 30          	sub    $0x30,%rsp
180021dae:	49 8b f9             	mov    %r9,%rdi
180021db1:	4c 8b da             	mov    %rdx,%r11
180021db4:	81 e9 03 80 00 00    	sub    $0x8003,%ecx
180021dba:	74 54                	je     0x180021e10
180021dbc:	83 e9 01             	sub    $0x1,%ecx
180021dbf:	74 40                	je     0x180021e01
180021dc1:	83 e9 08             	sub    $0x8,%ecx
180021dc4:	74 2c                	je     0x180021df2
180021dc6:	83 e9 01             	sub    $0x1,%ecx
180021dc9:	74 18                	je     0x180021de3
180021dcb:	83 f9 01             	cmp    $0x1,%ecx
180021dce:	0f 85 b6 00 00 00    	jne    0x180021e8a
180021dd4:	8b 05 66 35 17 00    	mov    0x173566(%rip),%eax        # 0x180195340
180021dda:	4c 8d 15 67 35 17 00 	lea    0x173567(%rip),%r10        # 0x180195348
180021de1:	eb 3a                	jmp    0x180021e1d
180021de3:	8b 05 47 35 17 00    	mov    0x173547(%rip),%eax        # 0x180195330
180021de9:	4c 8d 15 48 35 17 00 	lea    0x173548(%rip),%r10        # 0x180195338
180021df0:	eb 2b                	jmp    0x180021e1d
180021df2:	8b 05 28 35 17 00    	mov    0x173528(%rip),%eax        # 0x180195320
180021df8:	4c 8d 15 29 35 17 00 	lea    0x173529(%rip),%r10        # 0x180195328
180021dff:	eb 1c                	jmp    0x180021e1d
180021e01:	8b 05 09 35 17 00    	mov    0x173509(%rip),%eax        # 0x180195310
180021e07:	4c 8d 15 0a 35 17 00 	lea    0x17350a(%rip),%r10        # 0x180195318
180021e0e:	eb 0d                	jmp    0x180021e1d
180021e10:	8b 05 ea 34 17 00    	mov    0x1734ea(%rip),%eax        # 0x180195300
180021e16:	4c 8d 15 eb 34 17 00 	lea    0x1734eb(%rip),%r10        # 0x180195308
180021e1d:	85 c0                	test   %eax,%eax
180021e1f:	74 69                	je     0x180021e8a
180021e21:	41 8d 48 0c          	lea    0xc(%r8),%ecx
180021e25:	41 8b d8             	mov    %r8d,%ebx
180021e28:	33 d2                	xor    %edx,%edx
180021e2a:	44 8b c9             	mov    %ecx,%r9d
180021e2d:	f7 f1                	div    %ecx
180021e2f:	49 8b 12             	mov    (%r10),%rdx
180021e32:	49 8b cb             	mov    %r11,%rcx
180021e35:	44 8b c0             	mov    %eax,%r8d