140174c91:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140174c96:	66 3b c8             	cmp    %ax,%cx
140174c99:	74 05                	je     0x140174ca0
140174c9b:	41 8a c4             	mov    %r12b,%al
140174c9e:	eb 05                	jmp    0x140174ca5
140174ca0:	4c 89 27             	mov    %r12,(%rdi)
140174ca3:	b0 01                	mov    $0x1,%al
140174ca5:	88 47 08             	mov    %al,0x8(%rdi)
140174ca8:	eb 24                	jmp    0x140174cce
140174caa:	45 85 ed             	test   %r13d,%r13d
140174cad:	75 1a                	jne    0x140174cc9
140174caf:	41 8d 45 08          	lea    0x8(%r13),%eax
140174cb3:	44 8b e8             	mov    %eax,%r13d
140174cb6:	89 44 24 34          	mov    %eax,0x34(%rsp)
140174cba:	eb 17                	jmp    0x140174cd3
140174cbc:	41 8a f4             	mov    %r12b,%sil
140174cbf:	44 88 64 24 30       	mov    %r12b,0x30(%rsp)
140174cc4:	45 85 ed             	test   %r13d,%r13d
140174cc7:	74 1b                	je     0x140174ce4
140174cc9:	44 3b eb             	cmp    %ebx,%r13d
140174ccc:	74 16                	je     0x140174ce4
140174cce:	b8 08 00 00 00       	mov    $0x8,%eax
140174cd3:	bb 16 00 00 00       	mov    $0x16,%ebx
140174cd8:	44 3b e8             	cmp    %eax,%r13d
140174cdb:	48 0f 44 d8          	cmove  %rax,%rbx
140174cdf:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140174ce4:	4c 89 65 97          	mov    %r12,-0x69(%rbp)
140174ce8:	41 bf 0f 00 00 00    	mov    $0xf,%r15d
140174cee:	4c 89 7d af          	mov    %r15,-0x51(%rbp)
140174cf2:	66 44 89 65 97       	mov    %r12w,-0x69(%rbp)
140174cf7:	48 c7 45 a7 01 00 00 	movq   $0x1,-0x59(%rbp)
140174cfe:	00
140174cff:	40 0f b6 c6          	movzbl %sil,%eax
140174d03:	88 45 97             	mov    %al,-0x69(%rbp)
140174d06:	49 8b f4             	mov    %r12,%rsi
140174d09:	4d 8d 66 1f          	lea    0x1f(%r14),%r12
140174d0d:	4c 89 65 87          	mov    %r12,-0x79(%rbp)
140174d11:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
140174d16:	48 8b cf             	mov    %rdi,%rcx
140174d19:	e8 f2 d6 00 00       	call   0x140182410
140174d1e:	45 33 d2             	xor    %r10d,%r10d
140174d21:	4c 8b 75 97          	mov    -0x69(%rbp),%r14
140174d25:	84 c0                	test   %al,%al
140174d27:	0f 85 3f 02 00 00    	jne    0x140174f6c
140174d2d:	8a 5c 24 31          	mov    0x31(%rsp),%bl
140174d31:	4c 8b 6c 24 40       	mov    0x40(%rsp),%r13
140174d36:	44 38 57 08          	cmp    %r10b,0x8(%rdi)
140174d3a:	75 49                	jne    0x140174d85
140174d3c:	48 8b 0f             	mov    (%rdi),%rcx
140174d3f:	48 85 c9             	test   %rcx,%rcx
140174d42:	74 3a                	je     0x140174d7e
140174d44:	48 8b 41 38          	mov    0x38(%rcx),%rax
140174d48:	48 8b 10             	mov    (%rax),%rdx
140174d4b:	48 85 d2             	test   %rdx,%rdx
140174d4e:	74 0e                	je     0x140174d5e
140174d50:	48 8b 41 50          	mov    0x50(%rcx),%rax
140174d54:	44 39 10             	cmp    %r10d,(%rax)
140174d57:	7e 05                	jle    0x140174d5e
140174d59:	0f b7 02             	movzwl (%rdx),%eax
140174d5c:	eb 10                	jmp    0x140174d6e
140174d5e:	48 8b 01             	mov    (%rcx),%rax
140174d61:	48 8b 40 30          	mov    0x30(%rax),%rax
140174d65:	ff 15 b5 98 08 00    	call   *0x898b5(%rip)        # 0x1401fe620
140174d6b:	45 33 d2             	xor    %r10d,%r10d
140174d6e:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140174d73:	66 3b c8             	cmp    %ax,%cx
140174d76:	74 06                	je     0x140174d7e
140174d78:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140174d7c:	eb 03                	jmp    0x140174d81
140174d7e:	4c 89 17             	mov    %r10,(%rdi)
140174d81:	c6 47 08 01          	movb   $0x1,0x8(%rdi)
140174d85:	0f b7 4f 0a          	movzwl 0xa(%rdi),%ecx
140174d89:	48 8d 45 d7          	lea    -0x29(%rbp),%rax
140174d8d:	66 39 08             	cmp    %cx,(%rax)
140174d90:	74 0d                	je     0x140174d9f
140174d92:	48 83 c0 02          	add    $0x2,%rax
140174d96:	48 8d 55 0b          	lea    0xb(%rbp),%rdx
140174d9a:	48 3b c2             	cmp    %rdx,%rax
140174d9d:	75 ee                	jne    0x140174d8d
140174d9f:	48 8d 4d d7          	lea    -0x29(%rbp),%rcx
140174da3:	48 2b c1             	sub    %rcx,%rax
140174da6:	48 d1 f8             	sar    $1,%rax
140174da9:	49 3b c5             	cmp    %r13,%rax
140174dac:	73 5f                	jae    0x140174e0d
140174dae:	48 8d 0d b3 b8 0a 00 	lea    0xab8b3(%rip),%rcx        # 0x140220668
140174db5:	8a 0c 08             	mov    (%rax,%rcx,1),%cl
140174db8:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140174dbd:	88 08                	mov    %cl,(%rax)
140174dbf:	44 38 54 24 31       	cmp    %r10b,0x31(%rsp)
140174dc4:	75 05                	jne    0x140174dcb
140174dc6:	80 f9 30             	cmp    $0x30,%cl
140174dc9:	74 12                	je     0x140174ddd
140174dcb:	49 3b c4             	cmp    %r12,%rax
140174dce:	73 0d                	jae    0x140174ddd
140174dd0:	48 ff c0             	inc    %rax
140174dd3:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140174dd8:	c6 44 24 31 01       	movb   $0x1,0x31(%rsp)
140174ddd:	c6 44 24 30 01       	movb   $0x1,0x30(%rsp)
140174de2:	48 8d 45 97          	lea    -0x69(%rbp),%rax
140174de6:	49 83 ff 10          	cmp    $0x10,%r15
140174dea:	0f 93 c1             	setae  %cl
140174ded:	49 0f 43 c6          	cmovae %r14,%rax
140174df1:	80 3c 30 7f          	cmpb   $0x7f,(%rax,%rsi,1)
140174df5:	0f 84 e4 00 00 00    	je     0x140174edf
140174dfb:	48 8d 45 97          	lea    -0x69(%rbp),%rax
140174dff:	84 c9                	test   %cl,%cl
140174e01:	49 0f 45 c6          	cmovne %r14,%rax
140174e05:	fe 04 30             	incb   (%rax,%rsi,1)
140174e08:	e9 ca 00 00 00       	jmp    0x140174ed7
140174e0d:	48 8d 45 97          	lea    -0x69(%rbp),%rax
140174e11:	49 83 ff 10          	cmp    $0x10,%r15
140174e15:	41 0f 93 c4          	setae  %r12b
140174e19:	49 0f 43 c6          	cmovae %r14,%rax
140174e1d:	44 38 14 30          	cmp    %r10b,(%rax,%rsi,1)
140174e21:	0f 84 26 01 00 00    	je     0x140174f4d
140174e27:	44 0f b7 44 24 32    	movzwl 0x32(%rsp),%r8d
140174e2d:	66 45 85 c0          	test   %r8w,%r8w
140174e31:	0f 84 16 01 00 00    	je     0x140174f4d
140174e37:	44 38 57 08          	cmp    %r10b,0x8(%rdi)
140174e3b:	75 4f                	jne    0x140174e8c
140174e3d:	48 8b 0f             	mov    (%rdi),%rcx
140174e40:	48 85 c9             	test   %rcx,%rcx
140174e43:	74 40                	je     0x140174e85
140174e45:	48 8b 41 38          	mov    0x38(%rcx),%rax
140174e49:	48 8b 10             	mov    (%rax),%rdx
140174e4c:	48 85 d2             	test   %rdx,%rdx
140174e4f:	74 0e                	je     0x140174e5f
140174e51:	48 8b 41 50          	mov    0x50(%rcx),%rax
140174e55:	44 39 10             	cmp    %r10d,(%rax)
140174e58:	7e 05                	jle    0x140174e5f
140174e5a:	0f b7 02             	movzwl (%rdx),%eax
140174e5d:	eb 16                	jmp    0x140174e75
140174e5f:	48 8b 01             	mov    (%rcx),%rax
140174e62:	48 8b 40 30          	mov    0x30(%rax),%rax
140174e66:	ff 15 b4 97 08 00    	call   *0x897b4(%rip)        # 0x1401fe620
140174e6c:	44 0f b7 44 24 32    	movzwl 0x32(%rsp),%r8d
140174e72:	45 33 d2             	xor    %r10d,%r10d
140174e75:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140174e7a:	66 3b c8             	cmp    %ax,%cx
140174e7d:	74 06                	je     0x140174e85
140174e7f:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140174e83:	eb 03                	jmp    0x140174e88
140174e85:	4c 89 17             	mov    %r10,(%rdi)
140174e88:	c6 47 08 01          	movb   $0x1,0x8(%rdi)
140174e8c:	66 44 39 47 0a       	cmp    %r8w,0xa(%rdi)
140174e91:	0f 85 b6 00 00 00    	jne    0x140174f4d
140174e97:	48 8b 4d a7          	mov    -0x59(%rbp),%rcx
140174e9b:	49 3b cf             	cmp    %r15,%rcx
140174e9e:	73 1a                	jae    0x140174eba
140174ea0:	48 8d 41 01          	lea    0x1(%rcx),%rax
140174ea4:	48 89 45 a7          	mov    %rax,-0x59(%rbp)
140174ea8:	48 8d 45 97          	lea    -0x69(%rbp),%rax
140174eac:	45 84 e4             	test   %r12b,%r12b
140174eaf:	49 0f 45 c6          	cmovne %r14,%rax
140174eb3:	66 83 24 08 00       	andw   $0x0,(%rax,%rcx,1)
140174eb8:	eb 16                	jmp    0x140174ed0
140174eba:	45 33 c9             	xor    %r9d,%r9d
140174ebd:	44 8a c3             	mov    %bl,%r8b
140174ec0:	41 8d 51 01          	lea    0x1(%r9),%edx
140174ec4:	48 8d 4d 97          	lea    -0x69(%rbp),%rcx
140174ec8:	e8 5b 3e ff ff       	call   0x140168d28
140174ecd:	45 33 d2             	xor    %r10d,%r10d
140174ed0:	48 ff c6             	inc    %rsi
140174ed3:	4c 8b 65 87          	mov    -0x79(%rbp),%r12
140174ed7:	4c 8b 75 97          	mov    -0x69(%rbp),%r14
140174edb:	4c 8b 7d af          	mov    -0x51(%rbp),%r15
140174edf:	48 8b 0f             	mov    (%rdi),%rcx
140174ee2:	48 85 c9             	test   %rcx,%rcx
140174ee5:	74 46                	je     0x140174f2d
140174ee7:	48 8b 41 38          	mov    0x38(%rcx),%rax
140174eeb:	4c 39 10             	cmp    %r10,(%rax)
140174eee:	74 1e                	je     0x140174f0e
140174ef0:	48 8b 41 50          	mov    0x50(%rcx),%rax
140174ef4:	44 39 10             	cmp    %r10d,(%rax)
140174ef7:	7e 15                	jle    0x140174f0e
140174ef9:	ff 08                	decl   (%rax)
140174efb:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140174eff:	48 8b 11             	mov    (%rcx),%rdx
140174f02:	48 8d 42 02          	lea    0x2(%rdx),%rax
140174f06:	48 89 01             	mov    %rax,(%rcx)
140174f09:	0f b7 02             	movzwl (%rdx),%eax
140174f0c:	eb 10                	jmp    0x140174f1e
140174f0e:	48 8b 01             	mov    (%rcx),%rax
140174f11:	48 8b 40 38          	mov    0x38(%rax),%rax
140174f15:	ff 15 05 97 08 00    	call   *0x89705(%rip)        # 0x1401fe620
140174f1b:	45 33 d2             	xor    %r10d,%r10d
140174f1e:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140174f23:	66 3b c8             	cmp    %ax,%cx
140174f26:	74 05                	je     0x140174f2d
140174f28:	41 8a c2             	mov    %r10b,%al
140174f2b:	eb 05                	jmp    0x140174f32
140174f2d:	4c 89 17             	mov    %r10,(%rdi)
140174f30:	b0 01                	mov    $0x1,%al
140174f32:	88 47 08             	mov    %al,0x8(%rdi)
140174f35:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
140174f3a:	48 8b cf             	mov    %rdi,%rcx
140174f3d:	e8 ce d4 00 00       	call   0x140182410
140174f42:	45 33 d2             	xor    %r10d,%r10d
140174f45:	84 c0                	test   %al,%al
140174f47:	0f 84 e9 fd ff ff    	je     0x140174d36
140174f4d:	48 85 f6             	test   %rsi,%rsi
140174f50:	44 8b 6c 24 34       	mov    0x34(%rsp),%r13d
140174f55:	74 15                	je     0x140174f6c
140174f57:	48 8d 45 97          	lea    -0x69(%rbp),%rax
140174f5b:	49 83 ff 10          	cmp    $0x10,%r15
140174f5f:	49 0f 43 c6          	cmovae %r14,%rax
140174f63:	44 38 14 30          	cmp    %r10b,(%rax,%rsi,1)
140174f67:	7e 66                	jle    0x140174fcf
140174f69:	48 ff c6             	inc    %rsi
140174f6c:	8a 44 24 30          	mov    0x30(%rsp),%al
140174f70:	48 8d 55 b7          	lea    -0x49(%rbp),%rdx
140174f74:	48 8b 4d b7          	mov    -0x49(%rbp),%rcx
140174f78:	4c 8b 45 cf          	mov    -0x31(%rbp),%r8
140174f7c:	49 83 f8 10          	cmp    $0x10,%r8
140174f80:	48 0f 43 d1          	cmovae %rcx,%rdx
140174f84:	84 c0                	test   %al,%al
140174f86:	74 60                	je     0x140174fe8
140174f88:	48 85 f6             	test   %rsi,%rsi
140174f8b:	74 47                	je     0x140174fd4
140174f8d:	44 8a 0a             	mov    (%rdx),%r9b
140174f90:	41 80 f9 7f          	cmp    $0x7f,%r9b
140174f94:	74 3e                	je     0x140174fd4
140174f96:	48 83 ee 01          	sub    $0x1,%rsi
140174f9a:	74 12                	je     0x140174fae
140174f9c:	48 8d 45 97          	lea    -0x69(%rbp),%rax
140174fa0:	49 83 ff 10          	cmp    $0x10,%r15
140174fa4:	49 0f 43 c6          	cmovae %r14,%rax
140174fa8:	44 3a 0c 30          	cmp    (%rax,%rsi,1),%r9b
140174fac:	75 3a                	jne    0x140174fe8
140174fae:	48 85 f6             	test   %rsi,%rsi
140174fb1:	75 11                	jne    0x140174fc4
140174fb3:	48 8d 45 97          	lea    -0x69(%rbp),%rax
140174fb7:	49 83 ff 10          	cmp    $0x10,%r15
140174fbb:	49 0f 43 c6          	cmovae %r14,%rax
140174fbf:	44 3a 08             	cmp    (%rax),%r9b
140174fc2:	7c 24                	jl     0x140174fe8
140174fc4:	44 38 52 01          	cmp    %r10b,0x1(%rdx)
140174fc8:	7e be                	jle    0x140174f88
140174fca:	48 ff c2             	inc    %rdx
140174fcd:	eb b9                	jmp    0x140174f88
140174fcf:	41 8a c2             	mov    %r10b,%al
140174fd2:	eb 9c                	jmp    0x140174f70
140174fd4:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140174fd9:	44 38 54 24 31       	cmp    %r10b,0x31(%rsp)
140174fde:	75 0c                	jne    0x140174fec
140174fe0:	c6 00 30             	movb   $0x30,(%rax)
140174fe3:	48 ff c0             	inc    %rax
140174fe6:	eb 04                	jmp    0x140174fec
140174fe8:	48 8b 45 8f          	mov    -0x71(%rbp),%rax
140174fec:	44 88 10             	mov    %r10b,(%rax)
140174fef:	bb 00 10 00 00       	mov    $0x1000,%ebx
140174ff4:	49 83 ff 10          	cmp    $0x10,%r15
140174ff8:	72 31                	jb     0x14017502b
140174ffa:	49 8d 57 01          	lea    0x1(%r15),%rdx
140174ffe:	49 8b c6             	mov    %r14,%rax
140175001:	48 3b d3             	cmp    %rbx,%rdx
140175004:	72 15                	jb     0x14017501b
140175006:	48 83 c2 27          	add    $0x27,%rdx
14017500a:	4d 8b 76 f8          	mov    -0x8(%r14),%r14
14017500e:	49 2b c6             	sub    %r14,%rax
140175011:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140175015:	48 83 f8 1f          	cmp    $0x1f,%rax
140175019:	77 6c                	ja     0x140175087
14017501b:	49 8b ce             	mov    %r14,%rcx
14017501e:	e8 29 16 01 00       	call   0x14018664c
140175023:	4c 8b 45 cf          	mov    -0x31(%rbp),%r8
140175027:	48 8b 4d b7          	mov    -0x49(%rbp),%rcx
14017502b:	49 83 f8 10          	cmp    $0x10,%r8
14017502f:	72 26                	jb     0x140175057
140175031:	49 8d 50 01          	lea    0x1(%r8),%rdx
140175035:	48 8b c1             	mov    %rcx,%rax
140175038:	48 3b d3             	cmp    %rbx,%rdx
14017503b:	72 15                	jb     0x140175052
14017503d:	48 83 c2 27          	add    $0x27,%rdx
140175041:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140175045:	48 2b c1             	sub    %rcx,%rax
140175048:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
14017504c:	48 83 f8 1f          	cmp    $0x1f,%rax
140175050:	77 2f                	ja     0x140175081
140175052:	e8 f5 15 01 00       	call   0x14018664c
140175057:	41 8b c5             	mov    %r13d,%eax
14017505a:	48 8b 4d 0f          	mov    0xf(%rbp),%rcx
14017505e:	48 33 cc             	xor    %rsp,%rcx
140175061:	e8 6a 12 01 00       	call   0x1401862d0
140175066:	48 8b 9c 24 20 01 00 	mov    0x120(%rsp),%rbx
14017506d:	00
14017506e:	48 81 c4 e0 00 00 00 	add    $0xe0,%rsp
140175075:	41 5f                	pop    %r15
140175077:	41 5e                	pop    %r14
140175079:	41 5d                	pop    %r13
14017507b:	41 5c                	pop    %r12
14017507d:	5f                   	pop    %rdi
14017507e:	5e                   	pop    %rsi
14017507f:	5d                   	pop    %rbp
140175080:	c3                   	ret
140175081:	e8 fe 64 01 00       	call   0x14018b584
140175086:	90                   	nop
140175087:	e8 f8 64 01 00       	call   0x14018b584
14017508c:	90                   	nop
14017508d:	cc                   	int3
14017508e:	cc                   	int3
14017508f:	cc                   	int3
140175090:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140175095:	55                   	push   %rbp
140175096:	56                   	push   %rsi
140175097:	57                   	push   %rdi
140175098:	41 54                	push   %r12
14017509a:	41 55                	push   %r13
14017509c:	41 56                	push   %r14
14017509e:	41 57                	push   %r15
1401750a0:	48 8b ec             	mov    %rsp,%rbp
1401750a3:	48 83 ec 70          	sub    $0x70,%rsp
1401750a7:	48 8b 05 c2 61 13 00 	mov    0x1361c2(%rip),%rax        # 0x1402ab270
1401750ae:	48 33 c4             	xor    %rsp,%rax
1401750b1:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
1401750b5:	44 8b 6d 60          	mov    0x60(%rbp),%r13d
1401750b9:	48 8d 75 d0          	lea    -0x30(%rbp),%rsi
1401750bd:	48 8b 45 68          	mov    0x68(%rbp),%rax
1401750c1:	45 33 ff             	xor    %r15d,%r15d
1401750c4:	4c 8b 65 70          	mov    0x70(%rbp),%r12
1401750c8:	41 81 fd e7 03 00 00 	cmp    $0x3e7,%r13d
1401750cf:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
1401750d3:	48 8b da             	mov    %rdx,%rbx
1401750d6:	41 0f 9f c7          	setg   %r15b
1401750da:	44 89 4d b4          	mov    %r9d,-0x4c(%rbp)
1401750de:	41 83 c7 03          	add    $0x3,%r15d
1401750e2:	48 89 75 b8          	mov    %rsi,-0x48(%rbp)
1401750e6:	41 83 fd 63          	cmp    $0x63,%r13d
1401750ea:	b8 02 00 00 00       	mov    $0x2,%eax
1401750ef:	49 8b d0             	mov    %r8,%rdx
1401750f2:	48 8b cb             	mov    %rbx,%rcx
1401750f5:	44 0f 4e f8          	cmovle %eax,%r15d
1401750f9:	4d 8b f0             	mov    %r8,%r14
1401750fc:	b8 01 00 00 00       	mov    $0x1,%eax
140175101:	41 83 fd 09          	cmp    $0x9,%r13d
140175105:	44 0f 4e f8          	cmovle %eax,%r15d
140175109:	33 ff                	xor    %edi,%edi
14017510b:	e8 00 d3 00 00       	call   0x140182410
140175110:	84 c0                	test   %al,%al
140175112:	0f 85 e0 00 00 00    	jne    0x1401751f8
140175118:	41 bd ff ff 00 00    	mov    $0xffff,%r13d
14017511e:	41 3b ff             	cmp    %r15d,%edi
140175121:	0f 8d cd 00 00 00    	jge    0x1401751f4
140175127:	80 7b 08 00          	cmpb   $0x0,0x8(%rbx)
14017512b:	75 43                	jne    0x140175170
14017512d:	48 8b 0b             	mov    (%rbx),%rcx
140175130:	48 85 c9             	test   %rcx,%rcx
140175133:	74 33                	je     0x140175168
140175135:	48 8b 41 38          	mov    0x38(%rcx),%rax
140175139:	48 8b 10             	mov    (%rax),%rdx