18006095d:	45 8b f6             	mov    %r14d,%r14d
180060960:	e8 ff ca ff ff       	call   0x18005d464
180060965:	8b cb                	mov    %ebx,%ecx
180060967:	49 8d 56 ff          	lea    -0x1(%r14),%rdx
18006096b:	48 f7 d2             	not    %rdx
18006096e:	48 23 c2             	and    %rdx,%rax
180060971:	48 8b d0             	mov    %rax,%rdx
180060974:	48 89 45 40          	mov    %rax,0x40(%rbp)
180060978:	48 d3 ea             	shr    %cl,%rdx
18006097b:	48 8b 4f 58          	mov    0x58(%rdi),%rcx
18006097f:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
180060984:	8b d2                	mov    %edx,%edx
180060986:	48 0f a3 11          	bt     %rdx,(%rcx)
18006098a:	72 09                	jb     0x180060995
18006098c:	4c 01 66 50          	add    %r12,0x50(%rsi)
180060990:	e9 2f 01 00 00       	jmp    0x180060ac4
180060995:	83 65 c0 00          	andl   $0x0,-0x40(%rbp)
180060999:	48 89 45 a8          	mov    %rax,-0x58(%rbp)
18006099d:	48 8b 47 08          	mov    0x8(%rdi),%rax
1800609a1:	44 89 75 b0          	mov    %r14d,-0x50(%rbp)
1800609a5:	48 8b 88 58 01 00 00 	mov    0x158(%rax),%rcx
1800609ac:	44 8b 71 28          	mov    0x28(%rcx),%r14d
1800609b0:	48 8b 47 20          	mov    0x20(%rdi),%rax
1800609b4:	48 85 c0             	test   %rax,%rax
1800609b7:	74 06                	je     0x1800609bf
1800609b9:	48 83 c0 58          	add    $0x58,%rax
1800609bd:	eb 08                	jmp    0x1800609c7
1800609bf:	48 8b 47 08          	mov    0x8(%rdi),%rax
1800609c3:	48 83 c0 50          	add    $0x50,%rax
1800609c7:	44 3b 70 10          	cmp    0x10(%rax),%r14d
1800609cb:	0f 83 c3 00 00 00    	jae    0x180060a94
1800609d1:	48 8d 45 c0          	lea    -0x40(%rbp),%rax
1800609d5:	b9 e0 00 00 00       	mov    $0xe0,%ecx
1800609da:	44 0f ab 30          	bts    %r14d,(%rax)
1800609de:	e8 31 5f fe ff       	call   0x180046914
1800609e3:	48 85 c0             	test   %rax,%rax
1800609e6:	74 0d                	je     0x1800609f5
1800609e8:	48 8b c8             	mov    %rax,%rcx
1800609eb:	e8 78 65 fe ff       	call   0x180046f68
1800609f0:	48 8b d8             	mov    %rax,%rbx
1800609f3:	eb 02                	jmp    0x1800609f7
1800609f5:	33 db                	xor    %ebx,%ebx
1800609f7:	48 85 db             	test   %rbx,%rbx
1800609fa:	0f 84 f2 00 00 00    	je     0x180060af2
180060a00:	8a 4f 2a             	mov    0x2a(%rdi),%cl
180060a03:	45 33 c0             	xor    %r8d,%r8d
180060a06:	41 b9 01 00 00 00    	mov    $0x1,%r9d
180060a0c:	49 d3 e1             	shl    %cl,%r9
180060a0f:	48 8d 4b 60          	lea    0x60(%rbx),%rcx
180060a13:	41 8d 50 03          	lea    0x3(%r8),%edx
180060a17:	e8 80 61 fe ff       	call   0x180046b9c
180060a1c:	89 46 48             	mov    %eax,0x48(%rsi)
180060a1f:	85 c0                	test   %eax,%eax
180060a21:	0f 88 b6 00 00 00    	js     0x180060add
180060a27:	48 8b 45 40          	mov    0x40(%rbp),%rax
180060a2b:	45 8b c6             	mov    %r14d,%r8d
180060a2e:	48 8b 54 24 20       	mov    0x20(%rsp),%rdx
180060a33:	48 89 43 78          	mov    %rax,0x78(%rbx)
180060a37:	b8 01 00 00 00       	mov    $0x1,%eax
180060a3c:	8a 4f 2a             	mov    0x2a(%rdi),%cl
180060a3f:	48 d3 e0             	shl    %cl,%rax
180060a42:	48 8b cf             	mov    %rdi,%rcx
180060a45:	89 83 80 00 00 00    	mov    %eax,0x80(%rbx)
180060a4b:	e8 6c c9 ff ff       	call   0x18005d3bc
180060a50:	89 83 84 00 00 00    	mov    %eax,0x84(%rbx)
180060a56:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
180060a5a:	c6 83 98 00 00 00 04 	movb   $0x4,0x98(%rbx)
180060a61:	48 89 bb d8 00 00 00 	mov    %rdi,0xd8(%rbx)
180060a68:	48 81 c3 b0 00 00 00 	add    $0xb0,%rbx
180060a6f:	48 8b 45 80          	mov    -0x80(%rbp),%rax
180060a73:	48 39 48 08          	cmp    %rcx,0x8(%rax)
180060a77:	75 5d                	jne    0x180060ad6
180060a79:	48 89 03             	mov    %rax,(%rbx)
180060a7c:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
180060a80:	48 89 4b 08          	mov    %rcx,0x8(%rbx)
180060a84:	41 ff c6             	inc    %r14d
180060a87:	48 89 58 08          	mov    %rbx,0x8(%rax)
180060a8b:	48 89 5d 80          	mov    %rbx,-0x80(%rbp)
180060a8f:	e9 1c ff ff ff       	jmp    0x1800609b0
180060a94:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
180060a99:	48 8b cf             	mov    %rdi,%rcx
180060a9c:	e8 8b 00 00 00       	call   0x180060b2c
180060aa1:	89 46 48             	mov    %eax,0x48(%rsi)
180060aa4:	48 8b ce             	mov    %rsi,%rcx
180060aa7:	48 8b 06             	mov    (%rsi),%rax
180060aaa:	48 8b 00             	mov    (%rax),%rax
180060aad:	ff d0                	call   *%rax
180060aaf:	0f 1f 00             	nopl   (%rax)
180060ab2:	84 c0                	test   %al,%al
180060ab4:	75 43                	jne    0x180060af9
180060ab6:	4c 01 66 50          	add    %r12,0x50(%rsi)
180060aba:	83 7e 48 00          	cmpl   $0x0,0x48(%rsi)
180060abe:	7c 39                	jl     0x180060af9
180060ac0:	83 66 48 00          	andl   $0x0,0x48(%rsi)
180060ac4:	4d 03 fc             	add    %r12,%r15
180060ac7:	4d 3b fd             	cmp    %r13,%r15
180060aca:	73 2d                	jae    0x180060af9
180060acc:	4c 8b 44 24 28       	mov    0x28(%rsp),%r8
180060ad1:	e9 53 fe ff ff       	jmp    0x180060929
180060ad6:	b9 03 00 00 00       	mov    $0x3,%ecx
180060adb:	cd 29                	int    $0x29
180060add:	48 8b 03             	mov    (%rbx),%rax
180060ae0:	ba 01 00 00 00       	mov    $0x1,%edx
180060ae5:	48 8b cb             	mov    %rbx,%rcx
180060ae8:	48 8b 00             	mov    (%rax),%rax
180060aeb:	ff d0                	call   *%rax
180060aed:	0f 1f 00             	nopl   (%rax)
180060af0:	eb 07                	jmp    0x180060af9
180060af2:	c7 46 48 9a 00 00 c0 	movl   $0xc000009a,0x48(%rsi)
180060af9:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
180060afe:	e8 35 65 fe ff       	call   0x180047038
180060b03:	4c 8d 9c 24 10 01 00 	lea    0x110(%rsp),%r11
180060b0a:	00
180060b0b:	b8 02 00 e7 00       	mov    $0xe70002,%eax
180060b10:	49 8b 5b 38          	mov    0x38(%r11),%rbx
180060b14:	49 8b 73 40          	mov    0x40(%r11),%rsi
180060b18:	49 8b 7b 48          	mov    0x48(%r11),%rdi
180060b1c:	49 8b e3             	mov    %r11,%rsp
180060b1f:	41 5f                	pop    %r15
180060b21:	41 5e                	pop    %r14
180060b23:	41 5d                	pop    %r13
180060b25:	41 5c                	pop    %r12
180060b27:	5d                   	pop    %rbp
180060b28:	c3                   	ret
180060b29:	cc                   	int3
180060b2a:	cc                   	int3
180060b2b:	cc                   	int3
180060b2c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180060b31:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
180060b36:	57                   	push   %rdi
180060b37:	48 83 ec 20          	sub    $0x20,%rsp
180060b3b:	48 8b da             	mov    %rdx,%rbx
180060b3e:	48 8b f9             	mov    %rcx,%rdi
180060b41:	8a 49 2a             	mov    0x2a(%rcx),%cl
180060b44:	48 8b 52 78          	mov    0x78(%rdx),%rdx
180060b48:	48 d3 ea             	shr    %cl,%rdx
180060b4b:	48 8b cf             	mov    %rdi,%rcx
180060b4e:	e8 35 ce ff ff       	call   0x18005d988
180060b53:	84 c0                	test   %al,%al
180060b55:	75 0a                	jne    0x180060b61
180060b57:	be a3 00 00 c0       	mov    $0xc00000a3,%esi
180060b5c:	e9 8d 00 00 00       	jmp    0x180060bee
180060b61:	83 4b 3c 04          	orl    $0x4,0x3c(%rbx)
180060b65:	41 b0 14             	mov    $0x14,%r8b
180060b68:	48 8b d3             	mov    %rbx,%rdx
180060b6b:	66 c7 83 99 00 00 00 	movw   $0x40f,0x99(%rbx)
180060b72:	0f 04
180060b74:	48 8b cf             	mov    %rdi,%rcx
180060b77:	48 89 bb d0 00 00 00 	mov    %rdi,0xd0(%rbx)
180060b7e:	48 89 bb d8 00 00 00 	mov    %rdi,0xd8(%rbx)
180060b85:	e8 86 69 fe ff       	call   0x180047510
180060b8a:	41 b0 16             	mov    $0x16,%r8b
180060b8d:	c6 83 98 00 00 00 03 	movb   $0x3,0x98(%rbx)
180060b94:	48 8b d3             	mov    %rbx,%rdx
180060b97:	c6 83 9a 00 00 00 05 	movb   $0x5,0x9a(%rbx)
180060b9e:	48 8b cf             	mov    %rdi,%rcx
180060ba1:	e8 6a 69 fe ff       	call   0x180047510
180060ba6:	8b b3 a0 00 00 00    	mov    0xa0(%rbx),%esi
180060bac:	85 f6                	test   %esi,%esi
180060bae:	78 33                	js     0x180060be3
180060bb0:	48 8d 43 50          	lea    0x50(%rbx),%rax
180060bb4:	c6 83 98 00 00 00 04 	movb   $0x4,0x98(%rbx)
180060bbb:	c6 83 9a 00 00 00 01 	movb   $0x1,0x9a(%rbx)
180060bc2:	48 39 00             	cmp    %rax,(%rax)
180060bc5:	74 05                	je     0x180060bcc
180060bc7:	41 b0 19             	mov    $0x19,%r8b
180060bca:	eb 06                	jmp    0x180060bd2
180060bcc:	8b 43 3c             	mov    0x3c(%rbx),%eax
180060bcf:	41 b0 0a             	mov    $0xa,%r8b
180060bd2:	48 8b d3             	mov    %rbx,%rdx
180060bd5:	48 8b cf             	mov    %rdi,%rcx
180060bd8:	e8 33 69 fe ff       	call   0x180047510
180060bdd:	8b b3 a0 00 00 00    	mov    0xa0(%rbx),%esi
180060be3:	48 8b d3             	mov    %rbx,%rdx
180060be6:	48 8b cf             	mov    %rdi,%rcx
180060be9:	e8 ca 17 ff ff       	call   0x1800523b8
180060bee:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180060bf3:	8b c6                	mov    %esi,%eax
180060bf5:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
180060bfa:	48 83 c4 20          	add    $0x20,%rsp
180060bfe:	5f                   	pop    %rdi
180060bff:	c3                   	ret
180060c00:	cc                   	int3
180060c01:	cc                   	int3
180060c02:	cc                   	int3
180060c03:	cc                   	int3
180060c04:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180060c09:	57                   	push   %rdi
180060c0a:	48 83 ec 20          	sub    $0x20,%rsp
180060c0e:	48 8b fa             	mov    %rdx,%rdi
180060c11:	48 8b d9             	mov    %rcx,%rbx
180060c14:	e8 f3 80 ff ff       	call   0x180058d0c
180060c19:	48 85 ff             	test   %rdi,%rdi
180060c1c:	74 35                	je     0x180060c53
180060c1e:	48 8b 07             	mov    (%rdi),%rax
180060c21:	48 8b cf             	mov    %rdi,%rcx
180060c24:	48 8b 53 10          	mov    0x10(%rbx),%rdx
180060c28:	48 8b 40 68          	mov    0x68(%rax),%rax
180060c2c:	ff d0                	call   *%rax
180060c2e:	0f 1f 00             	nopl   (%rax)
180060c31:	48 85 c0             	test   %rax,%rax
180060c34:	74 1d                	je     0x180060c53
180060c36:	8a 48 48             	mov    0x48(%rax),%cl
180060c39:	88 4b 48             	mov    %cl,0x48(%rbx)
180060c3c:	48 8b 50 58          	mov    0x58(%rax),%rdx
180060c40:	8b 48 50             	mov    0x50(%rax),%ecx
180060c43:	48 89 53 58          	mov    %rdx,0x58(%rbx)
180060c47:	89 4b 50             	mov    %ecx,0x50(%rbx)
180060c4a:	83 60 50 00          	andl   $0x0,0x50(%rax)
180060c4e:	48 83 60 58 00       	andq   $0x0,0x58(%rax)
180060c53:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180060c58:	48 83 c4 20          	add    $0x20,%rsp
180060c5c:	5f                   	pop    %rdi
180060c5d:	c3                   	ret
180060c5e:	cc                   	int3
180060c5f:	cc                   	int3
180060c60:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180060c65:	44 8b 59 08          	mov    0x8(%rcx),%r11d
180060c69:	bb 01 00 00 00       	mov    $0x1,%ebx
180060c6e:	8a 41 04             	mov    0x4(%rcx),%al
180060c71:	44 8a cb             	mov    %bl,%r9b
180060c74:	45 8d 14 13          	lea    (%r11,%rdx,1),%r10d
180060c78:	84 c0                	test   %al,%al
180060c7a:	74 31                	je     0x180060cad
180060c7c:	3c ee                	cmp    $0xee,%al
180060c7e:	74 2d                	je     0x180060cad
180060c80:	45 32 c9             	xor    %r9b,%r9b
180060c83:	3c 05                	cmp    $0x5,%al
180060c85:	74 04                	je     0x180060c8b
180060c87:	3c 0f                	cmp    $0xf,%al
180060c89:	75 05                	jne    0x180060c90
180060c8b:	45 85 db             	test   %r11d,%r11d
180060c8e:	74 1d                	je     0x180060cad
180060c90:	4d 3b d0             	cmp    %r8,%r10
180060c93:	73 18                	jae    0x180060cad
180060c95:	8b 49 0c             	mov    0xc(%rcx),%ecx
180060c98:	4b 8d 14 40          	lea    (%r8,%r8,2),%rdx
180060c9c:	48 d1 ea             	shr    $1,%rdx
180060c9f:	49 2b d2             	sub    %r10,%rdx
180060ca2:	45 0f b6 c9          	movzbl %r9b,%r9d
180060ca6:	48 3b ca             	cmp    %rdx,%rcx
180060ca9:	44 0f 46 cb          	cmovbe %ebx,%r9d
180060cad:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
180060cb2:	41 8a c1             	mov    %r9b,%al
180060cb5:	c3                   	ret
180060cb6:	cc                   	int3
180060cb7:	cc                   	int3
180060cb8:	0f 57 c9             	xorps  %xmm1,%xmm1
180060cbb:	b8 20 00 00 00       	mov    $0x20,%eax
180060cc0:	f3 0f 6f 01          	movdqu (%rcx),%xmm0
180060cc4:	48 8d 49 10          	lea    0x10(%rcx),%rcx
180060cc8:	66 0f fe c1          	paddd  %xmm1,%xmm0
180060ccc:	66 0f 6f c8          	movdqa %xmm0,%xmm1
180060cd0:	48 83 e8 01          	sub    $0x1,%rax
180060cd4:	75 ea                	jne    0x180060cc0
180060cd6:	66 0f 73 d8 08       	psrldq $0x8,%xmm0
180060cdb:	66 0f fe c8          	paddd  %xmm0,%xmm1
180060cdf:	66 0f 6f c1          	movdqa %xmm1,%xmm0
180060ce3:	66 0f 73 d8 04       	psrldq $0x4,%xmm0
180060ce8:	66 0f fe c8          	paddd  %xmm0,%xmm1
180060cec:	66 0f 7e c8          	movd   %xmm1,%eax
180060cf0:	f7 d0                	not    %eax
180060cf2:	ff c0                	inc    %eax
180060cf4:	c3                   	ret
180060cf5:	cc                   	int3
180060cf6:	cc                   	int3
180060cf7:	cc                   	int3
180060cf8:	48 89 11             	mov    %rdx,(%rcx)
180060cfb:	41 b8 00 04 00 00    	mov    $0x400,%r8d
180060d01:	48 8b 82 d0 00 00 00 	mov    0xd0(%rdx),%rax
180060d08:	48 85 c0             	test   %rax,%rax
180060d0b:	74 05                	je     0x180060d12
180060d0d:	49 3b c0             	cmp    %r8,%rax
180060d10:	7e 0a                	jle    0x180060d1c
180060d12:	4c 89 82 d0 00 00 00 	mov    %r8,0xd0(%rdx)
180060d19:	48 8b 11             	mov    (%rcx),%rdx
180060d1c:	8b 82 dc 00 00 00    	mov    0xdc(%rdx),%eax
180060d22:	41 b8 ff 00 00 00    	mov    $0xff,%r8d
180060d28:	85 c0                	test   %eax,%eax
180060d2a:	74 05                	je     0x180060d31
180060d2c:	41 3b c0             	cmp    %r8d,%eax
180060d2f:	76 0a                	jbe    0x180060d3b
180060d31:	44 89 82 dc 00 00 00 	mov    %r8d,0xdc(%rdx)
180060d38:	48 8b 11             	mov    (%rcx),%rdx
180060d3b:	8b 82 e0 00 00 00    	mov    0xe0(%rdx),%eax
180060d41:	ff c8                	dec    %eax
180060d43:	83 f8 3e             	cmp    $0x3e,%eax
180060d46:	76 0a                	jbe    0x180060d52
180060d48:	c7 82 e0 00 00 00 3f 	movl   $0x3f,0xe0(%rdx)
180060d4f:	00 00 00
180060d52:	c3                   	ret
180060d53:	cc                   	int3
180060d54:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
180060d59:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
180060d5e:	53                   	push   %rbx
180060d5f:	55                   	push   %rbp
180060d60:	56                   	push   %rsi
180060d61:	57                   	push   %rdi
180060d62:	41 54                	push   %r12
180060d64:	41 55                	push   %r13
180060d66:	41 56                	push   %r14
180060d68:	41 57                	push   %r15
180060d6a:	48 83 ec 48          	sub    $0x48,%rsp
180060d6e:	48 8b 01             	mov    (%rcx),%rax
180060d71:	45 33 ed             	xor    %r13d,%r13d
180060d74:	b9 70 02 00 00       	mov    $0x270,%ecx
180060d79:	44 88 ac 24 a0 00 00 	mov    %r13b,0xa0(%rsp)
180060d80:	00
180060d81:	45 8b e5             	mov    %r13d,%r12d
180060d84:	44 89 6c 24 20       	mov    %r13d,0x20(%rsp)
180060d89:	45 8b fd             	mov    %r13d,%r15d
180060d8c:	44 89 ac 24 a8 00 00 	mov    %r13d,0xa8(%rsp)
180060d93:	00
180060d94:	48 8b a8 00 01 00 00 	mov    0x100(%rax),%rbp
180060d9b:	41 8b f5             	mov    %r13d,%esi
180060d9e:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
180060da3:	4c 89 2a             	mov    %r13,(%rdx)
180060da6:	e8 69 5b fe ff       	call   0x180046914
180060dab:	48 8b d8             	mov    %rax,%rbx
180060dae:	48 85 c0             	test   %rax,%rax
180060db1:	75 0a                	jne    0x180060dbd
180060db3:	be 9a 00 00 c0       	mov    $0xc000009a,%esi
180060db8:	e9 75 02 00 00       	jmp    0x180061032
180060dbd:	48 8d 48 04          	lea    0x4(%rax),%rcx
180060dc1:	33 d2                	xor    %edx,%edx
180060dc3:	41 b8 6c 02 00 00    	mov    $0x26c,%r8d
180060dc9:	e8 b2 4e 0d 00       	call   0x180135c80
180060dce:	44 89 2b             	mov    %r13d,(%rbx)
180060dd1:	48 8b cd             	mov    %rbp,%rcx
180060dd4:	8b 85 b8 01 00 00    	mov    0x1b8(%rbp),%eax
180060dda:	89 43 08             	mov    %eax,0x8(%rbx)
180060ddd:	e8 d6 fe ff ff       	call   0x180060cb8
180060de2:	89 43 0c             	mov    %eax,0xc(%rbx)
180060de5:	b8 55 aa 00 00       	mov    $0xaa55,%eax
180060dea:	66 39 85 fe 01 00 00 	cmp    %ax,0x1fe(%rbp)
180060df1:	0f 85 26 02 00 00    	jne    0x18006101d
180060df7:	48 8d 85 c2 01 00 00 	lea    0x1c2(%rbp),%rax
180060dfe:	48 8b ac 24 90 00 00 	mov    0x90(%rsp),%rbp
180060e05:	00
180060e06:	4c 8b f0             	mov    %rax,%r14
180060e09:	8b b4 24 a8 00 00 00 	mov    0xa8(%rsp),%esi
180060e10:	48 c7 44 24 28 04 00 	movq   $0x4,0x28(%rsp)
180060e17:	00 00
180060e19:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
180060e1e:	44 89 64 24 24       	mov    %r12d,0x24(%rsp)
180060e23:	41 8b c7             	mov    %r15d,%eax
180060e26:	48 8d 3c c0          	lea    (%rax,%rax,8),%rdi
180060e2a:	41 8a 06             	mov    (%r14),%al
180060e2d:	48 03 ff             	add    %rdi,%rdi
180060e30:	3c 05                	cmp    $0x5,%al