18006385e:	48 8b d6             	mov    %rsi,%rdx
180063861:	48 8b cd             	mov    %rbp,%rcx
180063864:	e8 cf fd ff ff       	call   0x180063638
180063869:	8b f8                	mov    %eax,%edi
18006386b:	85 c0                	test   %eax,%eax
18006386d:	78 32                	js     0x1800638a1
18006386f:	48 8b 8c 24 80 00 00 	mov    0x80(%rsp),%rcx
180063876:	00
180063877:	48 8b 94 24 88 00 00 	mov    0x88(%rsp),%rdx
18006387e:	00
18006387f:	48 85 c9             	test   %rcx,%rcx
180063882:	75 05                	jne    0x180063889
180063884:	48 85 d2             	test   %rdx,%rdx
180063887:	74 18                	je     0x1800638a1
180063889:	44 0f b6 46 2e       	movzbl 0x2e(%rsi),%r8d
18006388e:	48 85 d2             	test   %rdx,%rdx
180063891:	74 06                	je     0x180063899
180063893:	0f b6 46 49          	movzbl 0x49(%rsi),%eax
180063897:	89 02                	mov    %eax,(%rdx)
180063899:	48 85 c9             	test   %rcx,%rcx
18006389c:	74 03                	je     0x1800638a1
18006389e:	44 89 01             	mov    %r8d,(%rcx)
1800638a1:	48 85 db             	test   %rbx,%rbx
1800638a4:	74 16                	je     0x1800638bc
1800638a6:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1800638aa:	48 85 c9             	test   %rcx,%rcx
1800638ad:	74 05                	je     0x1800638b4
1800638af:	e8 48 67 03 00       	call   0x180099ffc
1800638b4:	48 8b cb             	mov    %rbx,%rcx
1800638b7:	e8 40 67 03 00       	call   0x180099ffc
1800638bc:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
1800638c1:	8b c7                	mov    %edi,%eax
1800638c3:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
1800638c8:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
1800638cd:	48 83 c4 40          	add    $0x40,%rsp
1800638d1:	41 5f                	pop    %r15
1800638d3:	41 5e                	pop    %r14
1800638d5:	5f                   	pop    %rdi
1800638d6:	c3                   	ret
1800638d7:	cc                   	int3
1800638d8:	48 8b c4             	mov    %rsp,%rax
1800638db:	48 89 58 08          	mov    %rbx,0x8(%rax)
1800638df:	48 89 68 10          	mov    %rbp,0x10(%rax)
1800638e3:	48 89 70 18          	mov    %rsi,0x18(%rax)
1800638e7:	48 89 78 20          	mov    %rdi,0x20(%rax)
1800638eb:	41 56                	push   %r14
1800638ed:	48 83 ec 30          	sub    $0x30,%rsp
1800638f1:	48 83 60 30 00       	andq   $0x0,0x30(%rax)
1800638f6:	4c 8d 40 30          	lea    0x30(%rax),%r8
1800638fa:	48 8b f2             	mov    %rdx,%rsi
1800638fd:	4c 8b f1             	mov    %rcx,%r14
180063900:	48 8b ce             	mov    %rsi,%rcx
180063903:	ba 20 00 00 00       	mov    $0x20,%edx
180063908:	41 8b e9             	mov    %r9d,%ebp
18006390b:	e8 3c f5 ff ff       	call   0x180062e4c
180063910:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
180063915:	8b f8                	mov    %eax,%edi
180063917:	85 c0                	test   %eax,%eax
180063919:	78 1b                	js     0x180063936
18006391b:	8b 44 24 60          	mov    0x60(%rsp),%eax
18006391f:	44 8b cd             	mov    %ebp,%r9d
180063922:	4c 8b c3             	mov    %rbx,%r8
180063925:	89 44 24 20          	mov    %eax,0x20(%rsp)
180063929:	48 8b d6             	mov    %rsi,%rdx
18006392c:	49 8b ce             	mov    %r14,%rcx
18006392f:	e8 04 fd ff ff       	call   0x180063638
180063934:	8b f8                	mov    %eax,%edi
180063936:	48 85 db             	test   %rbx,%rbx
180063939:	74 16                	je     0x180063951
18006393b:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
18006393f:	48 85 c9             	test   %rcx,%rcx
180063942:	74 05                	je     0x180063949
180063944:	e8 b3 66 03 00       	call   0x180099ffc
180063949:	48 8b cb             	mov    %rbx,%rcx
18006394c:	e8 ab 66 03 00       	call   0x180099ffc
180063951:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180063956:	8b c7                	mov    %edi,%eax
180063958:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
18006395d:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
180063962:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
180063967:	48 83 c4 30          	add    $0x30,%rsp
18006396b:	41 5e                	pop    %r14
18006396d:	c3                   	ret
18006396e:	cc                   	int3
18006396f:	cc                   	int3
180063970:	40 55                	rex push %rbp
180063972:	53                   	push   %rbx
180063973:	56                   	push   %rsi
180063974:	57                   	push   %rdi
180063975:	41 54                	push   %r12
180063977:	41 55                	push   %r13
180063979:	41 57                	push   %r15
18006397b:	48 8b ec             	mov    %rsp,%rbp
18006397e:	48 83 ec 50          	sub    $0x50,%rsp
180063982:	44 8b ea             	mov    %edx,%r13d
180063985:	4c 8d 45 58          	lea    0x58(%rbp),%r8
180063989:	8b 51 34             	mov    0x34(%rcx),%edx
18006398c:	33 f6                	xor    %esi,%esi
18006398e:	48 89 75 f0          	mov    %rsi,-0x10(%rbp)
180063992:	48 8b f9             	mov    %rcx,%rdi
180063995:	e8 ea f6 ff ff       	call   0x180063084
18006399a:	8b d8                	mov    %eax,%ebx
18006399c:	85 c0                	test   %eax,%eax
18006399e:	0f 88 f4 00 00 00    	js     0x180063a98
1800639a4:	41 83 fd 01          	cmp    $0x1,%r13d
1800639a8:	75 0a                	jne    0x1800639b4
1800639aa:	44 8b 7f 0c          	mov    0xc(%rdi),%r15d
1800639ae:	44 8b 67 08          	mov    0x8(%rdi),%r12d
1800639b2:	eb 08                	jmp    0x1800639bc
1800639b4:	44 8b 7f 40          	mov    0x40(%rdi),%r15d
1800639b8:	44 8b 67 44          	mov    0x44(%rdi),%r12d
1800639bc:	48 8b 5d 58          	mov    0x58(%rbp),%rbx
1800639c0:	48 8d 45 50          	lea    0x50(%rbp),%rax
1800639c4:	44 8b 47 34          	mov    0x34(%rdi),%r8d
1800639c8:	4c 8d 4d 40          	lea    0x40(%rbp),%r9
1800639cc:	8b 57 30             	mov    0x30(%rdi),%edx
1800639cf:	48 8b cb             	mov    %rbx,%rcx
1800639d2:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1800639d7:	e8 80 f5 ff ff       	call   0x180062f5c
1800639dc:	44 8b 45 50          	mov    0x50(%rbp),%r8d
1800639e0:	44 03 47 14          	add    0x14(%rdi),%r8d
1800639e4:	8b 55 40             	mov    0x40(%rbp),%edx
1800639e7:	45 8b c8             	mov    %r8d,%r9d
1800639ea:	03 57 10             	add    0x10(%rdi),%edx
1800639ed:	0f b6 4b 49          	movzbl 0x49(%rbx),%ecx
1800639f1:	0f b6 43 2e          	movzbl 0x2e(%rbx),%eax
1800639f5:	48 21 75 e8          	and    %rsi,-0x18(%rbp)
1800639f9:	44 89 45 58          	mov    %r8d,0x58(%rbp)
1800639fd:	44 8b c2             	mov    %edx,%r8d
180063a00:	89 44 24 28          	mov    %eax,0x28(%rsp)
180063a04:	89 55 e0             	mov    %edx,-0x20(%rbp)
180063a07:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
180063a0b:	89 4c 24 20          	mov    %ecx,0x20(%rsp)
180063a0f:	48 8b cf             	mov    %rdi,%rcx
180063a12:	44 89 65 40          	mov    %r12d,0x40(%rbp)
180063a16:	44 89 7d 50          	mov    %r15d,0x50(%rbp)
180063a1a:	e8 e9 05 00 00       	call   0x180064008
180063a1f:	8b d8                	mov    %eax,%ebx
180063a21:	85 c0                	test   %eax,%eax
180063a23:	78 25                	js     0x180063a4a
180063a25:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
180063a29:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
180063a2d:	4c 8d 4d 40          	lea    0x40(%rbp),%r9
180063a31:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180063a36:	4c 8d 45 50          	lea    0x50(%rbp),%r8
180063a3a:	ba 01 00 00 00       	mov    $0x1,%edx
180063a3f:	e8 64 01 00 00       	call   0x180063ba8
180063a44:	48 8b 75 f0          	mov    -0x10(%rbp),%rsi
180063a48:	8b d8                	mov    %eax,%ebx
180063a4a:	48 83 7d e8 00       	cmpq   $0x0,-0x18(%rbp)
180063a4f:	74 0f                	je     0x180063a60
180063a51:	48 39 75 e8          	cmp    %rsi,-0x18(%rbp)
180063a55:	74 09                	je     0x180063a60
180063a57:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
180063a5b:	e8 a0 07 00 00       	call   0x180064200
180063a60:	85 db                	test   %ebx,%ebx
180063a62:	78 27                	js     0x180063a8b
180063a64:	44 8b 4d 58          	mov    0x58(%rbp),%r9d
180063a68:	48 8b d6             	mov    %rsi,%rdx
180063a6b:	44 8b 45 e0          	mov    -0x20(%rbp),%r8d
180063a6f:	48 8b cf             	mov    %rdi,%rcx
180063a72:	e8 e1 03 00 00       	call   0x180063e58
180063a77:	8b d8                	mov    %eax,%ebx
180063a79:	85 c0                	test   %eax,%eax
180063a7b:	78 0e                	js     0x180063a8b
180063a7d:	41 83 fd 01          	cmp    $0x1,%r13d
180063a81:	75 08                	jne    0x180063a8b
180063a83:	44 89 7f 40          	mov    %r15d,0x40(%rdi)
180063a87:	44 89 67 44          	mov    %r12d,0x44(%rdi)
180063a8b:	48 85 f6             	test   %rsi,%rsi
180063a8e:	74 08                	je     0x180063a98
180063a90:	48 8b ce             	mov    %rsi,%rcx
180063a93:	e8 68 07 00 00       	call   0x180064200
180063a98:	8b c3                	mov    %ebx,%eax
180063a9a:	48 83 c4 50          	add    $0x50,%rsp
180063a9e:	41 5f                	pop    %r15
180063aa0:	41 5d                	pop    %r13
180063aa2:	41 5c                	pop    %r12
180063aa4:	5f                   	pop    %rdi
180063aa5:	5e                   	pop    %rsi
180063aa6:	5b                   	pop    %rbx
180063aa7:	5d                   	pop    %rbp
180063aa8:	c3                   	ret
180063aa9:	cc                   	int3
180063aaa:	cc                   	int3
180063aab:	cc                   	int3
180063aac:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180063ab1:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180063ab6:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180063abb:	57                   	push   %rdi
180063abc:	41 56                	push   %r14
180063abe:	41 57                	push   %r15
180063ac0:	48 83 ec 20          	sub    $0x20,%rsp
180063ac4:	4c 8d 79 28          	lea    0x28(%rcx),%r15
180063ac8:	48 8b d9             	mov    %rcx,%rbx
180063acb:	49 8b 3f             	mov    (%r15),%rdi
180063ace:	eb 78                	jmp    0x180063b48
180063ad0:	48 8d 6f 40          	lea    0x40(%rdi),%rbp
180063ad4:	48 8b f7             	mov    %rdi,%rsi
180063ad7:	4c 8b 75 00          	mov    0x0(%rbp),%r14
180063adb:	eb 2c                	jmp    0x180063b09
180063add:	49 8b 06             	mov    (%r14),%rax
180063ae0:	49 8b ce             	mov    %r14,%rcx
180063ae3:	4c 8b f0             	mov    %rax,%r14
180063ae6:	48 39 48 08          	cmp    %rcx,0x8(%rax)
180063aea:	0f 85 b1 00 00 00    	jne    0x180063ba1
180063af0:	48 8b 51 08          	mov    0x8(%rcx),%rdx
180063af4:	48 39 0a             	cmp    %rcx,(%rdx)
180063af7:	0f 85 a4 00 00 00    	jne    0x180063ba1
180063afd:	48 89 02             	mov    %rax,(%rdx)
180063b00:	48 89 50 08          	mov    %rdx,0x8(%rax)
180063b04:	e8 f3 64 03 00       	call   0x180099ffc
180063b09:	4c 3b f5             	cmp    %rbp,%r14
180063b0c:	75 cf                	jne    0x180063add
180063b0e:	48 8b 07             	mov    (%rdi),%rax
180063b11:	48 8b f8             	mov    %rax,%rdi
180063b14:	48 39 70 08          	cmp    %rsi,0x8(%rax)
180063b18:	0f 85 83 00 00 00    	jne    0x180063ba1
180063b1e:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
180063b22:	48 39 31             	cmp    %rsi,(%rcx)
180063b25:	75 7a                	jne    0x180063ba1
180063b27:	48 89 01             	mov    %rax,(%rcx)
180063b2a:	48 89 48 08          	mov    %rcx,0x8(%rax)
180063b2e:	48 8b 4e 18          	mov    0x18(%rsi),%rcx
180063b32:	e8 c5 64 03 00       	call   0x180099ffc
180063b37:	48 8b 4e 20          	mov    0x20(%rsi),%rcx
180063b3b:	e8 bc 64 03 00       	call   0x180099ffc
180063b40:	48 8b ce             	mov    %rsi,%rcx
180063b43:	e8 b4 64 03 00       	call   0x180099ffc
180063b48:	49 3b ff             	cmp    %r15,%rdi
180063b4b:	75 83                	jne    0x180063ad0
180063b4d:	48 8b 03             	mov    (%rbx),%rax
180063b50:	48 3b c3             	cmp    %rbx,%rax
180063b53:	74 16                	je     0x180063b6b
180063b55:	48 39 58 08          	cmp    %rbx,0x8(%rax)
180063b59:	75 46                	jne    0x180063ba1
180063b5b:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
180063b5f:	48 39 19             	cmp    %rbx,(%rcx)
180063b62:	75 3d                	jne    0x180063ba1
180063b64:	48 89 01             	mov    %rax,(%rcx)
180063b67:	48 89 48 08          	mov    %rcx,0x8(%rax)
180063b6b:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
180063b6f:	48 85 c9             	test   %rcx,%rcx
180063b72:	74 05                	je     0x180063b79
180063b74:	e8 83 64 03 00       	call   0x180099ffc
180063b79:	8b 4b 14             	mov    0x14(%rbx),%ecx
180063b7c:	e8 7f 49 00 00       	call   0x180068500
180063b81:	8b 4b 10             	mov    0x10(%rbx),%ecx
180063b84:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180063b89:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
180063b8e:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
180063b93:	48 83 c4 20          	add    $0x20,%rsp
180063b97:	41 5f                	pop    %r15
180063b99:	41 5e                	pop    %r14
180063b9b:	5f                   	pop    %rdi
180063b9c:	e9 17 2e fc ff       	jmp    0x1800269b8
180063ba1:	b9 03 00 00 00       	mov    $0x3,%ecx
180063ba6:	cd 29                	int    $0x29
180063ba8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180063bad:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
180063bb2:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
180063bb7:	55                   	push   %rbp
180063bb8:	56                   	push   %rsi
180063bb9:	57                   	push   %rdi
180063bba:	41 54                	push   %r12
180063bbc:	41 55                	push   %r13
180063bbe:	41 56                	push   %r14
180063bc0:	41 57                	push   %r15
180063bc2:	48 8b ec             	mov    %rsp,%rbp
180063bc5:	48 83 ec 40          	sub    $0x40,%rsp
180063bc9:	48 83 65 f8 00       	andq   $0x0,-0x8(%rbp)
180063bce:	4c 8b f1             	mov    %rcx,%r14
180063bd1:	44 8b fa             	mov    %edx,%r15d
180063bd4:	83 fa 20             	cmp    $0x20,%edx
180063bd7:	0f 87 59 02 00 00    	ja     0x180063e36
180063bdd:	48 b9 02 00 00 01 01 	movabs $0x101000002,%rcx
180063be4:	00 00 00
180063be7:	4c 0f a3 f9          	bt     %r15,%rcx
180063beb:	0f 83 45 02 00 00    	jae    0x180063e36
180063bf1:	41 83 7e 08 20       	cmpl   $0x20,0x8(%r14)
180063bf6:	0f 87 3a 02 00 00    	ja     0x180063e36
180063bfc:	41 8b 46 08          	mov    0x8(%r14),%eax
180063c00:	48 0f a3 c1          	bt     %rax,%rcx
180063c04:	0f 83 2c 02 00 00    	jae    0x180063e36
180063c0a:	41 8b 56 04          	mov    0x4(%r14),%edx
180063c0e:	4c 8d 4d f8          	lea    -0x8(%rbp),%r9
180063c12:	41 8b 0e             	mov    (%r14),%ecx
180063c15:	45 8b c7             	mov    %r15d,%r8d
180063c18:	e8 ab 04 00 00       	call   0x1800640c8
180063c1d:	4c 8b 6d f8          	mov    -0x8(%rbp),%r13
180063c21:	8b f0                	mov    %eax,%esi
180063c23:	85 c0                	test   %eax,%eax
180063c25:	0f 88 fc 01 00 00    	js     0x180063e27
180063c2b:	45 8b 4e 08          	mov    0x8(%r14),%r9d
180063c2f:	49 8b 5d 18          	mov    0x18(%r13),%rbx
180063c33:	45 3b cf             	cmp    %r15d,%r9d
180063c36:	75 15                	jne    0x180063c4d
180063c38:	45 8b 46 0c          	mov    0xc(%r14),%r8d
180063c3c:	48 8b cb             	mov    %rbx,%rcx
180063c3f:	49 8b 56 18          	mov    0x18(%r14),%rdx
180063c43:	e8 78 1d 0d 00       	call   0x1801359c0
180063c48:	e9 cf 01 00 00       	jmp    0x180063e1c
180063c4d:	45 8b 65 04          	mov    0x4(%r13),%r12d
180063c51:	45 8b df             	mov    %r15d,%r11d
180063c54:	45 0f af 65 00       	imul   0x0(%r13),%r12d
180063c59:	45 8b d1             	mov    %r9d,%r10d
180063c5c:	49 8b 7e 18          	mov    0x18(%r14),%rdi
180063c60:	41 c1 eb 03          	shr    $0x3,%r11d
180063c64:	41 c1 ea 03          	shr    $0x3,%r10d
180063c68:	44 89 5d f0          	mov    %r11d,-0x10(%rbp)
180063c6c:	44 89 55 ec          	mov    %r10d,-0x14(%rbp)
180063c70:	41 83 ff 01          	cmp    $0x1,%r15d
180063c74:	74 43                	je     0x180063cb9
180063c76:	41 83 f9 01          	cmp    $0x1,%r9d
180063c7a:	74 3d                	je     0x180063cb9
180063c7c:	45 85 e4             	test   %r12d,%r12d
180063c7f:	0f 84 97 01 00 00    	je     0x180063e1c
180063c85:	41 8b d2             	mov    %r10d,%edx
180063c88:	45 8b c3             	mov    %r11d,%r8d
180063c8b:	41 8b cc             	mov    %r12d,%ecx
180063c8e:	8a 47 02             	mov    0x2(%rdi),%al
180063c91:	88 43 02             	mov    %al,0x2(%rbx)
180063c94:	8a 47 01             	mov    0x1(%rdi),%al
180063c97:	88 43 01             	mov    %al,0x1(%rbx)
180063c9a:	8a 07                	mov    (%rdi),%al
180063c9c:	88 03                	mov    %al,(%rbx)
180063c9e:	41 83 ff 20          	cmp    $0x20,%r15d
180063ca2:	75 04                	jne    0x180063ca8
180063ca4:	c6 43 03 00          	movb   $0x0,0x3(%rbx)
180063ca8:	48 03 fa             	add    %rdx,%rdi
180063cab:	49 03 d8             	add    %r8,%rbx
180063cae:	48 83 e9 01          	sub    $0x1,%rcx
180063cb2:	75 da                	jne    0x180063c8e
180063cb4:	e9 63 01 00 00       	jmp    0x180063e1c
180063cb9:	48 8b 75 50          	mov    0x50(%rbp),%rsi
180063cbd:	48 85 f6             	test   %rsi,%rsi
180063cc0:	74 2e                	je     0x180063cf0
180063cc2:	48 8b 45 58          	mov    0x58(%rbp),%rax
180063cc6:	48 85 c0             	test   %rax,%rax
180063cc9:	74 25                	je     0x180063cf0
180063ccb:	8b 10                	mov    (%rax),%edx
180063ccd:	48 8d 4d 48          	lea    0x48(%rbp),%rcx
180063cd1:	e8 a6 05 00 00       	call   0x18006427c
180063cd6:	8b 16                	mov    (%rsi),%edx
180063cd8:	0f b7 08             	movzwl (%rax),%ecx
180063cdb:	8a 40 02             	mov    0x2(%rax),%al
180063cde:	66 89 4d e8          	mov    %cx,-0x18(%rbp)
180063ce2:	48 8d 4d 48          	lea    0x48(%rbp),%rcx
180063ce6:	88 45 e0             	mov    %al,-0x20(%rbp)
180063ce9:	e8 8e 05 00 00       	call   0x18006427c