140021c8e:	49 03 ff             	add    %r15,%rdi
140021c91:	e9 af 00 00 00       	jmp    0x140021d45
140021c96:	45 85 c9             	test   %r9d,%r9d
140021c99:	0f 84 a6 00 00 00    	je     0x140021d45
140021c9f:	41 81 f9 00 e1 f5 05 	cmp    $0x5f5e100,%r9d
140021ca6:	72 05                	jb     0x140021cad
140021ca8:	41 8b cf             	mov    %r15d,%ecx
140021cab:	eb 66                	jmp    0x140021d13
140021cad:	41 81 f9 80 96 98 00 	cmp    $0x989680,%r9d
140021cb4:	72 07                	jb     0x140021cbd
140021cb6:	b9 08 00 00 00       	mov    $0x8,%ecx
140021cbb:	eb 56                	jmp    0x140021d13
140021cbd:	41 81 f9 40 42 0f 00 	cmp    $0xf4240,%r9d
140021cc4:	72 07                	jb     0x140021ccd
140021cc6:	b9 07 00 00 00       	mov    $0x7,%ecx
140021ccb:	eb 46                	jmp    0x140021d13
140021ccd:	41 81 f9 a0 86 01 00 	cmp    $0x186a0,%r9d
140021cd4:	72 07                	jb     0x140021cdd
140021cd6:	b9 06 00 00 00       	mov    $0x6,%ecx
140021cdb:	eb 36                	jmp    0x140021d13
140021cdd:	41 81 f9 10 27 00 00 	cmp    $0x2710,%r9d
140021ce4:	72 07                	jb     0x140021ced
140021ce6:	b9 05 00 00 00       	mov    $0x5,%ecx
140021ceb:	eb 26                	jmp    0x140021d13
140021ced:	41 81 f9 e8 03 00 00 	cmp    $0x3e8,%r9d
140021cf4:	72 07                	jb     0x140021cfd
140021cf6:	b9 04 00 00 00       	mov    $0x4,%ecx
140021cfb:	eb 16                	jmp    0x140021d13
140021cfd:	41 83 f9 64          	cmp    $0x64,%r9d
140021d01:	72 07                	jb     0x140021d0a
140021d03:	b9 03 00 00 00       	mov    $0x3,%ecx
140021d08:	eb 09                	jmp    0x140021d13
140021d0a:	41 83 f9 0a          	cmp    $0xa,%r9d
140021d0e:	1b c9                	sbb    %ecx,%ecx
140021d10:	83 c1 02             	add    $0x2,%ecx
140021d13:	48 8b c5             	mov    %rbp,%rax
140021d16:	44 8b f9             	mov    %ecx,%r15d
140021d19:	48 2b c7             	sub    %rdi,%rax
140021d1c:	49 3b c7             	cmp    %r15,%rax
140021d1f:	0f 8c 97 03 00 00    	jl     0x1400220bc
140021d25:	0f ae e8             	lfence
140021d28:	4c 8b c7             	mov    %rdi,%r8
140021d2b:	41 8b d1             	mov    %r9d,%edx
140021d2e:	e8 c9 1c 00 00       	call   0x1400239fc
140021d33:	49 03 ff             	add    %r15,%rdi
140021d36:	88 9c 24 88 00 00 00 	mov    %bl,0x88(%rsp)
140021d3d:	41 bf 09 00 00 00    	mov    $0x9,%r15d
140021d43:	8a c3                	mov    %bl,%al
140021d45:	8b 8c 24 98 00 00 00 	mov    0x98(%rsp),%ecx
140021d4c:	48 8d 15 ad e2 fd ff 	lea    -0x21d53(%rip),%rdx        # 0x140000000
140021d53:	4c 8b 4c 24 30       	mov    0x30(%rsp),%r9
140021d58:	2b cb                	sub    %ebx,%ecx
140021d5a:	2b f3                	sub    %ebx,%esi
140021d5c:	44 8b 5c 24 24       	mov    0x24(%rsp),%r11d
140021d61:	89 8c 24 98 00 00 00 	mov    %ecx,0x98(%rsp)
140021d68:	0f 89 d4 fe ff ff    	jns    0x140021c42
140021d6e:	84 c0                	test   %al,%al
140021d70:	75 0f                	jne    0x140021d81
140021d72:	48 3b fd             	cmp    %rbp,%rdi
140021d75:	0f 84 41 03 00 00    	je     0x1400220bc
140021d7b:	c6 07 30             	movb   $0x30,(%rdi)
140021d7e:	48 03 fb             	add    %rbx,%rdi
140021d81:	8b b4 24 a0 00 00 00 	mov    0xa0(%rsp),%esi
140021d88:	85 f6                	test   %esi,%esi
140021d8a:	74 0f                	je     0x140021d9b
140021d8c:	48 3b fd             	cmp    %rbp,%rdi
140021d8f:	0f 84 27 03 00 00    	je     0x1400220bc
140021d95:	c6 07 2e             	movb   $0x2e,(%rdi)
140021d98:	48 03 fb             	add    %rbx,%rdi
140021d9b:	45 85 f6             	test   %r14d,%r14d
140021d9e:	0f 89 fa 02 00 00    	jns    0x14002209e
140021da4:	0f ae e8             	lfence
140021da7:	83 a4 24 88 00 00 00 	andl   $0x0,0x88(%rsp)
140021dae:	00
140021daf:	4c 8d 1d 4a e2 fd ff 	lea    -0x21db6(%rip),%r11        # 0x140000000
140021db6:	41 8b c6             	mov    %r14d,%eax
140021db9:	45 33 ff             	xor    %r15d,%r15d
140021dbc:	99                   	cltd
140021dbd:	83 e2 0f             	and    $0xf,%edx
140021dc0:	03 c2                	add    %edx,%eax
140021dc2:	c1 f8 04             	sar    $0x4,%eax
140021dc5:	f7 d8                	neg    %eax
140021dc7:	4c 63 d0             	movslq %eax,%r10
140021dca:	b8 39 8e e3 38       	mov    $0x38e38e39,%eax
140021dcf:	f7 e6                	mul    %esi
140021dd1:	49 8b ca             	mov    %r10,%rcx
140021dd4:	44 89 54 24 24       	mov    %r10d,0x24(%rsp)
140021dd9:	47 0f b6 84 1a d0 fa 	movzbl 0x24fad0(%r10,%r11,1),%r8d
140021de0:	24 00
140021de2:	8b c2                	mov    %edx,%eax
140021de4:	d1 e8                	shr    $1,%eax
140021de6:	89 44 24 28          	mov    %eax,0x28(%rsp)
140021dea:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
140021def:	44 8d 48 01          	lea    0x1(%rax),%r9d
140021df3:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
140021df8:	45 3b c8             	cmp    %r8d,%r9d
140021dfb:	77 2a                	ja     0x140021e27
140021dfd:	48 8b c5             	mov    %rbp,%rax
140021e00:	48 2b c7             	sub    %rdi,%rax
140021e03:	48 3b c6             	cmp    %rsi,%rax
140021e06:	0f 8c b0 02 00 00    	jl     0x1400220bc
140021e0c:	85 f6                	test   %esi,%esi
140021e0e:	74 0f                	je     0x140021e1f
140021e10:	4c 8b c6             	mov    %rsi,%r8
140021e13:	41 8d 57 30          	lea    0x30(%r15),%edx
140021e17:	48 8b cf             	mov    %rdi,%rcx
140021e1a:	e8 e3 3b 1e 00       	call   0x140205a02
140021e1f:	48 03 fe             	add    %rsi,%rdi
140021e22:	e9 0b 02 00 00       	jmp    0x140022032
140021e27:	45 85 c0             	test   %r8d,%r8d
140021e2a:	74 61                	je     0x140021e8d
140021e2c:	0f ae e8             	lfence
140021e2f:	47 0f b6 bc 1a d0 fa 	movzbl 0x24fad0(%r10,%r11,1),%r15d
140021e36:	24 00
140021e38:	48 8b c5             	mov    %rbp,%rax
140021e3b:	48 2b c7             	sub    %rdi,%rax
140021e3e:	43 8d 14 ff          	lea    (%r15,%r15,8),%edx
140021e42:	8b ca                	mov    %edx,%ecx
140021e44:	48 89 8c 24 98 00 00 	mov    %rcx,0x98(%rsp)
140021e4b:	00
140021e4c:	48 3b c1             	cmp    %rcx,%rax
140021e4f:	0f 8c 67 02 00 00    	jl     0x1400220bc
140021e55:	85 d2                	test   %edx,%edx
140021e57:	74 29                	je     0x140021e82
140021e59:	44 8b c1             	mov    %ecx,%r8d
140021e5c:	ba 30 00 00 00       	mov    $0x30,%edx
140021e61:	48 8b cf             	mov    %rdi,%rcx
140021e64:	e8 99 3b 1e 00       	call   0x140205a02
140021e69:	48 8b 8c 24 98 00 00 	mov    0x98(%rsp),%rcx
140021e70:	00
140021e71:	4c 8d 1d 88 e1 fd ff 	lea    -0x21e78(%rip),%r11        # 0x140000000
140021e78:	44 8b 4c 24 20       	mov    0x20(%rsp),%r9d
140021e7d:	44 8b 54 24 24       	mov    0x24(%rsp),%r10d
140021e82:	48 03 f9             	add    %rcx,%rdi
140021e85:	45 8a c7             	mov    %r15b,%r8b
140021e88:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140021e8d:	45 3b f9             	cmp    %r9d,%r15d
140021e90:	0f 83 9c 01 00 00    	jae    0x140022032
140021e96:	41 0f b7 8c 4b 40 fa 	movzwl 0x24fa40(%r11,%rcx,2),%ecx
140021e9d:	24 00
140021e9f:	49 63 c2             	movslq %r10d,%rax
140021ea2:	41 0f b7 94 43 42 fa 	movzwl 0x24fa42(%r11,%rax,2),%edx
140021ea9:	24 00
140021eab:	41 0f b6 c0          	movzbl %r8b,%eax
140021eaf:	2b c8                	sub    %eax,%ecx
140021eb1:	89 54 24 2c          	mov    %edx,0x2c(%rsp)
140021eb5:	41 03 cf             	add    %r15d,%ecx
140021eb8:	48 8b c5             	mov    %rbp,%rax
140021ebb:	48 2b c7             	sub    %rdi,%rax
140021ebe:	89 8c 24 98 00 00 00 	mov    %ecx,0x98(%rsp)
140021ec5:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140021eca:	3b ca                	cmp    %edx,%ecx
140021ecc:	0f 83 31 01 00 00    	jae    0x140022003
140021ed2:	0f ae e8             	lfence
140021ed5:	48 8d 0c 49          	lea    (%rcx,%rcx,2),%rcx
140021ed9:	41 b8 08 00 00 00    	mov    $0x8,%r8d
140021edf:	48 8d 14 cd f0 2e 22 	lea    0x222ef0(,%rcx,8),%rdx
140021ee6:	00
140021ee7:	45 2b c2             	sub    %r10d,%r8d
140021eea:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
140021eef:	49 03 d3             	add    %r11,%rdx
140021ef2:	41 c1 e0 04          	shl    $0x4,%r8d
140021ef6:	45 2b c6             	sub    %r14d,%r8d
140021ef9:	48 c1 e1 08          	shl    $0x8,%rcx
140021efd:	e8 3e 02 00 00       	call   0x140022140
140021f02:	44 8b d0             	mov    %eax,%r10d
140021f05:	44 3b 7c 24 28       	cmp    0x28(%rsp),%r15d
140021f0a:	73 59                	jae    0x140021f65
140021f0c:	48 83 7c 24 30 09    	cmpq   $0x9,0x30(%rsp)
140021f12:	0f 8c a4 01 00 00    	jl     0x1400220bc
140021f18:	0f ae e8             	lfence
140021f1b:	48 8b d7             	mov    %rdi,%rdx
140021f1e:	8b c8                	mov    %eax,%ecx
140021f20:	e8 bb 1b 00 00       	call   0x140023ae0
140021f25:	8b 8c 24 98 00 00 00 	mov    0x98(%rsp),%ecx
140021f2c:	4c 8d 1d cd e0 fd ff 	lea    -0x21f33(%rip),%r11        # 0x140000000
140021f33:	8b 54 24 2c          	mov    0x2c(%rsp),%edx
140021f37:	b8 09 00 00 00       	mov    $0x9,%eax
140021f3c:	48 29 44 24 30       	sub    %rax,0x30(%rsp)
140021f41:	03 cb                	add    %ebx,%ecx
140021f43:	44 8b 54 24 24       	mov    0x24(%rsp),%r10d
140021f48:	48 03 f8             	add    %rax,%rdi
140021f4b:	44 03 fb             	add    %ebx,%r15d
140021f4e:	89 8c 24 98 00 00 00 	mov    %ecx,0x98(%rsp)
140021f55:	44 3b 7c 24 20       	cmp    0x20(%rsp),%r15d
140021f5a:	0f 82 6a ff ff ff    	jb     0x140021eca
140021f60:	e9 cd 00 00 00       	jmp    0x140022032
140021f65:	33 c9                	xor    %ecx,%ecx
140021f67:	43 8d 04 ff          	lea    (%r15,%r15,8),%eax
140021f6b:	44 8b ce             	mov    %esi,%r9d
140021f6e:	44 2b c8             	sub    %eax,%r9d
140021f71:	8d 41 09             	lea    0x9(%rcx),%eax
140021f74:	41 2b c1             	sub    %r9d,%eax
140021f77:	74 54                	je     0x140021fcd
140021f79:	44 8b c0             	mov    %eax,%r8d
140021f7c:	41 8b ca             	mov    %r10d,%ecx
140021f7f:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
140021f84:	41 f7 e2             	mul    %r10d
140021f87:	c1 ea 03             	shr    $0x3,%edx
140021f8a:	44 8b d2             	mov    %edx,%r10d
140021f8d:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
140021f90:	03 c0                	add    %eax,%eax
140021f92:	2b c8                	sub    %eax,%ecx
140021f94:	4c 2b c3             	sub    %rbx,%r8
140021f97:	75 e3                	jne    0x140021f7c
140021f99:	83 f9 05             	cmp    $0x5,%ecx
140021f9c:	75 2f                	jne    0x140021fcd
140021f9e:	41 f7 d6             	not    %r14d
140021fa1:	44 2b f6             	sub    %esi,%r14d
140021fa4:	45 85 f6             	test   %r14d,%r14d
140021fa7:	7e 1d                	jle    0x140021fc6
140021fa9:	41 83 fe 3c          	cmp    $0x3c,%r14d
140021fad:	7d 13                	jge    0x140021fc2
140021faf:	41 8b ce             	mov    %r14d,%ecx
140021fb2:	48 8b c3             	mov    %rbx,%rax
140021fb5:	48 d3 e0             	shl    %cl,%rax
140021fb8:	48 2b c3             	sub    %rbx,%rax
140021fbb:	48 85 44 24 38       	test   %rax,0x38(%rsp)
140021fc0:	74 04                	je     0x140021fc6
140021fc2:	8b f3                	mov    %ebx,%esi
140021fc4:	eb 10                	jmp    0x140021fd6
140021fc6:	be 02 00 00 00       	mov    $0x2,%esi
140021fcb:	eb 09                	jmp    0x140021fd6
140021fcd:	33 f6                	xor    %esi,%esi
140021fcf:	83 f9 05             	cmp    $0x5,%ecx
140021fd2:	40 0f 97 c6          	seta   %sil
140021fd6:	45 85 c9             	test   %r9d,%r9d
140021fd9:	74 5e                	je     0x140022039
140021fdb:	48 8b c5             	mov    %rbp,%rax
140021fde:	45 8b f1             	mov    %r9d,%r14d
140021fe1:	48 2b c7             	sub    %rdi,%rax
140021fe4:	49 3b c6             	cmp    %r14,%rax
140021fe7:	0f 8c cf 00 00 00    	jl     0x1400220bc
140021fed:	0f ae e8             	lfence
140021ff0:	4c 8b c7             	mov    %rdi,%r8
140021ff3:	41 8b d2             	mov    %r10d,%edx
140021ff6:	41 8b c9             	mov    %r9d,%ecx
140021ff9:	e8 06 02 00 00       	call   0x140022204
140021ffe:	49 03 fe             	add    %r14,%rdi
140022001:	eb 36                	jmp    0x140022039
140022003:	43 8d 04 ff          	lea    (%r15,%r15,8),%eax
140022007:	2b f0                	sub    %eax,%esi
140022009:	48 8b c5             	mov    %rbp,%rax
14002200c:	48 2b c7             	sub    %rdi,%rax
14002200f:	44 8b f6             	mov    %esi,%r14d
140022012:	49 3b c6             	cmp    %r14,%rax
140022015:	0f 8c a1 00 00 00    	jl     0x1400220bc
14002201b:	85 f6                	test   %esi,%esi
14002201d:	74 10                	je     0x14002202f
14002201f:	45 8b c6             	mov    %r14d,%r8d
140022022:	ba 30 00 00 00       	mov    $0x30,%edx
140022027:	48 8b cf             	mov    %rdi,%rcx
14002202a:	e8 d3 39 1e 00       	call   0x140205a02
14002202f:	49 03 fe             	add    %r14,%rdi
140022032:	8b b4 24 88 00 00 00 	mov    0x88(%rsp),%esi
140022039:	85 f6                	test   %esi,%esi
14002203b:	0f 84 26 fb ff ff    	je     0x140021b67
140022041:	4c 8b 44 24 40       	mov    0x40(%rsp),%r8
140022046:	48 8b c7             	mov    %rdi,%rax
140022049:	48 8b d5             	mov    %rbp,%rdx
14002204c:	49 3b f8             	cmp    %r8,%rdi
14002204f:	74 1e                	je     0x14002206f
140022051:	48 2b c3             	sub    %rbx,%rax
140022054:	8a 08                	mov    (%rax),%cl
140022056:	80 f9 2e             	cmp    $0x2e,%cl
140022059:	75 05                	jne    0x140022060
14002205b:	48 8b d0             	mov    %rax,%rdx
14002205e:	eb 0a                	jmp    0x14002206a
140022060:	80 f9 39             	cmp    $0x39,%cl
140022063:	75 24                	jne    0x140022089
140022065:	c6 00 30             	movb   $0x30,(%rax)
140022068:	8b f3                	mov    %ebx,%esi
14002206a:	49 3b c0             	cmp    %r8,%rax
14002206d:	75 e2                	jne    0x140022051
14002206f:	c6 00 31             	movb   $0x31,(%rax)
140022072:	48 3b d5             	cmp    %rbp,%rdx
140022075:	74 05                	je     0x14002207c
140022077:	66 c7 02 30 2e       	movw   $0x2e30,(%rdx)
14002207c:	48 3b fd             	cmp    %rbp,%rdi
14002207f:	74 3b                	je     0x1400220bc
140022081:	c6 07 30             	movb   $0x30,(%rdi)
140022084:	e9 db fa ff ff       	jmp    0x140021b64
140022089:	3b f3                	cmp    %ebx,%esi
14002208b:	74 08                	je     0x140022095
14002208d:	84 cb                	test   %cl,%bl
14002208f:	0f 84 d2 fa ff ff    	je     0x140021b67
140022095:	02 cb                	add    %bl,%cl
140022097:	88 08                	mov    %cl,(%rax)
140022099:	e9 c9 fa ff ff       	jmp    0x140021b67
14002209e:	48 8b c5             	mov    %rbp,%rax
1400220a1:	48 8b de             	mov    %rsi,%rbx
1400220a4:	48 2b c7             	sub    %rdi,%rax
1400220a7:	48 3b c6             	cmp    %rsi,%rax
1400220aa:	7c 10                	jl     0x1400220bc
1400220ac:	85 f6                	test   %esi,%esi
1400220ae:	0f 84 b0 fa ff ff    	je     0x140021b64
1400220b4:	4c 8b c3             	mov    %rbx,%r8
1400220b7:	e9 9b fa ff ff       	jmp    0x140021b57
1400220bc:	49 89 2c 24          	mov    %rbp,(%r12)
1400220c0:	41 c7 44 24 08 84 00 	movl   $0x84,0x8(%r12)
1400220c7:	00 00
1400220c9:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
1400220ce:	49 8b c4             	mov    %r12,%rax
1400220d1:	49 8b 5b 30          	mov    0x30(%r11),%rbx
1400220d5:	49 8b 6b 40          	mov    0x40(%r11),%rbp
1400220d9:	49 8b e3             	mov    %r11,%rsp
1400220dc:	41 5f                	pop    %r15
1400220de:	41 5e                	pop    %r14
1400220e0:	41 5c                	pop    %r12
1400220e2:	5f                   	pop    %rdi
1400220e3:	5e                   	pop    %rsi
1400220e4:	c3                   	ret
1400220e5:	90                   	nop
1400220e6:	90                   	nop
1400220e7:	90                   	nop
1400220e8:	40 53                	rex push %rbx
1400220ea:	48 83 ec 40          	sub    $0x40,%rsp
1400220ee:	8b 44 24 70          	mov    0x70(%rsp),%eax
1400220f2:	48 8b d9             	mov    %rcx,%rbx
1400220f5:	85 c0                	test   %eax,%eax
1400220f7:	79 07                	jns    0x140022100
1400220f9:	b8 06 00 00 00       	mov    $0x6,%eax
1400220fe:	eb 07                	jmp    0x140022107
140022100:	3d 00 ca 9a 3b       	cmp    $0x3b9aca00,%eax
140022105:	7d 25                	jge    0x14002212c
140022107:	f3 0f 5a db          	cvtss2sd %xmm3,%xmm3
14002210b:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140022110:	89 44 24 20          	mov    %eax,0x20(%rsp)
140022114:	e8 cb f9 ff ff       	call   0x140021ae4
140022119:	48 8b 08             	mov    (%rax),%rcx
14002211c:	48 89 0b             	mov    %rcx,(%rbx)
14002211f:	8b 40 08             	mov    0x8(%rax),%eax
140022122:	89 43 08             	mov    %eax,0x8(%rbx)
140022125:	33 c0                	xor    %eax,%eax
140022127:	89 43 0c             	mov    %eax,0xc(%rbx)
14002212a:	eb 0b                	jmp    0x140022137
14002212c:	4c 89 01             	mov    %r8,(%rcx)
14002212f:	48 c7 41 08 84 00 00 	movq   $0x84,0x8(%rcx)
140022136:	00
140022137:	48 8b c3             	mov    %rbx,%rax
14002213a:	48 83 c4 40          	add    $0x40,%rsp
14002213e:	5b                   	pop    %rbx
14002213f:	c3                   	ret
140022140:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140022145:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14002214a:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14002214f:	48 8b 02             	mov    (%rdx),%rax
140022152:	4c 8b da             	mov    %rdx,%r11
140022155:	48 f7 e1             	mul    %rcx
140022158:	49 8b 43 08          	mov    0x8(%r11),%rax