180017cbd:	85 db                	test   %ebx,%ebx
180017cbf:	78 7a                	js     0x180017d3b
180017cc1:	45 33 c0             	xor    %r8d,%r8d
180017cc4:	4c 8d 4d 77          	lea    0x77(%rbp),%r9
180017cc8:	48 8b ce             	mov    %rsi,%rcx
180017ccb:	41 8d 50 01          	lea    0x1(%r8),%edx
180017ccf:	e8 3c f5 00 00       	call   0x180027210
180017cd4:	8b d8                	mov    %eax,%ebx
180017cd6:	85 c0                	test   %eax,%eax
180017cd8:	78 61                	js     0x180017d3b
180017cda:	8b 4d 77             	mov    0x77(%rbp),%ecx
180017cdd:	48 8d 55 97          	lea    -0x69(%rbp),%rdx
180017ce1:	e8 1a 06 00 00       	call   0x180018300
180017ce6:	8b 4d 77             	mov    0x77(%rbp),%ecx
180017ce9:	8b d8                	mov    %eax,%ebx
180017ceb:	e8 c8 ec 00 00       	call   0x1800269b8
180017cf0:	85 db                	test   %ebx,%ebx
180017cf2:	78 47                	js     0x180017d3b
180017cf4:	48 8b 5d 97          	mov    -0x69(%rbp),%rbx
180017cf8:	4d 85 f6             	test   %r14,%r14
180017cfb:	74 0c                	je     0x180017d09
180017cfd:	48 8b ce             	mov    %rsi,%rcx
180017d00:	4c 89 73 38          	mov    %r14,0x38(%rbx)
180017d04:	e8 d7 fa ff ff       	call   0x1800177e0
180017d09:	48 8b 47 08          	mov    0x8(%rdi),%rax
180017d0d:	48 39 38             	cmp    %rdi,(%rax)
180017d10:	0f 85 aa 00 00 00    	jne    0x180017dc0
180017d16:	48 89 3b             	mov    %rdi,(%rbx)
180017d19:	48 89 43 08          	mov    %rax,0x8(%rbx)
180017d1d:	48 89 18             	mov    %rbx,(%rax)
180017d20:	48 89 5f 08          	mov    %rbx,0x8(%rdi)
180017d24:	4c 8b 7d 7f          	mov    0x7f(%rbp),%r15
180017d28:	41 8b dc             	mov    %r12d,%ebx
180017d2b:	49 89 bd e8 00 00 00 	mov    %rdi,0xe8(%r13)
180017d32:	eb 03                	jmp    0x180017d37
180017d34:	45 33 e4             	xor    %r12d,%r12d
180017d37:	85 db                	test   %ebx,%ebx
180017d39:	79 61                	jns    0x180017d9c
180017d3b:	4d 85 f6             	test   %r14,%r14
180017d3e:	74 08                	je     0x180017d48
180017d40:	49 8b ce             	mov    %r14,%rcx
180017d43:	e8 b4 22 08 00       	call   0x180099ffc
180017d48:	4c 8b 7d 7f          	mov    0x7f(%rbp),%r15
180017d4c:	48 8b 37             	mov    (%rdi),%rsi
180017d4f:	eb 2f                	jmp    0x180017d80
180017d51:	4d 8b fe             	mov    %r14,%r15
180017d54:	45 33 e4             	xor    %r12d,%r12d
180017d57:	eb f3                	jmp    0x180017d4c
180017d59:	48 8b 06             	mov    (%rsi),%rax
180017d5c:	48 8b ce             	mov    %rsi,%rcx
180017d5f:	4c 8b c6             	mov    %rsi,%r8
180017d62:	48 8b f0             	mov    %rax,%rsi
180017d65:	48 39 48 08          	cmp    %rcx,0x8(%rax)
180017d69:	75 55                	jne    0x180017dc0
180017d6b:	48 8b 51 08          	mov    0x8(%rcx),%rdx
180017d6f:	48 39 0a             	cmp    %rcx,(%rdx)
180017d72:	75 4c                	jne    0x180017dc0
180017d74:	48 89 02             	mov    %rax,(%rdx)
180017d77:	48 89 50 08          	mov    %rdx,0x8(%rax)
180017d7b:	e8 7c 22 08 00       	call   0x180099ffc
180017d80:	48 3b f7             	cmp    %rdi,%rsi
180017d83:	75 d4                	jne    0x180017d59
180017d85:	48 8b cf             	mov    %rdi,%rcx
180017d88:	e8 6f 22 08 00       	call   0x180099ffc
180017d8d:	44 39 65 ab          	cmp    %r12d,-0x55(%rbp)
180017d91:	74 09                	je     0x180017d9c
180017d93:	48 8b 4d 9f          	mov    -0x61(%rbp),%rcx
180017d97:	e8 60 22 08 00       	call   0x180099ffc
180017d9c:	4d 85 ff             	test   %r15,%r15
180017d9f:	74 08                	je     0x180017da9
180017da1:	49 8b cf             	mov    %r15,%rcx
180017da4:	e8 53 22 08 00       	call   0x180099ffc
180017da9:	8b c3                	mov    %ebx,%eax
180017dab:	48 81 c4 a8 00 00 00 	add    $0xa8,%rsp
180017db2:	41 5f                	pop    %r15
180017db4:	41 5e                	pop    %r14
180017db6:	41 5d                	pop    %r13
180017db8:	41 5c                	pop    %r12
180017dba:	5f                   	pop    %rdi
180017dbb:	5e                   	pop    %rsi
180017dbc:	5b                   	pop    %rbx
180017dbd:	5d                   	pop    %rbp
180017dbe:	c3                   	ret
180017dbf:	cc                   	int3
180017dc0:	b9 03 00 00 00       	mov    $0x3,%ecx
180017dc5:	cd 29                	int    $0x29
180017dc7:	cc                   	int3
180017dc8:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
180017dcd:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
180017dd2:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
180017dd7:	55                   	push   %rbp
180017dd8:	56                   	push   %rsi
180017dd9:	57                   	push   %rdi
180017dda:	41 54                	push   %r12
180017ddc:	41 55                	push   %r13
180017dde:	41 56                	push   %r14
180017de0:	41 57                	push   %r15
180017de2:	48 8b ec             	mov    %rsp,%rbp
180017de5:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
180017dec:	33 c0                	xor    %eax,%eax
180017dee:	48 8d 55 c0          	lea    -0x40(%rbp),%rdx
180017df2:	45 8a e8             	mov    %r8b,%r13b
180017df5:	48 89 45 c0          	mov    %rax,-0x40(%rbp)
180017df9:	48 8b f9             	mov    %rcx,%rdi
180017dfc:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
180017e00:	4c 8d 45 58          	lea    0x58(%rbp),%r8
180017e04:	89 45 e8             	mov    %eax,-0x18(%rbp)
180017e07:	48 8d 4d c8          	lea    -0x38(%rbp),%rcx
180017e0b:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
180017e0f:	8b f0                	mov    %eax,%esi
180017e11:	89 45 d8             	mov    %eax,-0x28(%rbp)
180017e14:	8b d8                	mov    %eax,%ebx
180017e16:	44 8b f8             	mov    %eax,%r15d
180017e19:	e8 c6 66 06 00       	call   0x18007e4e4
180017e1e:	4c 8b 65 c0          	mov    -0x40(%rbp),%r12
180017e22:	44 8b f0             	mov    %eax,%r14d
180017e25:	85 c0                	test   %eax,%eax
180017e27:	0f 88 07 01 00 00    	js     0x180017f34
180017e2d:	38 5d 58             	cmp    %bl,0x58(%rbp)
180017e30:	74 0b                	je     0x180017e3d
180017e32:	45 33 ed             	xor    %r13d,%r13d
180017e35:	4c 89 2f             	mov    %r13,(%rdi)
180017e38:	e9 f7 00 00 00       	jmp    0x180017f34
180017e3d:	48 83 cf ff          	or     $0xffffffffffffffff,%rdi
180017e41:	45 84 ed             	test   %r13b,%r13b
180017e44:	74 2a                	je     0x180017e70
180017e46:	48 8b 15 eb d4 18 00 	mov    0x18d4eb(%rip),%rdx        # 0x1801a5338
180017e4d:	48 8b df             	mov    %rdi,%rbx
180017e50:	45 33 ed             	xor    %r13d,%r13d
180017e53:	48 ff c3             	inc    %rbx
180017e56:	66 44 39 2c 5a       	cmp    %r13w,(%rdx,%rbx,2)
180017e5b:	75 f6                	jne    0x180017e53
180017e5d:	44 8b c3             	mov    %ebx,%r8d
180017e60:	49 8b cc             	mov    %r12,%rcx
180017e63:	e8 d4 2f 11 00       	call   0x18012ae3c
180017e68:	85 c0                	test   %eax,%eax
180017e6a:	41 0f 45 dd          	cmovne %r13d,%ebx
180017e6e:	eb 03                	jmp    0x180017e73
180017e70:	45 33 ed             	xor    %r13d,%r13d
180017e73:	48 8b 4d c8          	mov    -0x38(%rbp),%rcx
180017e77:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
180017e7b:	e8 40 10 00 00       	call   0x180018ec0
180017e80:	44 8b f0             	mov    %eax,%r14d
180017e83:	85 c0                	test   %eax,%eax
180017e85:	0f 88 a9 00 00 00    	js     0x180017f34
180017e8b:	8b c3                	mov    %ebx,%eax
180017e8d:	48 8d 4d c8          	lea    -0x38(%rbp),%rcx
180017e91:	49 8d 14 44          	lea    (%r12,%rax,2),%rdx
180017e95:	e8 2a 58 06 00       	call   0x18007d6c4
180017e9a:	41 b0 01             	mov    $0x1,%r8b
180017e9d:	48 8d 55 c8          	lea    -0x38(%rbp),%rdx
180017ea1:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
180017ea5:	e8 96 5d 06 00       	call   0x18007dc40
180017eaa:	44 8b f0             	mov    %eax,%r14d
180017ead:	85 c0                	test   %eax,%eax
180017eaf:	78 7f                	js     0x180017f30
180017eb1:	4c 8b 7d 48          	mov    0x48(%rbp),%r15
180017eb5:	85 db                	test   %ebx,%ebx
180017eb7:	74 0b                	je     0x180017ec4
180017eb9:	48 ff c7             	inc    %rdi
180017ebc:	45 38 2c 3f          	cmp    %r13b,(%r15,%rdi,1)
180017ec0:	75 f7                	jne    0x180017eb9
180017ec2:	eb 03                	jmp    0x180017ec7
180017ec4:	49 8b fd             	mov    %r13,%rdi
180017ec7:	0f b7 45 d8          	movzwl -0x28(%rbp),%eax
180017ecb:	0f b7 4d e8          	movzwl -0x18(%rbp),%ecx
180017ecf:	48 03 f8             	add    %rax,%rdi
180017ed2:	48 03 f9             	add    %rcx,%rdi
180017ed5:	48 8d 4f 0a          	lea    0xa(%rdi),%rcx
180017ed9:	e8 72 1f 08 00       	call   0x180099e50
180017ede:	48 8b f0             	mov    %rax,%rsi
180017ee1:	48 85 c0             	test   %rax,%rax
180017ee4:	74 4a                	je     0x180017f30
180017ee6:	85 db                	test   %ebx,%ebx
180017ee8:	48 8d 0d 81 d7 12 00 	lea    0x12d781(%rip),%rcx        # 0x180145670
180017eef:	4c 8d 0d 5a 03 13 00 	lea    0x13035a(%rip),%r9        # 0x180148250
180017ef6:	49 0f 45 cf          	cmovne %r15,%rcx
180017efa:	4c 8d 05 5f 03 13 00 	lea    0x13035f(%rip),%r8        # 0x180148260
180017f01:	4c 8b 7d e0          	mov    -0x20(%rbp),%r15
180017f05:	48 8d 57 0a          	lea    0xa(%rdi),%rdx
180017f09:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
180017f0e:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
180017f13:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
180017f17:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
180017f1c:	48 8b c8             	mov    %rax,%rcx
180017f1f:	e8 9c 5a 11 00       	call   0x18012d9c0
180017f24:	48 8b 45 40          	mov    0x40(%rbp),%rax
180017f28:	48 89 30             	mov    %rsi,(%rax)
180017f2b:	49 8b f5             	mov    %r13,%rsi
180017f2e:	eb 04                	jmp    0x180017f34
180017f30:	4c 8b 7d e0          	mov    -0x20(%rbp),%r15
180017f34:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
180017f38:	e8 e7 5e 06 00       	call   0x18007de24
180017f3d:	4d 85 ff             	test   %r15,%r15
180017f40:	74 09                	je     0x180017f4b
180017f42:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
180017f46:	e8 d9 5e 06 00       	call   0x18007de24
180017f4b:	4d 85 e4             	test   %r12,%r12
180017f4e:	74 08                	je     0x180017f58
180017f50:	49 8b cc             	mov    %r12,%rcx
180017f53:	e8 a4 20 08 00       	call   0x180099ffc
180017f58:	48 85 f6             	test   %rsi,%rsi
180017f5b:	74 08                	je     0x180017f65
180017f5d:	48 8b ce             	mov    %rsi,%rcx
180017f60:	e8 97 20 08 00       	call   0x180099ffc
180017f65:	48 8b 9c 24 d0 00 00 	mov    0xd0(%rsp),%rbx
180017f6c:	00
180017f6d:	41 8b c6             	mov    %r14d,%eax
180017f70:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
180017f77:	41 5f                	pop    %r15
180017f79:	41 5e                	pop    %r14
180017f7b:	41 5d                	pop    %r13
180017f7d:	41 5c                	pop    %r12
180017f7f:	5f                   	pop    %rdi
180017f80:	5e                   	pop    %rsi
180017f81:	5d                   	pop    %rbp
180017f82:	c3                   	ret
180017f83:	cc                   	int3
180017f84:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
180017f89:	89 4c 24 08          	mov    %ecx,0x8(%rsp)
180017f8d:	55                   	push   %rbp
180017f8e:	56                   	push   %rsi
180017f8f:	57                   	push   %rdi
180017f90:	41 54                	push   %r12
180017f92:	41 55                	push   %r13
180017f94:	41 56                	push   %r14
180017f96:	41 57                	push   %r15
180017f98:	48 8d 6c 24 d9       	lea    -0x27(%rsp),%rbp
180017f9d:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
180017fa4:	48 8b 3d f5 84 15 00 	mov    0x1584f5(%rip),%rdi        # 0x1801704a0
180017fab:	33 db                	xor    %ebx,%ebx
180017fad:	48 8b 0d 04 85 15 00 	mov    0x158504(%rip),%rcx        # 0x1801704b8
180017fb4:	4c 8b f2             	mov    %rdx,%r14
180017fb7:	48 8b 15 72 d3 18 00 	mov    0x18d372(%rip),%rdx        # 0x1801a5330
180017fbe:	44 8b fb             	mov    %ebx,%r15d
180017fc1:	48 89 55 cf          	mov    %rdx,-0x31(%rbp)
180017fc5:	44 8b e3             	mov    %ebx,%r12d
180017fc8:	48 89 5d c7          	mov    %rbx,-0x39(%rbp)
180017fcc:	8b f3                	mov    %ebx,%esi
180017fce:	48 89 5d df          	mov    %rbx,-0x21(%rbp)
180017fd2:	44 8b eb             	mov    %ebx,%r13d
180017fd5:	48 89 5d 77          	mov    %rbx,0x77(%rbp)
180017fd9:	48 89 5d d7          	mov    %rbx,-0x29(%rbp)
180017fdd:	48 89 5d ff          	mov    %rbx,-0x1(%rbp)
180017fe1:	89 5d f7             	mov    %ebx,-0x9(%rbp)
180017fe4:	48 89 5d ef          	mov    %rbx,-0x11(%rbp)
180017fe8:	89 5d e7             	mov    %ebx,-0x19(%rbp)
180017feb:	48 89 5d 0f          	mov    %rbx,0xf(%rbp)
180017fef:	89 5d 07             	mov    %ebx,0x7(%rbp)
180017ff2:	48 89 5d 1f          	mov    %rbx,0x1f(%rbp)
180017ff6:	89 5d 17             	mov    %ebx,0x17(%rbp)
180017ff9:	48 3b cf             	cmp    %rdi,%rcx
180017ffc:	74 1c                	je     0x18001801a
180017ffe:	48 8d 55 17          	lea    0x17(%rbp),%rdx
180018002:	e8 b9 0e 00 00       	call   0x180018ec0
180018007:	8b d8                	mov    %eax,%ebx
180018009:	85 c0                	test   %eax,%eax
18001800b:	0f 88 e8 00 00 00    	js     0x1800180f9
180018011:	48 8b 15 18 d3 18 00 	mov    0x18d318(%rip),%rdx        # 0x1801a5330
180018018:	33 db                	xor    %ebx,%ebx
18001801a:	8b 07                	mov    (%rdi),%eax
18001801c:	83 f8 04             	cmp    $0x4,%eax
18001801f:	75 3d                	jne    0x18001805e
180018021:	8b 02                	mov    (%rdx),%eax
180018023:	48 8b fa             	mov    %rdx,%rdi
180018026:	83 f8 02             	cmp    $0x2,%eax
180018029:	74 05                	je     0x180018030
18001802b:	83 f8 06             	cmp    $0x6,%eax
18001802e:	75 2e                	jne    0x18001805e
180018030:	48 8d 4a 20          	lea    0x20(%rdx),%rcx
180018034:	44 8b d8             	mov    %eax,%r11d
180018037:	48 85 c9             	test   %rcx,%rcx
18001803a:	74 22                	je     0x18001805e
18001803c:	83 39 06             	cmpl   $0x6,(%rcx)
18001803f:	75 1d                	jne    0x18001805e
180018041:	39 59 18             	cmp    %ebx,0x18(%rcx)
180018044:	75 18                	jne    0x18001805e
180018046:	83 79 28 05          	cmpl   $0x5,0x28(%rcx)
18001804a:	75 12                	jne    0x18001805e
18001804c:	83 79 34 05          	cmpl   $0x5,0x34(%rcx)
180018050:	75 0c                	jne    0x18001805e
180018052:	83 79 30 18          	cmpl   $0x18,0x30(%rcx)
180018056:	72 06                	jb     0x18001805e
180018058:	48 8d 79 38          	lea    0x38(%rcx),%rdi
18001805c:	8b 07                	mov    (%rdi),%eax
18001805e:	83 f8 07             	cmp    $0x7,%eax
180018061:	75 29                	jne    0x18001808c
180018063:	48 8b 0d 6e c9 18 00 	mov    0x18c96e(%rip),%rcx        # 0x1801a49d8
18001806a:	4c 8d 45 77          	lea    0x77(%rbp),%r8
18001806e:	45 33 c9             	xor    %r9d,%r9d
180018071:	ba 51 01 00 21       	mov    $0x21000151,%edx
180018076:	e8 ed 45 06 00       	call   0x18007c668
18001807b:	4c 8b 65 77          	mov    0x77(%rbp),%r12
18001807f:	8b d8                	mov    %eax,%ebx
180018081:	85 c0                	test   %eax,%eax
180018083:	78 38                	js     0x1800180bd
180018085:	49 8b fc             	mov    %r12,%rdi
180018088:	4c 89 65 cf          	mov    %r12,-0x31(%rbp)
18001808c:	48 8d 55 f7          	lea    -0x9(%rbp),%rdx
180018090:	48 8b cf             	mov    %rdi,%rcx
180018093:	e8 28 0e 00 00       	call   0x180018ec0
180018098:	8b d8                	mov    %eax,%ebx
18001809a:	85 c0                	test   %eax,%eax
18001809c:	78 1f                	js     0x1800180bd
18001809e:	bf 02 00 00 00       	mov    $0x2,%edi
1800180a3:	8b cf                	mov    %edi,%ecx
1800180a5:	e8 a6 1d 08 00       	call   0x180099e50
1800180aa:	33 db                	xor    %ebx,%ebx
1800180ac:	4c 8b e8             	mov    %rax,%r13
1800180af:	48 85 c0             	test   %rax,%rax
1800180b2:	0f 85 87 00 00 00    	jne    0x18001813f
1800180b8:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
1800180bd:	48 8b 7d c7          	mov    -0x39(%rbp),%rdi
1800180c1:	4d 85 e4             	test   %r12,%r12
1800180c4:	74 08                	je     0x1800180ce
1800180c6:	49 8b cc             	mov    %r12,%rcx
1800180c9:	e8 2e 1f 08 00       	call   0x180099ffc
1800180ce:	48 85 ff             	test   %rdi,%rdi
1800180d1:	74 08                	je     0x1800180db
1800180d3:	48 8b cf             	mov    %rdi,%rcx
1800180d6:	e8 21 1f 08 00       	call   0x180099ffc
1800180db:	85 db                	test   %ebx,%ebx
1800180dd:	79 42                	jns    0x180018121
1800180df:	4d 85 ed             	test   %r13,%r13
1800180e2:	74 08                	je     0x1800180ec
1800180e4:	49 8b cd             	mov    %r13,%rcx
1800180e7:	e8 10 1f 08 00       	call   0x180099ffc
1800180ec:	48 85 f6             	test   %rsi,%rsi
1800180ef:	74 08                	je     0x1800180f9
1800180f1:	48 8b ce             	mov    %rsi,%rcx
1800180f4:	e8 03 1f 08 00       	call   0x180099ffc
1800180f9:	48 8d 4d f7          	lea    -0x9(%rbp),%rcx
1800180fd:	e8 22 5d 06 00       	call   0x18007de24
180018102:	48 8d 4d 07          	lea    0x7(%rbp),%rcx
180018106:	e8 19 5d 06 00       	call   0x18007de24
18001810b:	48 8d 4d e7          	lea    -0x19(%rbp),%rcx
18001810f:	e8 10 5d 06 00       	call   0x18007de24
180018114:	4d 85 ff             	test   %r15,%r15
180018117:	74 08                	je     0x180018121
180018119:	49 8b cf             	mov    %r15,%rcx
18001811c:	e8 db 1e 08 00       	call   0x180099ffc
180018121:	8b c3                	mov    %ebx,%eax
180018123:	48 8b 9c 24 d8 00 00 	mov    0xd8(%rsp),%rbx
18001812a:	00
18001812b:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
180018132:	41 5f                	pop    %r15
180018134:	41 5e                	pop    %r14
180018136:	41 5d                	pop    %r13
180018138:	41 5c                	pop    %r12
18001813a:	5f                   	pop    %rdi