180063cee:	eb 48                	jmp    0x180063d38
180063cf0:	48 8d 55 e4          	lea    -0x1c(%rbp),%rdx
180063cf4:	48 8d 4d 48          	lea    0x48(%rbp),%rcx
180063cf8:	e8 33 df ff ff       	call   0x180061c30
180063cfd:	8b f0                	mov    %eax,%esi
180063cff:	85 c0                	test   %eax,%eax
180063d01:	0f 88 20 01 00 00    	js     0x180063e27
180063d07:	8b 55 48             	mov    0x48(%rbp),%edx
180063d0a:	48 8d 4d 48          	lea    0x48(%rbp),%rcx
180063d0e:	e8 69 05 00 00       	call   0x18006427c
180063d13:	8b 55 e4             	mov    -0x1c(%rbp),%edx
180063d16:	0f b7 08             	movzwl (%rax),%ecx
180063d19:	8a 40 02             	mov    0x2(%rax),%al
180063d1c:	66 89 4d e8          	mov    %cx,-0x18(%rbp)
180063d20:	48 8d 4d 48          	lea    0x48(%rbp),%rcx
180063d24:	88 45 e0             	mov    %al,-0x20(%rbp)
180063d27:	e8 50 05 00 00       	call   0x18006427c
180063d2c:	45 8b 4e 08          	mov    0x8(%r14),%r9d
180063d30:	44 8b 55 ec          	mov    -0x14(%rbp),%r10d
180063d34:	44 8b 5d f0          	mov    -0x10(%rbp),%r11d
180063d38:	0f b7 08             	movzwl (%rax),%ecx
180063d3b:	41 be 80 00 00 00    	mov    $0x80,%r14d
180063d41:	40 8a 70 02          	mov    0x2(%rax),%sil
180063d45:	41 8a d6             	mov    %r14b,%dl
180063d48:	40 88 75 48          	mov    %sil,0x48(%rbp)
180063d4c:	66 89 4d e4          	mov    %cx,-0x1c(%rbp)
180063d50:	45 85 e4             	test   %r12d,%r12d
180063d53:	0f 84 c3 00 00 00    	je     0x180063e1c
180063d59:	45 8b c4             	mov    %r12d,%r8d
180063d5c:	41 83 f9 01          	cmp    $0x1,%r9d
180063d60:	75 6f                	jne    0x180063dd1
180063d62:	44 8a 4d e9          	mov    -0x17(%rbp),%r9b
180063d66:	40 8a f1             	mov    %cl,%sil
180063d69:	44 8a 55 e8          	mov    -0x18(%rbp),%r10b
180063d6d:	44 8a 6d 48          	mov    0x48(%rbp),%r13b
180063d71:	44 8a 65 e0          	mov    -0x20(%rbp),%r12b
180063d75:	45 8b f3             	mov    %r11d,%r14d
180063d78:	44 8a 5d e5          	mov    -0x1b(%rbp),%r11b
180063d7c:	84 17                	test   %dl,(%rdi)
180063d7e:	74 0d                	je     0x180063d8d
180063d80:	40 88 73 02          	mov    %sil,0x2(%rbx)
180063d84:	44 88 5b 01          	mov    %r11b,0x1(%rbx)
180063d88:	44 88 2b             	mov    %r13b,(%rbx)
180063d8b:	eb 0b                	jmp    0x180063d98
180063d8d:	44 88 53 02          	mov    %r10b,0x2(%rbx)
180063d91:	44 88 4b 01          	mov    %r9b,0x1(%rbx)
180063d95:	44 88 23             	mov    %r12b,(%rbx)
180063d98:	41 83 ff 20          	cmp    $0x20,%r15d
180063d9c:	75 04                	jne    0x180063da2
180063d9e:	c6 43 03 00          	movb   $0x0,0x3(%rbx)
180063da2:	d0 ea                	shr    $1,%dl
180063da4:	49 03 de             	add    %r14,%rbx
180063da7:	84 d2                	test   %dl,%dl
180063da9:	0f b6 c2             	movzbl %dl,%eax
180063dac:	8a ca                	mov    %dl,%cl
180063dae:	ba 80 00 00 00       	mov    $0x80,%edx
180063db3:	0f 44 c2             	cmove  %edx,%eax
180063db6:	84 c9                	test   %cl,%cl
180063db8:	8a d0                	mov    %al,%dl
180063dba:	48 8d 47 01          	lea    0x1(%rdi),%rax
180063dbe:	48 0f 45 c7          	cmovne %rdi,%rax
180063dc2:	48 8b f8             	mov    %rax,%rdi
180063dc5:	49 83 e8 01          	sub    $0x1,%r8
180063dc9:	75 b1                	jne    0x180063d7c
180063dcb:	4c 8b 6d f8          	mov    -0x8(%rbp),%r13
180063dcf:	eb 4b                	jmp    0x180063e1c
180063dd1:	44 8a 4d e5          	mov    -0x1b(%rbp),%r9b
180063dd5:	45 8b da             	mov    %r10d,%r11d
180063dd8:	44 8a 55 e4          	mov    -0x1c(%rbp),%r10b
180063ddc:	44 38 57 02          	cmp    %r10b,0x2(%rdi)
180063de0:	75 0f                	jne    0x180063df1
180063de2:	44 38 4f 01          	cmp    %r9b,0x1(%rdi)
180063de6:	75 09                	jne    0x180063df1
180063de8:	40 38 37             	cmp    %sil,(%rdi)
180063deb:	75 04                	jne    0x180063df1
180063ded:	08 13                	or     %dl,(%rbx)
180063def:	eb 06                	jmp    0x180063df7
180063df1:	8a c2                	mov    %dl,%al
180063df3:	f6 d0                	not    %al
180063df5:	20 03                	and    %al,(%rbx)
180063df7:	d0 ea                	shr    $1,%dl
180063df9:	49 03 fb             	add    %r11,%rdi
180063dfc:	84 d2                	test   %dl,%dl
180063dfe:	0f b6 c2             	movzbl %dl,%eax
180063e01:	8a ca                	mov    %dl,%cl
180063e03:	41 0f 44 c6          	cmove  %r14d,%eax
180063e07:	84 c9                	test   %cl,%cl
180063e09:	8a d0                	mov    %al,%dl
180063e0b:	48 8d 43 01          	lea    0x1(%rbx),%rax
180063e0f:	48 0f 45 c3          	cmovne %rbx,%rax
180063e13:	48 8b d8             	mov    %rax,%rbx
180063e16:	49 83 e8 01          	sub    $0x1,%r8
180063e1a:	75 c0                	jne    0x180063ddc
180063e1c:	48 8b 45 60          	mov    0x60(%rbp),%rax
180063e20:	33 f6                	xor    %esi,%esi
180063e22:	4c 89 28             	mov    %r13,(%rax)
180063e25:	eb 14                	jmp    0x180063e3b
180063e27:	4d 85 ed             	test   %r13,%r13
180063e2a:	74 0f                	je     0x180063e3b
180063e2c:	49 8b cd             	mov    %r13,%rcx
180063e2f:	e8 cc 03 00 00       	call   0x180064200
180063e34:	eb 05                	jmp    0x180063e3b
180063e36:	be 0d 00 00 c0       	mov    $0xc000000d,%esi
180063e3b:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
180063e42:	00
180063e43:	8b c6                	mov    %esi,%eax
180063e45:	48 83 c4 40          	add    $0x40,%rsp
180063e49:	41 5f                	pop    %r15
180063e4b:	41 5e                	pop    %r14
180063e4d:	41 5d                	pop    %r13
180063e4f:	41 5c                	pop    %r12
180063e51:	5f                   	pop    %rdi
180063e52:	5e                   	pop    %rsi
180063e53:	5d                   	pop    %rbp
180063e54:	c3                   	ret
180063e55:	cc                   	int3
180063e56:	cc                   	int3
180063e57:	cc                   	int3
180063e58:	4c 8b dc             	mov    %rsp,%r11
180063e5b:	49 89 5b 10          	mov    %rbx,0x10(%r11)
180063e5f:	49 89 6b 18          	mov    %rbp,0x18(%r11)
180063e63:	49 89 73 20          	mov    %rsi,0x20(%r11)
180063e67:	57                   	push   %rdi
180063e68:	48 83 ec 60          	sub    $0x60,%rsp
180063e6c:	48 8b 01             	mov    (%rcx),%rax
180063e6f:	48 8b fa             	mov    %rdx,%rdi
180063e72:	49 8d 53 08          	lea    0x8(%r11),%rdx
180063e76:	41 8b f1             	mov    %r9d,%esi
180063e79:	41 8b e8             	mov    %r8d,%ebp
180063e7c:	48 8b d9             	mov    %rcx,%rbx
180063e7f:	48 8b 80 80 00 00 00 	mov    0x80(%rax),%rax
180063e86:	ff d0                	call   *%rax
180063e88:	0f 1f 00             	nopl   (%rax)
180063e8b:	85 c0                	test   %eax,%eax
180063e8d:	78 69                	js     0x180063ef8
180063e8f:	8b 54 24 70          	mov    0x70(%rsp),%edx
180063e93:	48 8d 44 24 50       	lea    0x50(%rsp),%rax
180063e98:	45 33 c9             	xor    %r9d,%r9d
180063e9b:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180063ea0:	45 33 c0             	xor    %r8d,%r8d
180063ea3:	48 8b cf             	mov    %rdi,%rcx
180063ea6:	e8 fd fc ff ff       	call   0x180063ba8
180063eab:	85 c0                	test   %eax,%eax
180063ead:	78 49                	js     0x180063ef8
180063eaf:	48 8b 7c 24 50       	mov    0x50(%rsp),%rdi
180063eb4:	45 33 c9             	xor    %r9d,%r9d
180063eb7:	48 8b 03             	mov    (%rbx),%rax
180063eba:	48 8b cb             	mov    %rbx,%rcx
180063ebd:	44 8b 47 04          	mov    0x4(%rdi),%r8d
180063ec1:	8b 17                	mov    (%rdi),%edx
180063ec3:	48 8b 80 a0 00 00 00 	mov    0xa0(%rax),%rax
180063eca:	44 89 44 24 40       	mov    %r8d,0x40(%rsp)
180063ecf:	89 54 24 38          	mov    %edx,0x38(%rsp)
180063ed3:	48 8b 57 18          	mov    0x18(%rdi),%rdx
180063ed7:	44 89 44 24 30       	mov    %r8d,0x30(%rsp)
180063edc:	45 33 c0             	xor    %r8d,%r8d
180063edf:	89 74 24 28          	mov    %esi,0x28(%rsp)
180063ee3:	89 6c 24 20          	mov    %ebp,0x20(%rsp)
180063ee7:	ff d0                	call   *%rax
180063ee9:	0f 1f 00             	nopl   (%rax)
180063eec:	48 8b cf             	mov    %rdi,%rcx
180063eef:	8b d8                	mov    %eax,%ebx
180063ef1:	e8 0a 03 00 00       	call   0x180064200
180063ef6:	8b c3                	mov    %ebx,%eax
180063ef8:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
180063efd:	49 8b 5b 18          	mov    0x18(%r11),%rbx
180063f01:	49 8b 6b 20          	mov    0x20(%r11),%rbp
180063f05:	49 8b 73 28          	mov    0x28(%r11),%rsi
180063f09:	49 8b e3             	mov    %r11,%rsp
180063f0c:	5f                   	pop    %rdi
180063f0d:	c3                   	ret
180063f0e:	cc                   	int3
180063f0f:	cc                   	int3
180063f10:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
180063f15:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180063f1a:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
180063f1f:	55                   	push   %rbp
180063f20:	57                   	push   %rdi
180063f21:	41 56                	push   %r14
180063f23:	48 8b ec             	mov    %rsp,%rbp
180063f26:	48 83 ec 40          	sub    $0x40,%rsp
180063f2a:	48 8b 3d ff 0c 14 00 	mov    0x140cff(%rip),%rdi        # 0x1801a4c30
180063f31:	48 8b f2             	mov    %rdx,%rsi
180063f34:	48 8d 55 20          	lea    0x20(%rbp),%rdx
180063f38:	48 8b cf             	mov    %rdi,%rcx
180063f3b:	4d 8b f0             	mov    %r8,%r14
180063f3e:	48 8b 07             	mov    (%rdi),%rax
180063f41:	48 8b 80 80 00 00 00 	mov    0x80(%rax),%rax
180063f48:	ff d0                	call   *%rax
180063f4a:	0f 1f 00             	nopl   (%rax)
180063f4d:	8b d8                	mov    %eax,%ebx
180063f4f:	85 c0                	test   %eax,%eax
180063f51:	0f 88 98 00 00 00    	js     0x180063fef
180063f57:	48 8b 07             	mov    (%rdi),%rax
180063f5a:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
180063f5e:	48 8b cf             	mov    %rdi,%rcx
180063f61:	48 8b 40 58          	mov    0x58(%rax),%rax
180063f65:	ff d0                	call   *%rax
180063f67:	0f 1f 00             	nopl   (%rax)
180063f6a:	8b d8                	mov    %eax,%ebx
180063f6c:	85 c0                	test   %eax,%eax
180063f6e:	78 7f                	js     0x180063fef
180063f70:	48 8b 07             	mov    (%rdi),%rax
180063f73:	48 8d 55 38          	lea    0x38(%rbp),%rdx
180063f77:	48 8b cf             	mov    %rdi,%rcx
180063f7a:	48 8b 80 a8 00 00 00 	mov    0xa8(%rax),%rax
180063f81:	ff d0                	call   *%rax
180063f83:	0f 1f 00             	nopl   (%rax)
180063f86:	8b d8                	mov    %eax,%ebx
180063f88:	85 c0                	test   %eax,%eax
180063f8a:	78 63                	js     0x180063fef
180063f8c:	83 3d e5 89 10 00 00 	cmpl   $0x0,0x1089e5(%rip)        # 0x18016c978
180063f93:	4c 8b 55 38          	mov    0x38(%rbp),%r10
180063f97:	75 05                	jne    0x180063f9e
180063f99:	49 8b c2             	mov    %r10,%rax
180063f9c:	eb 2e                	jmp    0x180063fcc
180063f9e:	4d 85 d2             	test   %r10,%r10
180063fa1:	74 18                	je     0x180063fbb
180063fa3:	45 33 c9             	xor    %r9d,%r9d
180063fa6:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
180063faa:	45 33 c0             	xor    %r8d,%r8d
180063fad:	49 8b ca             	mov    %r10,%rcx
180063fb0:	e8 d7 95 03 00       	call   0x18009d58c
180063fb5:	4c 8b 55 38          	mov    0x38(%rbp),%r10
180063fb9:	eb 02                	jmp    0x180063fbd
180063fbb:	32 c0                	xor    %al,%al
180063fbd:	84 c0                	test   %al,%al
180063fbf:	75 07                	jne    0x180063fc8
180063fc1:	bb 01 00 00 c0       	mov    $0xc0000001,%ebx
180063fc6:	eb 27                	jmp    0x180063fef
180063fc8:	48 8b 45 e0          	mov    -0x20(%rbp),%rax
180063fcc:	8b 4d 20             	mov    0x20(%rbp),%ecx
180063fcf:	89 4e 14             	mov    %ecx,0x14(%rsi)
180063fd2:	8b 4d e8             	mov    -0x18(%rbp),%ecx
180063fd5:	89 4e 08             	mov    %ecx,0x8(%rsi)
180063fd8:	8b 4d ec             	mov    -0x14(%rbp),%ecx
180063fdb:	48 89 06             	mov    %rax,(%rsi)
180063fde:	8b 45 f0             	mov    -0x10(%rbp),%eax
180063fe1:	89 4e 0c             	mov    %ecx,0xc(%rsi)
180063fe4:	89 46 10             	mov    %eax,0x10(%rsi)
180063fe7:	4d 85 f6             	test   %r14,%r14
180063fea:	74 03                	je     0x180063fef
180063fec:	4d 89 16             	mov    %r10,(%r14)
180063fef:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
180063ff4:	8b c3                	mov    %ebx,%eax
180063ff6:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
180063ffb:	48 83 c4 40          	add    $0x40,%rsp
180063fff:	41 5e                	pop    %r14
180064001:	5f                   	pop    %rdi
180064002:	5d                   	pop    %rbp
180064003:	c3                   	ret
180064004:	cc                   	int3
180064005:	cc                   	int3
180064006:	cc                   	int3
180064007:	cc                   	int3
180064008:	4c 8b dc             	mov    %rsp,%r11
18006400b:	49 89 5b 10          	mov    %rbx,0x10(%r11)
18006400f:	49 89 6b 18          	mov    %rbp,0x18(%r11)
180064013:	56                   	push   %rsi
180064014:	57                   	push   %rdi
180064015:	41 56                	push   %r14
180064017:	48 83 ec 60          	sub    $0x60,%rsp
18006401b:	48 8b 01             	mov    (%rcx),%rax
18006401e:	48 8b f2             	mov    %rdx,%rsi
180064021:	49 8d 53 08          	lea    0x8(%r11),%rdx
180064025:	41 8b e9             	mov    %r9d,%ebp
180064028:	45 8b f0             	mov    %r8d,%r14d
18006402b:	48 8b f9             	mov    %rcx,%rdi
18006402e:	48 8b 80 80 00 00 00 	mov    0x80(%rax),%rax
180064035:	ff d0                	call   *%rax
180064037:	0f 1f 00             	nopl   (%rax)
18006403a:	85 c0                	test   %eax,%eax
18006403c:	78 74                	js     0x1800640b2
18006403e:	44 8b 84 24 80 00 00 	mov    0x80(%rsp),%r8d
180064045:	00
180064046:	4c 8d 4c 24 50       	lea    0x50(%rsp),%r9
18006404b:	8b 94 24 a8 00 00 00 	mov    0xa8(%rsp),%edx
180064052:	8b 8c 24 a0 00 00 00 	mov    0xa0(%rsp),%ecx
180064059:	e8 6a 00 00 00       	call   0x1800640c8
18006405e:	85 c0                	test   %eax,%eax
180064060:	78 50                	js     0x1800640b2
180064062:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
180064067:	45 33 c9             	xor    %r9d,%r9d
18006406a:	48 8b 07             	mov    (%rdi),%rax
18006406d:	45 33 c0             	xor    %r8d,%r8d
180064070:	8b 53 04             	mov    0x4(%rbx),%edx
180064073:	8b 0b                	mov    (%rbx),%ecx
180064075:	48 8b 80 98 00 00 00 	mov    0x98(%rax),%rax
18006407c:	89 54 24 40          	mov    %edx,0x40(%rsp)
180064080:	89 4c 24 38          	mov    %ecx,0x38(%rsp)
180064084:	48 8b cf             	mov    %rdi,%rcx
180064087:	89 54 24 30          	mov    %edx,0x30(%rsp)
18006408b:	48 8b 53 18          	mov    0x18(%rbx),%rdx
18006408f:	89 6c 24 28          	mov    %ebp,0x28(%rsp)
180064093:	44 89 74 24 20       	mov    %r14d,0x20(%rsp)
180064098:	ff d0                	call   *%rax
18006409a:	0f 1f 00             	nopl   (%rax)
18006409d:	8b f8                	mov    %eax,%edi
18006409f:	85 c0                	test   %eax,%eax
1800640a1:	78 05                	js     0x1800640a8
1800640a3:	48 89 1e             	mov    %rbx,(%rsi)
1800640a6:	eb 08                	jmp    0x1800640b0
1800640a8:	48 8b cb             	mov    %rbx,%rcx
1800640ab:	e8 50 01 00 00       	call   0x180064200
1800640b0:	8b c7                	mov    %edi,%eax
1800640b2:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
1800640b7:	49 8b 5b 28          	mov    0x28(%r11),%rbx
1800640bb:	49 8b 6b 30          	mov    0x30(%r11),%rbp
1800640bf:	49 8b e3             	mov    %r11,%rsp
1800640c2:	41 5e                	pop    %r14
1800640c4:	5f                   	pop    %rdi
1800640c5:	5e                   	pop    %rsi
1800640c6:	c3                   	ret
1800640c7:	cc                   	int3
1800640c8:	48 8b c4             	mov    %rsp,%rax
1800640cb:	48 89 58 08          	mov    %rbx,0x8(%rax)
1800640cf:	48 89 68 10          	mov    %rbp,0x10(%rax)
1800640d3:	48 89 70 18          	mov    %rsi,0x18(%rax)
1800640d7:	48 89 78 20          	mov    %rdi,0x20(%rax)
1800640db:	41 56                	push   %r14
1800640dd:	48 83 ec 50          	sub    $0x50,%rsp
1800640e1:	8b e9                	mov    %ecx,%ebp
1800640e3:	4d 8b f1             	mov    %r9,%r14
1800640e6:	b9 20 00 00 00       	mov    $0x20,%ecx
1800640eb:	41 8b d8             	mov    %r8d,%ebx
1800640ee:	8b f2                	mov    %edx,%esi
1800640f0:	e8 5b 5d 03 00       	call   0x180099e50
1800640f5:	48 8b f8             	mov    %rax,%rdi
1800640f8:	48 85 c0             	test   %rax,%rax
1800640fb:	75 0a                	jne    0x180064107
1800640fd:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
180064102:	e9 d9 00 00 00       	jmp    0x1800641e0
180064107:	83 60 10 00          	andl   $0x0,0x10(%rax)
18006410b:	48 8b cd             	mov    %rbp,%rcx
18006410e:	48 0f af ce          	imul   %rsi,%rcx
180064112:	ba ff ff ff ff       	mov    $0xffffffff,%edx
180064117:	89 28                	mov    %ebp,(%rax)
180064119:	89 70 04             	mov    %esi,0x4(%rax)
18006411c:	89 58 08             	mov    %ebx,0x8(%rax)
18006411f:	48 3b ca             	cmp    %rdx,%rcx
180064122:	0f 87 ab 00 00 00    	ja     0x1800641d3
180064128:	8b c9                	mov    %ecx,%ecx
18006412a:	48 0f af cb          	imul   %rbx,%rcx
18006412e:	48 3b ca             	cmp    %rdx,%rcx
180064131:	0f 87 9c 00 00 00    	ja     0x1800641d3
180064137:	8b c1                	mov    %ecx,%eax
180064139:	48 8d 77 18          	lea    0x18(%rdi),%rsi
18006413d:	c1 e8 03             	shr    $0x3,%eax
180064140:	33 db                	xor    %ebx,%ebx
180064142:	f6 c1 07             	test   $0x7,%cl